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.

../_images/veremes_groups.jpgveremes_groups

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.

../_images/project_group.jpgproject_group

2. Development

Le groupe dévelopment est scindé en deux sous-groupes vitis_apps et products.

../_images/development_group.jpgdevelopment_group

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.

../_images/development_group2.jpgdevelopment_group2

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.

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.

../_images/documentation_group.jpgdocumentation_group

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