Projets
Pages enfant
  • 1.6 Organisation des fichiers

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.

...

Sommaire :

Sommaire
maxLevel3

...

Arborescence développeur

le fonctionnement de MAVEN impose une architecture particulière : il n'y a que deux répertoires.

  • /src/ : répertoire de travail. Sous src, nous allons voir deux répertoires : main et test.
    • le répertoire main correspond au code et aux fichiers qui seront déployés.
    • le répertoire test correspond aux test unitaires 
  • /target/ : répertoire de travail de MAVEN (ne pas utiliser).

    Liste des répertoires présents dans /src/main/ :
    java : toutes les sources JAVA du projet (cible coté exploitant : monApplication/WEB-INF/classes/)
    resources : contient tous les fichier de propriétés (cible coté exploitant : monApplication/WEB-INF/classes/)
    webapp : Le répertoire d'application web du projets WAR monApplication.

    Liste des répertoires présents dans /src/test/ :

    java : les test unitaires, qui ne seront pas déployées.
    resources : les ressources nécessaires aux tests unitaires, qui ne seront pas déployées.

    Info

    il n'y a pas de repertoire lib pour déposer les librairies nécessaires au projet. Ces librairies seront à déclarer dans le fichier pom.xml pour que ce soit MAVEN qui gère la dépendance

 

 

Arborescence exploitant

l'arborescence du produit déployé par l'exploitant est obtenue en décompressant un fichier WAR.

Elle correspond donc à la norme J2EE.

Remarque

Les chemins spécifiques à chaque type d'utilisateurs ont été décrits ci-dessus, nous allons maintenant voir les les arborescences communes. Les répertoires seront présentés avec des chemins relatifs. Les chemins sont a adapter en fonction du contexte de l'utilisateur : exploitant ou développeur.

Le répertoire properties : les fichiers de configuration

Astuce

Afin de centraliser la configuration une bonne pratique consiste à utiliser un fichier de configuration centralisant les paramètres de l'application. Ceci évite notamment de devoir modifier n fichiers différents.
Les paramètres seront définis dans le fichier default.properties et pourront être surchargé dans le fichier config.properties.
Les exploitants ont ainsi un seul fichier de configuration à gérer. Et la gestion des fichiers de propriétés décrits ci-dessous est alors à la charge du développeur.

...

Le fichier de configuration Spring converters.xml définit les convertisseurs de l'application, qui convertissent des objets en chaînes (vice-versa) lors des interactions utilisateur.

Le répertoire webapp : l'application web et ses bibliothèques

webapp/media : les fichiers statiques

On trouvera dans ce répertoire tous les fichiers délivrés de manière statique par l'application web aux clients :

...

L'intérêt de ce regroupement est de pouvoir shunter Tomcat par un frontal Apache, plus efficace pour le délivrement de ressources statiques.

/webapp/META-INF : le manifest

Le fichier /webapp/META-INF/MANIFEST.MF est produit automatiquement par MAVEN

/webapp/stylesheets : les pages JSF

Toutes les pages JSF doivent être situées à cet endroit pour pouvoir être protégées d'un accès direct de manière globale.

/webapp/WEB-INF : la configuration de l'application web

Le fichier portlet-example.xml indique à Pluto comment configurer la portlet, il n'est utilisé qu'en mode portlet. Il doit être copié en portlet.xml.

Les fichiers web-portlet-example.xml (resp. web-servlet-example.xml) est un exemple de configuration du contexte Tomcat associé à l'application. En mode portlet (resp. servlet), il doit être copié en web.xml.

/webapp/WEB-INF/jsf : les composants facelets

Tous les composants facelets utilisés dans le projet doivent se trouver dans ce répertoire.

/webapp/WEB-INF/lib : les bibliothèques de l'application

Même les applications en mode batch seulement doivent utiliser /webapp/WEB-INF/lib pour déposer leurs bibliothèques, même si dans ce cas le nommage n'est pas très approprié. C'est MAVEN qui se charge de créer et remplir ce répertoire.