feat: add slide generation script for CESIZen project, covering deployment and security aspects
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
name: "✨ Demande d'évolution"
|
||||
about: "Proposer une nouvelle fonctionnalité ou une amélioration (maintenance évolutive)"
|
||||
title: "[ÉVOLUTION] "
|
||||
labels:
|
||||
- "type/évolution"
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Toute demande d'évolution fait l'objet d'une analyse par le prestataire
|
||||
(documentation, délai de mise en œuvre, coût associé) avant planification.
|
||||
- type: dropdown
|
||||
id: module
|
||||
attributes:
|
||||
label: Module concerné
|
||||
options:
|
||||
- "Comptes utilisateurs"
|
||||
- "Informations"
|
||||
- "Tracker d'émotions"
|
||||
- "Administration"
|
||||
- "Nouveau module (Diagnostic, Cohérence cardiaque, Activités de détente)"
|
||||
- "Transverse (sécurité, RGPD, performance)"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: besoin
|
||||
attributes:
|
||||
label: Besoin / problème à résoudre
|
||||
description: "En tant que … je souhaite … afin de …"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: solution
|
||||
attributes:
|
||||
label: Solution proposée
|
||||
validations:
|
||||
required: false
|
||||
- type: dropdown
|
||||
id: priorite
|
||||
attributes:
|
||||
label: Priorité souhaitée
|
||||
options:
|
||||
- "Haute"
|
||||
- "Moyenne"
|
||||
- "Basse"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: criteres
|
||||
attributes:
|
||||
label: Critères d'acceptation
|
||||
value: |
|
||||
- [ ]
|
||||
- [ ]
|
||||
validations:
|
||||
required: false
|
||||
@@ -0,0 +1,74 @@
|
||||
name: "🐞 Signalement d'incident / anomalie"
|
||||
about: "Déclarer un dysfonctionnement de l'application (maintenance corrective)"
|
||||
title: "[INCIDENT] "
|
||||
labels:
|
||||
- "type/incident"
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Merci de renseigner ce formulaire le plus précisément possible.
|
||||
Le délai de prise en compte dépend de la **sévérité** déclarée (voir SLA du contrat).
|
||||
- type: dropdown
|
||||
id: severite
|
||||
attributes:
|
||||
label: Sévérité
|
||||
description: "Bloquant = service inutilisable · Majeur = service dégradé avec contournement · Mineur = altération mineure"
|
||||
options:
|
||||
- "Bloquant — priorité critique (prise en compte 1 h / correction 3 h)"
|
||||
- "Bloquant — priorité forte (prise en compte 2 h / correction 6 h)"
|
||||
- "Majeur (prise en compte 7 h / correction 16 h)"
|
||||
- "Mineur (prise en compte 1 j / correction 40 h)"
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: module
|
||||
attributes:
|
||||
label: Module concerné
|
||||
options:
|
||||
- "Comptes utilisateurs / Authentification"
|
||||
- "Informations (contenus)"
|
||||
- "Tracker d'émotions"
|
||||
- "Administration"
|
||||
- "Infrastructure / Déploiement"
|
||||
- "Autre"
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: environnement
|
||||
attributes:
|
||||
label: Environnement
|
||||
placeholder: "Production (cesizen.cleanows.fr) · web ou mobile · navigateur/OS + version"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description du problème
|
||||
description: "Ce qui ne fonctionne pas."
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: reproduction
|
||||
attributes:
|
||||
label: Étapes de reproduction
|
||||
value: |
|
||||
1.
|
||||
2.
|
||||
3.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: attendu
|
||||
attributes:
|
||||
label: Résultat attendu vs. obtenu
|
||||
placeholder: "Attendu : … / Obtenu : …"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: contexte
|
||||
attributes:
|
||||
label: Captures d'écran / logs
|
||||
description: "Capture, message d'erreur, extrait de journal (sans donnée personnelle)."
|
||||
validations:
|
||||
required: false
|
||||
@@ -0,0 +1,25 @@
|
||||
<!-- Modèle de Pull Request CESIZen — la CI (Gitea Actions) doit être verte avant merge. -->
|
||||
|
||||
## Objet
|
||||
<!-- Décrire brièvement le changement. -->
|
||||
|
||||
## Ticket lié
|
||||
<!-- Ex. : Closes #12 -->
|
||||
Closes #
|
||||
|
||||
## Type de changement
|
||||
- [ ] 🐞 Correctif (maintenance corrective)
|
||||
- [ ] ✨ Évolution (maintenance évolutive)
|
||||
- [ ] ♻️ Refactorisation / dette technique
|
||||
- [ ] 🔒 Sécurité
|
||||
- [ ] 📖 Documentation
|
||||
|
||||
## Vérifications
|
||||
- [ ] Les tests automatisés passent en local (`php artisan test`, `npm test`)
|
||||
- [ ] Le style de code est respecté (`vendor/bin/pint`, `npm run lint`)
|
||||
- [ ] La CI Gitea Actions est verte
|
||||
- [ ] Pas de secret ni de donnée personnelle commitée
|
||||
- [ ] Documentation mise à jour si nécessaire
|
||||
|
||||
## Impact sécurité / données personnelles
|
||||
<!-- Le changement touche-t-il à l'authentification, aux données de santé, au RGPD ? -->
|
||||
@@ -0,0 +1,85 @@
|
||||
# ─────────────────────────────────────────────────────────────────────────
|
||||
# Intégration continue CESIZen — Gitea Actions
|
||||
# Déclenchée à chaque push et pull request. Lance les 29 tests automatisés
|
||||
# (backend PHPUnit + frontend Vitest + mobile Jest) et le lint.
|
||||
# Un déploiement Coolify est déclenché par webhook après un merge sur main
|
||||
# (voir docker-compose.prod.yaml + MIGRATION_GITEA.md).
|
||||
# ─────────────────────────────────────────────────────────────────────────
|
||||
name: CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main, develop]
|
||||
pull_request:
|
||||
branches: [main, develop]
|
||||
|
||||
jobs:
|
||||
# ── Backend Laravel : PHPUnit sur base SQLite en mémoire (cf. backend/phpunit.xml) ──
|
||||
backend:
|
||||
name: Backend · PHPUnit + Pint
|
||||
runs-on: ubuntu-latest
|
||||
defaults:
|
||||
run:
|
||||
working-directory: backend
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Installer PHP 8.4
|
||||
uses: shivammathur/setup-php@v2
|
||||
with:
|
||||
php-version: "8.4"
|
||||
extensions: pdo, pdo_sqlite, bcmath, mbstring
|
||||
coverage: none
|
||||
|
||||
- name: Cache des dépendances Composer
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: backend/vendor
|
||||
key: composer-${{ hashFiles('backend/composer.lock') }}
|
||||
|
||||
- name: Installer les dépendances
|
||||
run: composer install --no-interaction --prefer-dist --no-progress
|
||||
|
||||
- name: Vérifier le style (Laravel Pint, PSR-12)
|
||||
run: vendor/bin/pint --test
|
||||
|
||||
- name: Lancer les tests (Unit + Feature)
|
||||
run: php artisan test
|
||||
|
||||
# ── Frontend web Next.js : ESLint + Vitest ──
|
||||
frontend:
|
||||
name: Frontend · ESLint + Vitest
|
||||
runs-on: ubuntu-latest
|
||||
defaults:
|
||||
run:
|
||||
working-directory: frontend
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "20"
|
||||
cache: npm
|
||||
cache-dependency-path: frontend/package-lock.json
|
||||
- run: npm ci
|
||||
- name: Lint
|
||||
run: npm run lint
|
||||
- name: Tests unitaires
|
||||
run: npm test
|
||||
|
||||
# ── Mobile Expo / React Native : Jest ──
|
||||
mobile:
|
||||
name: Mobile · Jest
|
||||
runs-on: ubuntu-latest
|
||||
defaults:
|
||||
run:
|
||||
working-directory: mobile
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "20"
|
||||
cache: npm
|
||||
cache-dependency-path: mobile/package-lock.json
|
||||
- run: npm ci
|
||||
- name: Tests unitaires
|
||||
run: npm test
|
||||
Reference in New Issue
Block a user