Documents:Personnalisation graphique CAS V3
Un article de Wiki ESCO-Portail.
Nous prendrons l'exemple du site netocentre, développé pour les lycées de la Région Centre. L'arborescence à mettre dans le répertoire custom de CAS est de la forme suivante :
webpages/
|-- WEB-INF
| |-- classes
| | |-- messages_fr.properties
| | |-- netocentre.properties
| | `-- netocentre_views.properties
| `-- view
| `-- jsp
| `-- netocentre
| `-- ui
| |-- casLoginView.jsp
| `-- includes
| |-- bottom.jsp
| `-- top.jsp
`-- themes
`-- netocentre
|-- cas.css
`-- images
|-- connexion-bottom.jpg
|-- connexion-bouton.jpg
|-- connexion-center.jpg
|-- connexion-top.jpg
|-- education-nationale.gif
|-- esco.gif
|-- esup.gif
|-- europe.gif
|-- footer-bg.gif
|-- ja-sig-logo.gif
|-- mainlogo.gif
|-- region-centre.gif
`-- republique-francaise.gifLes jsp sont définies dans l'arborescence custom/webpages/WEBAPPS/view/jsp . La css et les images sont placées dans le répertoire custom/webpages/themes .
Pour le déploiement du nouvel ensemble graphique il convient de définir les fichiers {nom_skin}.properties et {nom_skin}_views.properties, à partir de ceux de base, et de les placer dans le répertoire custom/webpages/WEB-INF/classes . Le fichier messages_fr.properties permet de redéfinir les libellés à afficher lors de l'utilisation de CAS.
Exemple de netocentre pour le fichier {nom_skin}.properties :
css=themes/netocentre/cas.css
Il redédinit l'emplacement de la css utilisée pour le graphique développé.
Exemple de netocentre pour le fichier {nom_skin}_views.properties :
### Login view (/login) casLoginView.(class)=org.springframework.web.servlet.view.JstlView casLoginView.url=/WEB-INF/view/jsp/netocentre/ui/casLoginView.jsp ### Login confirmation view (logged in, warn=true) casLoginConfirmView.(class)=org.springframework.web.servlet.view.JstlView casLoginConfirmView.url=/WEB-INF/view/jsp/default/ui/casConfirmView.jsp ### Logged-in view (logged in, no service provided) casLoginGenericSuccessView.(class)=org.springframework.web.servlet.view.JstlView casLoginGenericSuccessView.url=/WEB-INF/view/jsp/default/ui/casGenericSuccess.jsp ### Logout view (/logout) casLogoutView.(class)=org.springframework.web.servlet.view.JstlView casLogoutView.url=/WEB-INF/view/jsp/default/ui/casLogoutView.jsp ### CAS error view serviceErrorView.(class)=org.springframework.web.servlet.view.JstlView serviceErrorView.url=/WEB-INF/view/jsp/default/ui/serviceErrorView.jsp viewServiceErrorView.(class)=org.springframework.web.servlet.view.JstlView viewServiceErrorView.url=/WEB-INF/view/jsp/default/ui/serviceErrorView.jsp viewServiceSsoErrorView.(class)=org.springframework.web.servlet.view.JstlView viewServiceSsoErrorView.url=/WEB-INF/view/jsp/default/ui/serviceErrorSsoView.jsp ### Services Management Views addServiceView.(class)=org.springframework.web.servlet.view.JstlView addServiceView.url=/WEB-INF/view/jsp/services/add.jsp editServiceView.(class)=org.springframework.web.servlet.view.JstlView editServiceView.url=/WEB-INF/view/jsp/services/add.jsp manageServiceView.(class)=org.springframework.web.servlet.view.JstlView manageServiceView.url=/WEB-INF/view/jsp/services/manage.jsp serviceLogoutView.(class)=org.springframework.web.servlet.view.JstlView serviceLogoutView.url=/WEB-INF/view/jsp/services/logout.jsp
Nous voyons que seule la ligne :
casLoginView.url=/WEB-INF/view/jsp/netocentre/ui/casLoginView.jsp
a été modifiée dans cet exemple. Les autres éléments (écran de réussite de connexion par exemple) resteront ceux par défaut de CAS. Si ces éléments devaient être modifiés, il suffirait de placer les fichiers modifiés dans l'arborescence custom/webpages et de les déclarer dans ce fichier.
Pour mettre en œuvre un graphique personnalisé, il faut ensuite le déclarer dans le fichier config.properties de CAS. Par exemple :
# graphic theme theme=netocentre views=netocentre

