Skip to main content

Features

RoleBase — Features à développer sur Yocoop (parité CartoGroov + backlog)

Date : 10/07/2026 Base : rolebase-yocoop-features-analyse.md (30/05, v1→v13) + ajouts v14→v17 de CartoGroov. But : rattraper sur Yocoop toutes les features de CartoGroov (prod), proprement, puis avancer.

Légende

Symbole Sens
🔵 Proposable à Godefroy (générique)
🟣 Spécifique UdN/CartoGroov (interne)
🟢 / 🟡 / 🔴 Facile (<2h) / Moyenne (2-6h) / Longue (>6h)
Parité État sur Yocoop : ⬜ à rattraper · 🟩 fait

Pour le détail d'implémentation de chaque ligne (patch exact, migration, permissions), se reporter à rolebase-udn-v17.md / MD vXX et à l'analyse d'origine (ID entre parenthèses).


A. Features v1→v13 — déjà cataloguées (88 features)

Elles restent valables et sont détaillées dans rolebase-yocoop-features-analyse.md avec leur ID (INFRA, UDN, ORG, TENS, GOUV, ASYNC, REU, PP, EMAIL, ADM, IMP, INT). Résumé des blocs et de la proposabilité Godefroy :

Bloc Nb Dont 🔵 Godefroy Parité Yocoop
Infrastructure (INFRA-01→08) 8 0 ⬜ prérequis à refaire
Personnalisation UdN (UDN-01→05) 5 2
Organigramme & Rôles (ORG-01→06) 6 5
Tensions (TENS-01→09) 9 5
Gouvernance (GOUV-01→14) 14 10
Gouvernance async (ASYNC-01→13) 13 12
Réunions (REU-01→11) 11 7
Prochains pas (PP-01→08) 8 6
Emails & Crons (EMAIL-01→07) 7 3
Admin (ADM-01→04) 4 0
Import (IMP-01) 1 1
Intégrations (INT-01→02) 2 1

