No description
  • PowerShell 100%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-17 14:09:01 +02:00
rules Publication DevRules v1.1.3 2026-08-17 14:09:01 +02:00
scripts Refonte documentation rules pass 3 2026-08-16 09:43:41 +02:00
tests Refonte documentation rules pass 3 2026-08-16 09:43:41 +02:00
AGENTS.md Réorganisation des RULES 2026-08-13 17:35:27 +02:00
README.md Nouvelle structure de déploiement 2026-08-15 10:57:58 +02:00
solutions.json Nouvelle structure de déploiement 2026-08-15 10:57:58 +02:00

DevRules

DevRules est la source officielle des règles générales distribuées aux solutions de l'équipe.

Fichiers distribués

La synchronisation remplace uniquement :

  • AGENTS.md ;
  • rules/GENERAL_*.md ;
  • rules/DEV_RULES_VERSION.

Les fichiers rules/SOLUTION_*_RULES.md et les autres fichiers propres à une solution ne sont jamais modifiés par la synchronisation.

GENERAL_GTOOLS_RULES.md est distribué à toutes les solutions, mais ne s'applique qu'aux solutions qui consomment GTools. Le dépôt GTools lui-même applique ses règles générales et ses éventuelles règles propres ; il n'applique pas les règles de consommation de sa propre bibliothèque.

Manifeste

solutions.json contient les solutions et les branches à traiter. L'URL de base HTTPS du serveur Git est demandée au lancement ; les noms du manifeste sont ajoutés à cette URL.

Une entrée inactive est affichée comme ignorée. Une branche temporary est informative et n'est pas traitée différemment d'une branche permanente.

Commandes

La commande principale est scripts/Sync-DevRules.ps1. Elle propose de publier une nouvelle version ou d'utiliser un tag existant, demande le serveur cible et synchronise les solutions séquentiellement.

La validation autonome est disponible avec :

pwsh ./scripts/Test-DevRules.ps1

Les tests Pester se trouvent sous tests/.

Publication

Une nouvelle version utilise le format vMAJEUR.MINEUR.CORRECTIF. Le script propose le correctif suivant, met à jour rules/DEV_RULES_VERSION, valide le repository, committe les modifications locales avec le message Publication DevRules vX.Y.Z, crée le tag et pousse DevRules vers la branche distante main.

Le force push est autorisé pour DevRules uniquement. Les tags existants ne sont jamais déplacés.

Le mode version existante utilise strictement le contenu du tag sélectionné, peut pousser ce tag vers un autre serveur et aligne sa branche main sur le commit du tag. Il permet notamment de déployer la même version sur plusieurs serveurs Git indépendants.

Synchronisation

Chaque solution est traitée dans un clone temporaire sparse. Les clones locaux de développement ne sont jamais utilisés ni modifiés. Le clone temporaire est supprimé après succès et conservé en cas d'échec.

Les erreurs d'une solution ou d'une branche n'arrêtent pas les autres traitements. Le rapport est affiché dans la console et le code de sortie est non nul lorsqu'une erreur est survenue.

Les retours arrière vers une version plus ancienne sont autorisés.