Prérequis
Avoir un compte github
Dans la suite document le compte utilisé est raymondBourges. Il convient d'adapter l'exemple avec votre propre compte.
- Avoir enregistré sa clé SSH (Cf. aide github sur le sujet)
Avoir un IDE java avec des plugin pour GIT et Maven
Dans la suite document eclipse et les plugins EGit et m2e sont utilisés
Forker le projet sur github
Il faut avoir créer un compte sur GitHub et s'y connecter. Dans la suite document le compte utilisé est raymondBourges. Il convient d'adapter l'exemple avec votre propre compte.
Aller sur la page du projet
Faire le fork
Interlude github :
Vous disposez maintenant de votre copie du projet :
Travailler avec le projet
Télécharger le projet sur votre poste de travail
Github vous permet de copier l'URL à utiliser :
Cloner le projet sur votre poste de travail :
Ici on utilise la commande git en ligne de commande mais d'autres solutions sont possible (plugin egit eclipse par exemple)
cd /tmp git clone git@github.com:raymondBourges/esup-opi.git
Importer le projet dans eclipse
File > Import... :
Interlude eclipse :
Personnaliser votre configuration
Pour plus d'information sur le contenu du fichier de configuration cf. 3. Configuration de eCandidat
En tant que développeur vous avez besoin de configurer l'application notamment pour préciser les paramètres liés à la base de données, l'authentification CAS, les URL des fichier WSDL des Web Services.
la localisation du fichier de configuration est fonction de la variable d'environnement config.location (Cf. esup-opi-web-jsf-servlet/src/main/resources/properties/applicationContext.xml). Cette variable d'environnement sera à positionner lors des appels maven.
En ligne de commande. Ex :
export configFile=/path/to/configs/esup-opi/config.properties
mvn -Dconfig.location=$configFile jetty:run
Dans eclipse. Ex :
Ne versionner pas votre fichier de configuration spécifique au risque de commiter des informations sensibles sur le gestionnaire de versions.
Utiliser un répertoire hors de l'espace de travail git pour ce fichier de configuration pour éviter tout risque de mise sous gestionnaire de versions.
Opérations complémentaires
Pour la base de données
Pour la base de données une source JNDI est utilisée. La source JNDI est définie au niveau du serveur d'applications. Dans le cadre du développement, maven est utilisé et c'est le plugin jetty qui fait office de serveur. Il faut donc définir la source JNDI dans un fichier de configuration du serveur d'pplication jetty.
Un fichier d'exemple (utilisé par défaut) est fourni : esup-opi-web-jsf-servlet/src/main/jetty/jetty-env.xml
Si vous souhaitez utiliser une base existante ou spécifique alors il faut créer votre propre fichier de configuration avec les paramètres de connexion à cette base.
la localisation du fichier de configuration est fonction de la variable d'environnement jetty.envXml. Cette variable d'environnement sera à positionner lors des appels maven.
Ne pas modifier le fichier fourni par défaut au risque de commiter des informations sensibles sur le gestionnaire de versions.
Pour les mêmes raisons ne versionner pas votre fichier de configuration spécifique.
Utiliser un répertoire hors de l'espace de travail git pour ce fichier de configuration pour éviter tout risque de mise sous gestionnaire de versions.
Pour le Web Services
ESUP-OPI utilise des Web Services. Il utilise un plugin maven pour générer automatiquement du code à partir des fichiers WSDL décrivant ces Web Services. Il faut donc configurer eclipse pour utiliser le code généré :
Demander à eclipse de rafraîchir les projets maven (Alt + F5) :