Candidats PR Godefroy prioritaires (rappel de l'analyse) : ORG-01 (cercle vs rôle), TENS-01 (types de tension), GOUV-07 (Décision → Règle commune), PP-01+02 (table + page Prochains pas), EMAIL-02+03 (rappel J-1 + CR réunion), puis ASYNC complet, REU-01, TENS-07.

L'ordre de reconstruction reste le plan en 8 phases de l'analyse (Socle → Tensions/Gouvernance → Réunions → Prochains pas → Tension enrichie → Async → Emails/Admin → Parité/Migration).


B. Nouvelles features CartoGroov (v14→v17) — À AJOUTER au catalogue

Ces features ont été développées sur CartoGroov après l'analyse et ne figurent pas encore dans le catalogue. Elles sont à rattraper sur Yocoop.

ID Feature Version Diff. Godefroy Parité Notes
NEW-01 Recherche Algolia globale (index, clés, backfill) v14 🟡 🟣 (clés) Filtre par orgId — attention visibilité (voir NEW-09)
NEW-02 Google Agenda OAuth — connexion + export (phase 1) v14 🟡 🔵 App OAuth ; secret hors versionné
NEW-03 Docs légaux CGU + Politique de confidentialité (RGPD) v14 🟢 🟣 Conformité Google incluse
NEW-04 Fix liens vérification email + expéditeur v14 🟢 🔵 Devenu la base du système emails chartés
NEW-05 Rebranding CartoGroov (logo, favicon, PWA, OG/Twitter) v15 🟢 🟣 Sur Yocoop : garder configurable (UDN-03)
NEW-06 Suppression traceurs tiers (Google Analytics + Sentry) RGPD v15 🟢 🔵 Option self-host propre
NEW-07 Focus par titulaire de rôle (circle_member.focus) v16 🟡 🔵 PR forte 🟩 ✅ fait Yocoop 10/07 (déclencheur « + focus » au survol ; italique sous le prénom dans l'organigramme). ⚠️ bascule UdN : le champ existe déjà en v16 → voir migration-blockers.md
NEW-08 Système d'emails chartés (packages/emails/Layout + templates) v17 🟡 🔵 MeetingSummary + Notification génériques ; auth via hasura-auth
NEW-09 Tensions privées cloisonnées par cercle (private-by-default + trigger) v17 🟡 🔵 Modèle de sécurité ; pas de bypass Owner/Admin
NEW-10 Réunions privées réellement effectives (fix permission meeting) v17 🟢 🔵 Hasura respecte le flag private
NEW-11 CR de réunion instantané en fin de réunion + enrichi v17 🟡 🔵 Trigger ended false→true ; présents/absents, checklist, prochains pas
NEW-12 next_step.memberId — assignation à un membre 21/05 🟡 🔵 Recouvre en partie PP-05
NEW-13 Fix persistance indicateurs (toujours role.indicators) 21/05 🟢 🔵 Ne plus écrire dans step.notes

Candidats PR Godefroy issus du neuf

  • NEW-07 (Focus par titulaire) — générique, propre, à fort intérêt communautaire.
  • NEW-08 (emails chartés) — architecture réutilisable (Layout + templates).
  • NEW-09/10 (modèle privé/cloisonné) — correctifs de sécurité utiles à tous.
  • NEW-11 (CR instantané) — meilleure UX que le cron seul.

C. Enrichissements Yocoop (au-delà de la parité)

Décisions déjà actées pour faire mieux que CartoGroov une fois la parité atteinte :

ID Enrichissement Diff. Godefroy
ENR-01 next_step enrichie : description, dueDate, status, priority, projectId 🟡 🔵
ENR-02 "Transformer un prochain pas en projet" (tunnel next_step → task) 🟡 🔵
ENR-03 i18n systématique (dette FR hardcodée de CartoGroov non reproduite) 🟢 🔵
ENR-04 Google Agenda phase 2 (import/synchro bidirectionnelle) 🔴 🔵
ENR-05 Écriture inclusive harmonisée (point médian) — étendre à tout fr.json (un·e, sûr·e, ce·tte, invité·e, membre·s…) 🟢 🟣

Notes terminologie / inclusif (fait le 10/07/2026)

  • UDN-01 (terminologie FR) — partiel : thread« Tension », task« Projet » appliqués dans fr.json (102 valeurs, accords de genre inclus ; en.json inchangé ; règle : c'est de l'affichage, aucune entité de code ne change). Reste de UDN-01 : le terme « Entreprise » (org) et le plan gratuit (UDN-02).
  • Écriture inclusive — commencée : seul « participant » → « participant·e / participant·es » est passé en point médian. Le reste de l'app utilise encore l'inclusif entre parenthèses (un(e), sûr(e), ce(tte), invité(e)) → d'où des phrases mixtes (« un(e) participant·e »). Harmonisation = ENR-05 (choix éditorial Yocoop, 🟣, à faire en une passe séparée).
  • ⚠️ fr.json est désormais dans YOCOOP_FILES (update-from-upstream.sh) → un futur rattrapage upstream signalera le conflit au lieu d'écraser silencieusement la terminologie.

D. Dépendance transverse — à ne pas oublier au rattrapage

  • Rattrapage upstream déjà intégré (14/06) : packages editor, editor-legacy, graph, puppeteer/Chromium backend, refonte panneau de rôle. Toute feature touchant l'éditeur ou l'organigramme doit composer avec ces packages (voir rolebase-upstream-sync-log.md).
  • circle_participant_cache : toute feature de visibilité (tensions/projets/réunions) en dépend.
  • Metadata Hasura live ≠ disque : vérifier systématiquement lors des features à permissions.

Résumé quantitatif mis à jour

Ensemble Nb features
Catalogue v1→v13 (A) 88
Nouvelles v14→v17 (B) 13
Enrichissements Yocoop (C) 5
Total à piloter ~105
dont proposables Godefroy 🔵 ~60

À maintenir à jour : cocher la colonne Parité (🟩) au fur et à mesure des rattrapages sur Yocoop.

RoleBase Yocoop — Analyse complète des features v1→v13

Document : Analyse et recommandations pour le développement propre
Date : 30/05/2026
Objectif : Reconstruire proprement toutes les features UdN sur le VPS Yocoop


Légende

Symbole Signification
🏗️ Feature structurelle — touche à l'architecture de base
Feature importante — valeur métier forte
🟢 Facile — < 2h, peu de fichiers
🟡 Moyenne — 2-6h, plusieurs fichiers
🔴 Longue — > 6h, BDD + GraphQL + UI + backend
🔵 Proposable à Godefroy — suffisamment générique
🟣 Spécifique UdN — peu de chance d'intéresser Godefroy

Classement par catégorie


1. INFRASTRUCTURE & CONFIGURATION

ID Feature Difficulté Importance Godefroy
INFRA-01 SMTP smtp2go (config email) 🟢 🟣
INFRA-02 Services systemd (backend + yjs) 🟢 🟣
INFRA-03 Build production + settings.ts self-hosted 🟢 🟣
INFRA-04 Nginx config + SSL Let's Encrypt 🟢 🟣
INFRA-05 Backup PostgreSQL automatique (cron 2h, 7j) 🟢 🟣
INFRA-06 Script update.sh (sauvegarde fichiers modifiés) 🟢 🟣
INFRA-07 Dépôt Framagit + git remote 🟢 🟣
INFRA-08 Crons Linux en backup (meeting-summaries, reminders) 🟢 🟣

Notes :

  • INFRA-01 à 06 : à faire en premier, ce sont les prérequis pour tout le reste
  • INFRA-07 : configure le remote Framagit dès le début pour versionner correctement
  • INFRA-08 : contournement du bug Hasura cron scheduling (URLs /trpc/ → /cron.)

2. PERSONNALISATION UdN / YOCOOP

ID Feature Difficulté Importance Godefroy Notes
UDN-01 Terminologie (Tensions/Projets/Entreprise) 🟢 🟣 Modifier fr.json + en.json
UDN-02 Plan gratuit illimité (free: Infinity) 🟢 🟣 1 ligne dans subscription.ts
UDN-03 Personnalisation orga (logo, couleur, message) 🟡 🔵 BDD + UI + CSS variables
UDN-04 Homepage → redirect AuthPage si selfHosted 🟢 🟣 1 condition
UDN-05 Ajouter membre sans email 🟢 🔵 Champ optionnel dans le formulaire

3. ORGANIGRAMME & RÔLES

ID Feature Difficulté Importance Godefroy Notes
ORG-01 Distinction visuelle cercle 🫧 vs rôle (small-caps) 🟡 🔵 CircleButton + SearchResultIcon
ORG-02 Filtres Mes rôles / Cercles / Toute l'org 🟡 🔵 CircleSearchInput + useSearch
ORG-03 Surbrillance "Mes rôles" dans l'organigramme 🟡 🔵 CSS dynamique + état
ORG-04 Boutons UserPlus / UserMinus dans liste rôles 🟢 🔵 Ajout/retrait membre rapide
ORG-05 Tri rôles dans l'organigramme (base en premier) 🟢 🔵 useSearch.ts + sort
ORG-06 Filtrage cercles uniquement pour les réunions 🟢 🔵 MeetingEditModal → circlesOnly

4. TENSIONS

ID Feature Difficulté Importance Godefroy Notes
TENS-01 🏗️ Types de tension (opé/gouv/gouv_réunion) 🟡 🔵 BDD thread.type + badges
TENS-02 Description tension (thread.description) 🟢 🔵 BDD + GraphQL + UI
TENS-03 Layout 2 colonnes ThreadContent 🟡 🟣 Refonte majeure de l'UI
TENS-04 Badges OPÉ/GOUV colorés sur les tensions 🟢 🟣 Visual uniquement
TENS-05 Boutons Opé/Gouv (remplace Select type) 🟢 🔵 ThreadEditModal
TENS-06 Popup création tension — layout Rôle/Type colonne 🟢 🟣 Fix UX mobile
TENS-07 🏗️ Tension opé enrichie — autorité + responsable 🔴 🔵 BDD authorityCircleId+memberId + GraphQL (4 fichiers) + UI
TENS-08 Auto-remplissage membre selon rôle sélectionné 🟡 🔵 Dépend de TENS-07
TENS-09 Notes réunion → description à la validation 🟡 🟣 Fix UX + extraction Lexical JSON

5. GOUVERNANCE

ID Feature Difficulté Importance Godefroy Notes
GOUV-01 🏗️ Modes gouvernance (Libre/Agile/Holacratique) 🟡 🔵 BDD org.governanceMode + permissions
GOUV-02 Permissions fines par mode dans CircleContext 🔴 🔵 Logique complexe selon le mode
GOUV-03 Modal confirmation passage Holacratique 🟡 🟣 + création rôles structurels colorés
GOUV-04 🏗️ Section Évolutions proposées (ThreadGovernanceEvolutions) 🔴 🔵 Composant complexe, menu 2 niveaux
GOUV-05 useApplyGovernanceEvolutions (application des évolutions) 🔴 🔵 Hook critique, 10 types d'évolutions
GOUV-06 Bouton "Valider directement" (sans async) 🟢 🔵 Dépend de GOUV-05
GOUV-07 Renommage "Décision" → "Règle commune" 🟢 🟣 fr.json + en.json
GOUV-08 Suppression champ "Règles communes" de la fiche rôle 🟢 🟣 Doublon avec Règles communes
GOUV-09 Sauvegarde evolutionsData en DB avant validation 🟢 🔵 Fix : évolutions persistées après clôture
GOUV-10 Tensions gouvernance validées — lecture seule 🟢 🔵 Ne pas ré-ouvrir après application
GOUV-11 Section "Traités" gouvernance avec rôle + évolutions 🟡 🔵 Affichage lisible des évolutions appliquées
GOUV-12 ThreadGovernanceEvolutions — rôles feuilles vs sous-cercles 🟡 🔵 Détection enfants pour discriminer
GOUV-13 Cercle de réunion exclu du sélecteur de tension 🟢 🔵 MeetingStepContentThreads + Governance
GOUV-14 Décisions dans les évolutions (decision_add/update/archive) 🟡 🔵 Dépend de GOUV-04

6. GOUVERNANCE ASYNCHRONE

ID Feature Difficulté Importance Godefroy Notes
ASYNC-01 🏗️ BDD governance_vote + governance_vote_token 🟡 🔵 Tables + permissions Hasura
ASYNC-02 Backend — Route /governance-votes (GET) 🟡 🔵 Calcul votes + membres du cercle
ASYNC-03 Backend — Route /governance-vote-ui (POST) 🟡 🔵 Vote one-click depuis email
ASYNC-04 Backend — handleGovernanceAsync (trigger) 🟡 🔵 Envoi mails aux membres du cercle
ASYNC-05 Backend — Cron closeGovernanceAsync 🟡 🔵 Clôture auto à deadline
ASYNC-06 Backend — Cron remindGovernanceAsync 🟡 🔵 Rappel membres sans vote J-2
ASYNC-07 Frontend — Interface de vote (ThreadAsyncGovernance.tsx) 🟡 🔵 Affiche votes + permet voter
ASYNC-08 asyncStatus — nouveau statut governance_async_validated 🟡 🔵 Fix UX : tension reste Active après cron
ASYNC-09 Bouton "Appliquer les évolutions" conditionnel 🟢 🔵 Visible si governance_async_validated
ASYNC-10 Masquage boutons Apporter/Async sur tension validée 🟢 🔵 UX : boutons inutiles après validation
ASYNC-11 Brouillon évolutions en localStorage 🟢 🔵 Persistence entre sessions
ASYNC-12 Filtre cercle dans sélecteur d'évolution (holacracy) 🟡 🔵 Cercle parent qui gouverne le rôle
ASYNC-13 Gouvernance async masquée en mode agile/libre 🟢 🔵 Fix : visible seulement en holacratique

7. RÉUNIONS

ID Feature Difficulté Importance Godefroy Notes
REU-01 🏗️ Nouveaux types d'étapes (Inclusion, Déclusion, Checklist, Indicateurs, NextSteps, Governance) 🔴 🔵 BDD + GraphQL (4 patches) + composants
REU-02 Triage opérationnel refonte (inline + import + Traités) 🔴 🟣 MeetingStepContentThreads complexe
REU-03 Étape Gouvernance (MeetingStepContentGovernance) 🔴 🟣 Tensions gouvernance en réunion
REU-04 Indicateurs et Checklist par rôle 🟡 🔵 ListEditableField + parsing JSON/texte
REU-05 Prochains pas en réunion (saisie + affichage) 🟡 🔵 Dépend de PP-01
REU-06 Tensions "Traités" — layout prochain pas en dessous 🟢 🔵 Fix UX v12
REU-07 Création tension inline en réunion 🟡 🔵 Sélecteur cercle + membre
REU-08 Import tension existante dans l'étape 🟢 🔵 ThreadSearchButton
REU-09 Membre responsable affiché dans "Traités" 🟢 🔵 Dépend de TENS-07
REU-10 Notes réunion pré-remplies depuis description tension 🟢 🟣 UX : évite de retaper la description
REU-11 Filtrage cercles pour les réunions (circlesOnly) 🟢 🔵 Évite de choisir un simple rôle

8. PROCHAINS PAS

ID Feature Difficulté Importance Godefroy Notes
PP-01 🏗️ Table next_step BDD + permissions Hasura 🟡 🔵 Table + contraintes UNIQUE + permissions org.members
PP-02 Page Prochains pas (NextStepsPage) 🟡 🔵 Kanban À faire / Réalisé
PP-03 Contrainte UNIQUE par tension (next_step_thread_unique) 🟢 🔵 Fix v12 : 1 PP par tension
PP-04 saveNextStep appelé avant validation/rejet 🟢 🔵 Fix v12 : PP sauvegardé à la validation
PP-05 Filtre PP par mes rôles + assignés à moi 🟡 🟣 Dépend de TENS-07 (memberId)
PP-06 Labels dynamiques ("Tous mes rôles", "Assigné à [nom]") 🟢 🟣 i18n à gérer
PP-07 PP visible toutes réunions confondues 🟢 🔵 Fix v12 : plus filtré par meetingId
PP-08 PP pré-rempli à la réouverture d'une tension 🟡 🔵 Fix v12 : subscription BDD dans ThreadContent

9. EMAILS & CRONS

ID Feature Difficulté Importance Godefroy Notes
EMAIL-01 Notification email admin (nouvelle orga) 🟢 🟣 notifyNewUser.ts
EMAIL-02 Rappel J-1 réunion (cron 9h UTC) 🟡 🔵 sendMeetingReminders.ts
EMAIL-03 CR réunion post-meeting (cron horaire) 🟡 🔵 sendMeetingSummaries.ts
EMAIL-04 Flag summarySent — CR envoyé une seule fois 🟢 🔵 Fix v12 : plus de doublons
EMAIL-05 CR réunion enrichi — tensions + PP + évolutions 🔴 🔵 sendMeetingSummaries v13
EMAIL-06 Invitation membre (email natif Nhost) 🟢 🟣 Config SMTP
EMAIL-07 Cron URLs corrigées (sans /trpc/) 🟢 🟣 Fix Hasura metadata

10. ADMIN

ID Feature Difficulté Importance Godefroy Notes
ADM-01 Tableau de bord admin (/admin) 🟡 🟣 Page statique + API orgas
ADM-02 Impersonation admin 🔴 🟣 BDD + backend + frontend + bandeau orange
ADM-03 Plans d'abonnement (vivante/carto + addons) 🟡 🟣 BDD org.plan + UI admin
ADM-04 Export ISO 9001 Excel ❌ RETIRÉ 14/06/2026 : l'export XLSX/JSON standard de Rolebase (ExportPage.tsx) couvre déjà le besoin

11. IMPORT

ID Feature Difficulté Importance Godefroy Notes
IMP-01 Import Glassfrog (JSON bypass base64) 🟡 🔵 Importeur complet

12. INTÉGRATIONS

ID Feature Difficulté Importance Godefroy Notes
INT-01 Excalidraw (tableau blanc collaboratif) 🟡 🔵 BDD + URL format + composants
INT-02 Meet UdN (visio intégrée) 🟡 🟣 URL DDM-NOM-MAA + addon_meet

Résumé quantitatif

Catégorie Nb features Faciles 🟢 Moyennes 🟡 Longues 🔴 Proposables Godefroy 🔵
Infrastructure 8 8 0 0 0
Personnalisation UdN 5 4 1 0 2
Organigramme & Rôles 6 3 3 0 5
Tensions 9 5 2 2 5
Gouvernance 14 6 5 3 10
Gouvernance async 13 4 9 0 12
Réunions 11 4 5 2 7
Prochains pas 8 4 4 0 6
Emails & Crons 7 3 3 1 3
Admin 4 0 3 1 0
Import 1 0 1 0 1
Intégrations 2 0 2 0 1
TOTAL 88 41 38 9 52

Recommandations de branches Git

Stratégie générale

main (stable, déployé sur VPS Yocoop)
  └── develop (intégration continue)
        ├── feature/XXX-nom-court
        ├── fix/XXX-description
        └── chore/XXX-infra-config

Règle : on ne merge jamais une feature directement dans main. Toujours passer par develop + tests.


Phase 1 — Socle (Juin, semaines 1-2)

Ces branches sont à créer et merger dans l'ordre strict — chacune est prérequis de la suivante.

chore/infra-systemd-nginx-ssl
  # INFRA-01 à 04 : SMTP, systemd, build prod, Nginx, SSL

chore/infra-backup-scripts
  # INFRA-05,06,07 : backup PostgreSQL, update.sh, Framagit remote

feat/udn-branding
  # UDN-01 à 05 : terminologie, plan gratuit, personnalisation, redirect homepage

feat/orga-visual-distinction
  # ORG-01 : cercle 🫧 vs rôle (small-caps)

feat/orga-filters
  # ORG-02,03,04,05,06 : filtres, surbrillance, UserPlus/Minus, tri, cerclesOnly

Phase 2 — Tensions & Gouvernance de base (Juin, semaines 3-4)

feat/tension-types-description
  # TENS-01,02,04,05,06 : types, description, badges, boutons Opé/Gouv, popup

feat/gouvernance-modes
  # GOUV-01,02,03 : modes Libre/Agile/Holacratique + permissions + modal holacratique

feat/gouvernance-evolutions
  # GOUV-04,05,06,14 : ThreadGovernanceEvolutions + useApplyGovernanceEvolutions + Valider directement + décisions
  # ⚠️ La plus longue de cette phase — prévoir 2 jours

feat/gouvernance-regles-communes
  # GOUV-07,08 : renommage Décision + suppression champ rules UI

Phase 3 — Réunions (Juillet, semaines 1-2)

feat/meeting-step-types
  # REU-01 : nouveaux types d'étapes (Inclusion, Déclusion, Checklist, Indicateurs, NextSteps, Governance)
  # ⚠️ BDD + 4 patches GraphQL obligatoires

feat/meeting-triage-operationnel
  # REU-02,07,08,10,11 : triage opé refonte, création inline, import, pré-remplissage, cerclesOnly

feat/meeting-gouvernance-step
  # REU-03,GOUV-09,10,11,12,13 : étape gouvernance + fixes lecture seule + évolutions dans Traités

Phase 4 — Prochains pas (Juillet, semaine 3)

feat/next-steps-base
  # PP-01,02 : table BDD + page Prochains pas

feat/next-steps-meeting
  # REU-05,06 : PP en réunion + layout Traités

feat/next-steps-enriched
  # PP-03 à 08 : contrainte UNIQUE, saveNextStep, filtres, labels, fixes v12

Phase 5 — Tension opérationnelle enrichie (Juillet, semaine 4)

feat/tension-authority-member
  # TENS-07,08,09 : authorityCircleId + memberId + BDD + GraphQL + UI + auto-remplissage
  # ⚠️ 4 fichiers GraphQL à patcher manuellement
  # REU-09 : membre dans "Traités"
  # PP-05,06 : filtres PP par mes rôles + assignés

Phase 6 — Gouvernance asynchrone (Août, semaines 1-2)

feat/governance-async-bdd
  # ASYNC-01 : tables governance_vote + governance_vote_token + permissions

feat/governance-async-backend
  # ASYNC-02,03,04,05,06 : routes + trigger + crons

feat/governance-async-frontend
  # ASYNC-07 à 13 : UI vote + asyncStatus + boutons + localStorage + filtres

Phase 7 — Emails enrichis & Admin (Août, semaine 3)

feat/emails-crons
  # EMAIL-01 à 07 : toutes les notifications + CR enrichi + flag summarySent + fix URLs crons

feat/admin-dashboard
  # ADM-01,02,03,04 : tableau admin + impersonation + plans + export ISO

feat/import-glassfrog
  # IMP-01 : importeur Glassfrog

feat/integrations
  # INT-01,02 : Excalidraw + Meet UdN

Phase 8 — Parité & Migration (Août, semaine 4 + Septembre)

chore/parity-check
  # Vérification feature par feature vs UdN
  # Tests de non-régression complets (plan de test v12)

chore/migration-script
  # Script SQL de migration BDD UdN → Yocoop
  # Tests sur environnement de staging

chore/migration-production
  # Bascule finale (dimanche soir)
  # Monitoring post-migration

Features proposables à Godefroy (pull requests)

Ces features sont suffisamment génériques pour être proposées en PR upstream :

Priorité haute — PR à ouvrir rapidement

  1. ORG-01 : Distinction visuelle cercle vs rôle — amélioration UX universelle
  2. TENS-01 : Types de tension (opé/gouv) — logique métier utile à tous
  3. GOUV-07 : Renommage Décision → Règle commune — plus explicite
  4. PP-01+02 : Table next_step + page Prochains pas — feature manquante dans le core
  5. EMAIL-02+03 : Rappel J-1 + CR réunion — fonctionnalité très demandée

Priorité moyenne — PR après stabilisation

  1. GOUV-09 : Sauvegarde evolutionsData — fix bug important
  2. GOUV-10 : Tensions gouvernance validées lecture seule — UX cohérente
  3. ASYNC-01 à 13 : Gouvernance asynchrone complète — feature majeure
  4. REU-01 : Nouveaux types d'étapes — enrichissement réunions
  5. TENS-07 : Tension opé enrichie (autorité + responsable) — valeur métier forte

Comment préparer une PR pour Godefroy

  • Code propre, en anglais
  • Textes UI via i18n (en.json + fr.json)
  • Handlers avec préfixe handle
  • Pas de hardcoding
  • Test manual documenté
  • Description claire du problème résolu

Points d'attention techniques pour Yocoop

Ce qu'on fait différemment de l'UdN (bonnes pratiques)

  1. i18n systématique — tout texte UI passe par fr.json + en.json
  2. Codegen local — WSL2 + nhost dev pour régénérer graphql.generated.ts proprement
  3. Branches feature/ — jamais committer directement sur main
  4. Tests avant merge — plan de test à jour pour chaque feature
  5. Handlers handle prefix — respecter les conventions RoleBase
  6. Chakra UI only — pas de CSS brut dans le webapp

Ce qu'on garde du travail UdN

  • Toute la logique métier est documentée dans les MD v1→v13
  • Les patches GraphQL sont documentés (on sait exactement quoi modifier)
  • Les permissions Hasura sont documentées (filtres exacts)
  • Les bugs connus et leurs solutions sont documentés

Risques à anticiper

Risque Mitigation
Godefroy change des fichiers qu'on a aussi modifiés Merge conflicts → résoudre manuellement
Codegen local génère un fichier différent de celui patché manuellement Vérifier diff + adapter
BDD UdN vs BDD Yocoop désynchronisées Script migration exhaustif avec rollback
Features UdN non testées sur Yocoop avant migration Plan de test complet Phase 8

Document généré le 30/05/2026 — RoleBase Yocoop — À utiliser avec Claude Code sur le VPS perso