# Architecture des projets Veremes Il y a trois grand groupes utilisés à Veremes, qui permettent de versionner et donner les droits sur l'ensemble des projets. ![veremes_groups](images/veremes_groups.jpg) ## 1. Projet Ce groupe encadré par Jordi, Yoann et Armand permet de versionner les différents projets faits pour des clients et où il n'y a pas de développement (ex : projets FME, SQL). Chaque client est représenté par un sous-groupe qui contiendra les différents dépôts, lorsque vous aurez besoin d'un espace pour stoker des fichiers pour un projet en particulier il faudra demander à Jordi, Yoann ou Armand de créer le dépôt correspondant. ![project_group](images/project_group.jpg) ## 2. Development Le groupe dévelopment est scindé en deux sous-groupes **vitis_apps** et **products**. ![development_group](images/development_group.jpg) ### 2.1. products Ce sous-groupe contient les différents développements faits pour des logiciels autres que Vitis. ### 2.2. vitis_apps Vitis_apps est un ensemble de sous-groupes permettant de versionner tout ce qui touche aux applications Vitis allant des modules aux spécifications. ![development_group2](images/development_group2.jpg) #### 2.2.1. Sources Dans ce sous-groupe on retrouve l'ensemble des modules ainsi que Vitis, ces sources sont directement contenues dans les applications sous formes de subtrees, pour les modifier il faudra passer par les applications et **il ne faudra pas travailler directement sur les modules** mis à part pour créer ou merger des branches. #### 2.2.2. Applications Ici on retrouve l'ensemble des applications Vitis **sur lesquelles il faudra travailler**, chaque application est dirigée par un chef de produit qui validera les différentes issues et merge-requests. Chaque application contient une copie de chacun de ses modules sous la forme de subtrees, une documentation détaillée sur le fonctionnement de ces applications est disponible [ici](applications_vitis.html). #### 2.2.3. Integration Contient tout ce qui touche à l'intération continue : tests, génération de setups etc... #### 2.2.4. Specs On y retrouvera les spécifications des différentes applications. #### 2.2.5. Util Nous retrouverons dans les sous-groupe les utilitaires liés à Vitis pour compiler PHP, lancer les websockets etc... ## 3. Documentation Ce groupe est encadré par Armand et Marot contient l'ensemble des documentations des applications. ![documentation_group](images/documentation_group.jpg) On y retrouve deux types de depôts : ### 3.1. Modules Les dépôts de documentation des modules utiliés par les applications et se nomment doc_module_[nom du module] ### 3.2. Applications Se nomment doc_module_[nom du module] ces dépôts contiennent à l'aide de *submodules* des copies à l'instant T des modules qu'ils contiennent. Un même module peut être utilisé par plusieurs applications comme c'est le cas pour doc_module_vitis ### 3.3. Synchronisation Des web hooks ont étés mis en place pour qu'à chaque fois qu'un module est modifié, alors toutes les applications qui le contiennent mettent à jour leurs *submodules*. Une documentation à été rédigée à ce sujet [ici](automaj_doc/automaj_doc.html)