e5e6f72f92
- CI/CD Gitea Actions: ci.yml (Pint + PHPUnit), deploy.yml (déploiement SSH) - Suppression de l'ancien workflow GitHub cassé - En-têtes de sécurité: ajout CSP et Permissions-Policy - RGPD: droit à l'effacement (anonymisation du compte) + tests - Correctifs: ForceHttps hors env testing, timestamps du modèle Utilisateur, suppression des migrations en doublon (migrate échouait sur base neuve) - Qualité: formatage Laravel Pint sur l'ensemble du code - Documentation dossier technique (docs/) + .docx + .pptx Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2.4 KiB
2.4 KiB
03 — Outil de gestion des versions
Projet (RE)Sources Relationnelles — Bloc INFCDAAL3
1. Outil choisi : Git + Gitea (auto-hébergé)
Le versionnement du code repose sur Git, hébergé sur une instance Gitea auto-hébergée par l'équipe :
- Instance :
https://gitea.sam-coffre.duckdns.org/ - Motivations du choix :
- Maîtrise des données : hébergement sur notre propre serveur (cohérent avec un contexte ministériel / RGPD, pas de dépendance à un tiers).
- Léger et open source : Gitea est simple à administrer et gratuit.
- Fonctionnalités complètes : dépôts Git, pull requests, issues, releases, et Gitea Actions (CI/CD) intégrés.
2. Organisation du dépôt
- Branche principale :
master(branche de référence, protégée, déployée). - Branches de fonctionnalité (recommandé) : une branche par fonctionnalité
(
feature/…), fusionnée via pull request après relecture. - Fichiers de configuration Git présents :
.gitignore,.gitattributes,.editorconfig(cohérence entre développeurs).
3. Convention de nommage des commits
Convention recommandée (type Conventional Commits) :
<type>: <description courte>
Types : feat, fix, docs, style, refactor, test, chore
Exemples :
feat: ajout de la création de ressources
fix: correction de la redirection HTTPS
docs: rédaction du plan de sécurisation
4. Flux de travail (workflow) proposé
- Créer une branche depuis
master:git checkout -b feature/ma-fonctionnalite. - Développer + commits atomiques.
- Pousser la branche :
git push origin feature/ma-fonctionnalite. - Ouvrir une Pull Request sur Gitea.
- La CI (Pint + tests) s'exécute automatiquement sur la PR.
- Relecture par un pair, puis fusion dans
master. - La fusion déclenche le déploiement automatique en production.
5. Gestion des livraisons (releases)
- Utilisation des tags Git pour marquer les versions :
v1.0.0,v1.1.0… - Convention SemVer :
MAJEUR.MINEUR.CORRECTIF. - Les Releases Gitea documentent chaque version livrée (notes de version).
6. Sécurité du dépôt
- Aucun secret versionné :
.env, clés et certificats sont exclus via.gitignore. - Accès au dépôt restreint aux membres de l'équipe (comptes Gitea).
- Historique complet et traçable (auteur, date, message de chaque modification).