Installer
Que vous faut-il ?
De la nécessité du serveur d'applications JAVA
Conges est une application JAVA faite de JSP / SERVLET selon la norme J2EE. Elle est compatible à partir de JAVA 6 et plus.
Vous avez surtout besoin d'un serveur d'applications JAVA sur lequel la faire tourner, les plus connus sont :
Si vous n'en avez pas déjà un, installez votre serveur d'application (je vous laisse suivre les très bonnes documentations de chacun d'eux).
Déployer
Votre serveur est prêt? Parfait !
- Maintenant, vous pouvez télécharger la dernière version de "Congés" et la déployer dans votre serveur d'application.
- L'application se présente sous la forme d'un WAR qu'il suffit de déployer sous TOMCAT, WebSphere ou JBOSS.
- Je vous conseille d'ailleurs de renommer le fichier WAR que vous avez téléchargé sous la forme de conges-x.y.z.war en conges.war c'est plus simple sous tomcat notamment.
- Lancez le serveur et testez !
Paramétrage initial
Un petit résumé des techniques utilisées
- Basé sur JSP/Servlet/Struts
- Stockage des données sous format XML
- Parcours du XML avec JXPath
- Gestion de la concurrence d'accès aux fichiers
- Tous les fichiers XML sont stockés sous WEB-INF/data : plus simple à sauvegarder.
- sous WEB-INF/data vous DEVEZ décompresser le fichier suivant XML.zip car il contient :
- le fichier accessdata.xml (voir ci-dessous)
- le répertoire templates contenant les modèles freemarker pour les courriels (voir partie Personnalisation)
- le fichier country.txt qui contient tous les pays
- le fichier FR.xml qui contient tous les jours fériés en FRANCE de 2000 à 2020
- le fichier paramPays.xml qui contient le pays par défaut (FRANCE) pour tous les employés
- le fichier users.xml qui contient les codes utilisateur et confidentiel de l'admin de l'application (par défaut admin/admin mais vous devez changer le code confidentiel impérativement)
- Depuis la version 1.7.0 stockage dans une base de données
- Utilisation de la bibliothèque sql2o (qui nécessite JAVA 6 minimum) pour l'accès à la base de données
- Sql2o a été testée avec les drivers JDBC suivants : PostgreSQL, MySQL, Oracle, MS Sql Server, IBM DB2, H2 et HyperSQL.
- La structure de la base de données (dont voici le dump MySQL conges.sql) est la suivante :

-
- Les données minimales à insérer en base sont fournies dans le fichier data_conges.sql, ce fichier inclut :
- le user admin
- les jours fériés en France de 2000 à 2050
- Le pays (FRANCE) par défaut
- Des paramètres par défaut : mode maintenance off, double validation on, seul l'admin peut créer/modifier un utilisateur, un utilisateur ne peut être supprimé par défaut mais désactivé/suspendu
- La liste de 246 pays en français
- La périodicité 'none' (aucune)
- Les équipes par défaut 'ADMIN' (uniquement pour l'admin), 'all' (Toutes) et 'none' (Aucune)
- Les jours de la semaine (du Lundi au Dimanche dans l'ordre) en français
- sous WEB-INF/data vous DEVEZ décompresser le fichier suivant XML_DB.zip car il contient :
- le fichier accessdata.xml (voir ci-dessous)
- le répertoire templates contenant les modèles freemarker pour les courriels (voir partie Personnalisation)
- Depuis la v1.5.6, un fichier accessdata.xml se trouvant sous WEB-INF/data a été ajouté.
Ce fichier permet de choisir de stocker les données soit en XML (XML) ou dans une base de données (DB)
- Si le fichier n'existe pas ou s'il est vide ou si <ad>XML</ad> alors c'est un stockage dans des fichiers XML (comme actuellement) par défaut.
- si <ad>DB</ad> alors il faut aussi renseigner les autres champs :
- <dbserver></dbserver> si ad = DB alors il faut indiquer ici le nom du serveur de la base de données, son adresse IP, ou localhost par exemple
- <dbport></dbport> si ad = DB alors il faut indiquer ici le port de la base de données
- <dburl></dburl> si ad = DB alors il faut indiquer ici le debut de l'url du driver de la base de données : jdbc:mysql, jdbc:postgresql ou jdbc:microsoft:sqlserver, ... cf. liste jdbc drivers
- <dbname></dbname> si ad = DB alors il faut indiquer ici le nom de votre base de données : exemple conges, test, ...
- <dblogin></dblogin> si ad = DB alors il faut indiquer ici le login d accès à votre base de données
- <dbpassword></dbpassword> si ad = DB alors il faut indiquer ici le login d accès à votre base de données
depuis la version 1.7.0 le stockage peut se faire aussi dans une base de données
Personnalisation
Vous pouvez personnaliser l'application à vos couleurs
- en modifiant évidemment le fichier theme/Master.css
- Le logo présent dans images/logo.gif ou logo.png ou logo.jpg peut être remplacé par le logo de votre société. Pour cela dans le répertoire images de l'application déployée, remplacer le fichier logo.gif/png/jpg (image de taille 200 x 80 maximum) par celui de votre entreprise : le fichier image doit s'appeler logo.gif ou logo.png ou logo.jpg
- Le récapitulatif d'une demande d'absence est présenté dans une popup qui s'ouvre à la validation d'une demande. il suffit alors de l'imprimer et de le faire signer. Si le design de cette page ne convient pas, il suffit de modifier la jsp edition.jsp pour que cela corresponde à vos besoins.
- Le texte de toute l'application se trouve dans les fichiers ApplicationResources_fr.properties (texte en français) et ApplicationResources.properties (texte en anglais)
- Les courriels sont produits à partir de modèles faits avec FreeMarker que vous pouvez modifier à votre guise, ils sont présents dans WEB-INF/data/templates.
Les variables disponibles sont :
- ${nom} : le nom de l'utilisateur qui a demandé l'absence
- ${prenom} : le prénom de l'utilisateur qui a demandé l'absence
- ${reason} : la raison de l'absence
- ${date_debut} : la date de début de l'absence
- ${date_fin} : la date de fin de l'absence
- ${type_demande} : le type de demande : la valeur est C (pour création) ou M (pour modification) ou D (pour suppression)
- ${url} : l'URL de l'application congés
- Et enfin la personnalisation ultime : vous pouvez modifier l'ensemble de l'application puisque les sources vous sont fournies via Sourceforge Git!
Support
Des problèmes d'installation ou de personnalisation ?