meta données pour cette page
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| certif:procedure:develop:gestionversion [2026/08/01 18:17] – [Changement de version et actions à faire] nicolas | certif:procedure:develop:gestionversion [2026/08/11 17:43] (Version actuelle) – nicolas | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| |{{: | |{{: | ||
| - | |{{: | + | |{{: |
| - | + | ====== Procédure de Gestion | |
| - | ====== Procédure de gestion | + | |
| ===== Informations qualité ===== | ===== Informations qualité ===== | ||
| - | |**Suivi des modifications majeures** |5 mars 2015 - Nicolas Marchand - Création du document \\ 1 décembre 2015 - Nicolas Marchand - Modification par rapport aux tests à passer suivant le niveau des mises à jour \\ 14 décembre 2015 - Guillaume Natali - Modification des règles de numérotation\\ 02 aout 2017 - Nicolas Marchand - Portage sur DoKuWiKi & Evolutions\\ 28 août 2020 - Nicolas Marchand - Evolution raisons changement de version\\ Janvier 2026 - Nicolas Marchand - Refonte | + | |**Suivi des modifications majeures** |5 mars 2015 - Nicolas Marchand - Création du document \\ 1 décembre 2015 - Nicolas Marchand - Modification par rapport aux tests à passer suivant le niveau des mises à jour \\ 14 décembre 2015 - Guillaume Natali - Modification des règles de numérotation\\ 02 aout 2017 - Nicolas Marchand - Portage sur DoKuWiKi & Evolutions\\ 28 août 2020 - Nicolas Marchand - Evolution raisons changement de version\\ Janvier 2026 - Nicolas Marchand - Refonte suite à l' |
| - | |**Suivi des approbations** |[[https:// | + | |**Suivi des approbations** |Ce document correspond à l' |
| - | |**Objet** |L' | + | |**Objet** |Définir |
| |**Destinataires** |**- Validation des modifications : ** Gérant \\ **- Approbation du document** : Equipe dev & Equipe Ass| | |**Destinataires** |**- Validation des modifications : ** Gérant \\ **- Approbation du document** : Equipe dev & Equipe Ass| | ||
| \\ | \\ | ||
| + | ===== Objectif du Versionnage ===== | ||
| + | |||
| + | Le versionnage constitue le mécanisme qui consiste à conserver la version d'une entité logicielle quelconque, de façon à pouvoir la retrouver facilement. | ||
| + | |||
| + | ===== Système de Numérotation ===== | ||
| + | |||
| + | Une version LoGeAs représente un état donné d'un produit fourni aux clients. Le numéro comporte 3 chiffres pour une version publiée, 4 pendant sa phase de test beta — ex. '' | ||
| + | |||
| + | ^ Segment ^ Nom ^ Description ^ | ||
| + | | 1er | Majeur (X) | Numéro « marketing » et technique ; migration technologique majeure | | ||
| + | | 2e | Mineur (Y) | Nouvelles fonctionnalités ou changements de structure de base de données, changement de réglementation, | ||
| + | | 3e | Release (Z) | Change à chaque publication du logiciel (obligatoire) ; ne réutilise jamais un numéro déjà publié | | ||
| + | | 4e | Build (W) | Uniquement pendant une phase beta : numéro d' | ||
| + | |||
| + | ==== Règles fondamentales ==== | ||
| + | |||
| + | - **Immuabilité** : une version publiée ne peut jamais être modifiée ; toute correction, même mineure, nécessite une nouvelle version. | ||
| + | - **Cascade** : quand le Majeur change, Mineur/ | ||
| + | |||
| + | ==== Signalement d'une version beta (X.Y.Z.W) ==== | ||
| + | |||
| + | Une version en cours de test beta porte directement le numéro **X.Y.Z que cette beta vise à publier**, suivi d'un 4ᵉ chiffre **W** qui numérote les itérations successives de cette beta (1, 2, 3…), remis à 1 à chaque nouveau cycle. | ||
| + | |||
| + | **Exemple concret :** | ||
| + | * Dernière version publiée : '' | ||
| + | * Un correctif est en préparation, | ||
| + | * Une fois validée, la beta '' | ||
| + | * Une évolution plus importante (nouvelles fonctionnalités) viserait '' | ||
| + | |||
| + | **Pourquoi ce mécanisme plutôt que l' | ||
| + | |||
| + | ==== Critères de Changement de Version ==== | ||
| + | |||
| + | **Majeur (X)** : évolutions substantielles ou migrations technologiques (ex. changement de base de données). | ||
| + | |||
| + | **Mineur (Y)** : nouvelles fonctionnalités, | ||
| + | |||
| + | **Release (Z)** : à chaque publication du logiciel (publication obligatoire) — correctifs, corrections de bugs, ajustements sans changement fonctionnel structurant. | ||
| + | |||
| + | **Build (W)** : uniquement pendant une phase beta, itération de test au sein d'un même cycle. | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== La Galaxie LoGeAs ===== | ||
| + | |||
| + | Le système LoGeAs s' | ||
| + | |||
| + | ==== Serveurs ==== | ||
| + | * **LogeasWeb** — exécutable Windows (Delphi) donnant accès aux bases clients | ||
| + | * **PGI** — serveur gérant la base de données utilisateurs (Delphi) | ||
| + | * **Nono** — serveur annexe gérant les bases anonymisées (Lazarus) | ||
| + | |||
| + | ==== Interfaces ==== | ||
| + | * **LoGeAs (client lourd)** — interface historique, en cours de portage vers Angular (Delphi) | ||
| + | * **LoGeAs.fr (client full-web)** — interface utilisateur remplaçante, | ||
| + | * **Test.LoGeAs.fr** — interface de test (Angular) | ||
| + | * **Assistance** — interface pour l' | ||
| + | * **Cartographie fonctionnelle** — interface de gestion qualité/ | ||
| + | * **Stat-Union** — interface clients EPUdF pour consolidation comptable | ||
| + | |||
| + | ==== Principes de gestion ==== | ||
| + | * Chaque sous-ensemble possède son propre numéro de version et son propre rythme de publication. | ||
| + | * Les chiffres Majeur et Mineur sont, en pratique, communs à la plupart des composants (alignés historiquement sur la même ligne 11.x), à l' | ||
| + | * Git gère les numéros de version de chaque composant indépendamment ; aucune synchronisation automatique n'est imposée entre dépôts. | ||
| + | |||
| + | ===== Version Globale ===== | ||
| + | |||
| + | Une version « globale » synthétise l' | ||
| + | |||
| + | * **Majeur** : aligné sur le numéro Majeur le plus élevé parmi les sous-composants ; s'il est incrémenté, | ||
| + | * **Mineur** : aligné sur le numéro Mineur le plus élevé parmi les sous-composants ; s'il est incrémenté, | ||
| + | * **Release** : incrémenté à chaque modification d'un sous-composant, | ||
| + | * **Build** : non utilisé actuellement. | ||
| + | |||
| + | **Note pratique :** en l' | ||
| + | |||
| + | |||
| + | |||
| + | ===== Processus de mise en ligne d'une version ===== | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Le processus est commun aux 3 niveaux de version (Majeure, Mineure, Release) — seules la portée des tests et de la documentation varient selon le niveau : | ||
| + | |||
| + | - **Développement et intégration** : travail sur branche personnelle (poste développeur, | ||
| + | - **Tests** : portée selon le niveau (fonctionnalités impactées pour une Release, campagne complète pour une Majeure/ | ||
| + | - **Documentation** : évolution et archivage de la documentation technique (et utilisateur si Majeure/ | ||
| + | - **Tag Git = numéro de version** : l' | ||
| + | - **Mise en ligne** : déploiement sur les serveurs applicatifs, | ||
| + | - **Communication** : publication du changelog (à partir de l' | ||
| + | |||
| + | Une fois publiée, une version n'est jamais modifiée : toute évolution repart sur une nouvelle branche / un nouveau numéro de version. | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Intégration du code (dépôt Git) ===== | ||
| + | |||
| + | Cette section fusionne l' | ||
| + | |||
| + | - **Travail sur branche personnelle** : chacun développe sur sa propre branche, créée depuis la branche de version en cours (ex. '' | ||
| + | - **Sauvegarde régulière** : commit et push de la branche personnelle au fil de l'eau, sans vérification imposée à ce stade (procédure manuelle). | ||
| + | - **Intégration = validation** : la validation d'une fonction se fait au moment de son intégration dans la branche de version courante, via la procédure outillée ''/ | ||
| + | * met à jour la branche de version depuis le dépôt distant | ||
| + | * fusionne la branche personnelle avec un commit de fusion portant le log complet des commits intégrés | ||
| + | * vérifie compilation, | ||
| + | * publie le résultat vers le dépôt distant | ||
| + | |||
| + | Une version rassemble l' | ||
| - | ===== Objectif du versionnage ===== | + | ---- |
| - | Selon le [[http:// | + | ===== Gestion des tags Git ===== |
| - | ===== Définition | + | ==== Format |
| - | Pour LoGeAs, une **version du logiciel** correspond à un état donné de l'évolution du produit mis à disposition des clients à jour de leur contrat. Contrairement à certains éditeurs qui différencient le numéro de version de développement de celui de commercialisation | + | |
| + | | ||
| - | La numérotation utilisée est une série | + | Ce format s' |
| - | |**11**|**Majeur**|Logeas Informatique considère le numéro " | + | Dans tous les cas, l'empreinte |
| - | |**0**|**Mineur**|Le numéro de version « Mineure » est changé quand la version met en place de nouvelles fonctionnalités et/ou des changements sont réalisés dans la structure de la base de données | + | |
| - | |**3**|**Release**|Le numéro de version « Release » est changé à chaque évolution | + | |
| - | |**0**|**Build**|Le numéro | + | |
| - | **__Règles__** | + | ==== Étapes d'exécution — LoGeAs Web ==== |
| - | - Une fois qu'une version est publiée, le contenu de sa version NE DOIT PAS être modifié. Toute modification DOIT être publiée dans une nouvelle version. | + | |
| - | - Quand le segment Majeur est changé, les " | + | |
| + | Outillées via les commandes ''/ | ||
| + | - **Vérification de branche** : la branche de version est propre et à jour avec le dépôt distant | ||
| + | - **Génération du build** : compilation, | ||
| + | - **Commit dédié** : le changement de numéro de version est commité séparément du contenu fonctionnel | ||
| + | - **Étiquetage** : tag Git annoté créé sur ce commit | ||
| + | - **Publication** : push du commit et du tag vers le dépôt distant | ||
| + | - **Relevé d' | ||
| + | - **Archivage** : conservation de la référence du tag dans le suivi de version (cartographie fonctionnelle) | ||
| + | ==== Cas d'un tag posé manuellement ==== | ||
| + | Respecter impérativement le format défini ci-dessus et ne jamais réutiliser un numéro X.Y.Z déjà présent dans un tag '' | ||
| + | ---- | ||
| + | ===== Dépôt légal des codes sources (coffre-fort numérique) ===== | ||
| + | Cette section fusionne l' | ||
| - | ==== Allons un peu plus loin ==== | + | Les codes sont historisés via GitLab, répartis |
| - | LoGeAs n'est pas un logiciel monolitique | + | |
| - | Si on va plus long la galaxie se compose de | + | * **Logeas Informatique / Logeas-projets-obsoletes** |
| - | |Serveurs|LogeasWeb|C' | + | * **Logeas Informatique / Logeas-web** |
| - | |::: | + | * **NewInterfaces-group** |
| - | |::: | + | |
| - | |Interfaces|LoGeAs (ou client lourd)|Il s'agit de l' | + | |
| - | |::: | + | |
| - | |::: | + | |
| - | |::: | + | |
| - | |::: | + | |
| - | |:::|Stat-Union|Il s'agit d'une interface dédié à l' | + | |
| - | | + | **Historique :** avant 2024, le dépôt légal se faisait sur e-coffrefort.fr (fermé |
| - | * Les **digits Majeur et Mineur** sont commun | + | |
| - | * Le versionning de chaque élément est géré dans son outil de développement et repris au niveau de GIT.\\ **Git ne travaille qu' | + | |
| - | ==== Définition et évolution de la version globale ==== | + | ---- |
| - | Dans ce contexte, il est nécessaire de définir une **version " | + | |
| - | === Règle d' | + | |
| - | Afin de respecter globalement les règles de gestion des numéros de version, les règles suivantes sont appliqué pour " | + | |
| - | |Majeur|Le numéro " | + | |
| - | |Mineur|Le numéro " | + | |
| - | |Release|Le numéro " | + | |
| - | |Build|Non utilisé à ce stade| | + | |
| - | * C'est la version globale qui est utilisé dans la partie qualité, assistance... | + | |
| + | ===== Documents fusionnés dans cette page ===== | ||
| - | ===== Changement | + | Cette page ('' |
| - | Le processus de mise en ligne est commun aux trois niveaux de version (Majeure, Mineure, Release) ; seule la portée | + | * La procédure #30 « Versionning |
| - | {{ :certif: | + | * La procédure « Gestion du dépôt Git », page [[certif:procedure: |
| - | NB : SVG stocké sur le wiki éditable par exemple avec Inkscape | + | * La procédure #09 « Dépôt |
| - | ==== Dépot ==== | + | |
| - | Le dépôt des sources est réalisé de façon systématique sur **chaque version** publiée, directement via **GitLab**. \\ | + | |
| - | Lors de la mise en ligne, un tag Git correspondant au numéro de version (Majeur.Mineur.Release.Build) est créé sur la branche concernée. \\ | + | |
| - | L' | + | |
| - | Cette empreinte, conservée dans l' | + | |