Arborescence des pages

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
Commentaire: Migrated to Confluence 5.3

Sommaire

Prérequis

  • Avoir un compte github 

    Remarque

    Dans la suite du 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 plugins pour GIT et Maven

    Remarque

    Dans la suite du document eclipse et les plugins EGit et m2e sont utilisés.

Forker le projet sur github

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 :

Remarque

Ici on utilise git en ligne de commande mais d'autres solutions sont possible (plugin EGit eclipse par exemple)

Bloc de code
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 description WSDL des Web Services.

Remarque

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 :

Avertissement

Ne versionnez 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 stocker 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 d'applications. Il faut donc définir la source JNDI dans un fichier de configuration du serveur d’applications 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.

Remarque

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.

Avertissement

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 stocker 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) :

Tester le projet

Pas besoin d'installer un serveur d'applications, maven s'occupe de tout.

On configure un run dans eclipse :

Puis :

Lancer votre navigateur pour accéder à http://localhost:8080/

Faire une contribution

Coder

Correction d'un bug, ajout de fonctionnalités, etc. A vous de jouer !

Exemple idiot :

Commiter

Puis :

Pousser

Votre commit est maintenant visible sur GitHub :

Proposer

Proposer votre contribution à ESUP sous la forme d'un Pull Request :

Puis :

Enfin :

Les développeurs du projet n'auront qu'un clic à faire pour intégrer la contribution.