Espace Personnel
Contexte et objectif de l'Addendum
Ce document est le premier addendum à la Bible des Opérations GoWeBa (version 1.0, publiée le 06 mai 2026). Il documente l'ensemble des modifications apportées par le projet « Espace Personnel », déployé en trois phases entre le 06 et le 07 mai 2026. L'Espace Personnel est une fonctionnalité structurante qui introduit la notion d'organisation personnelle dans GoWeBa, permettant à chaque utilisateur de séparer ses activités personnelles de ses activités professionnelles, tout en ayant accès aux deux depuis une seule interface.
Portée de l'Addendum
Cet addendum couvre :
- La création automatique d'un Espace Personnel pour chaque utilisateur (Phase 1)
- La composition d'emails cross-organisation et les onglets de filtrage des contacts (Phase 2)
- L'agrégation des messages Webabox à travers toutes les organisations de l'utilisateur (Phase 3)
- Les modifications au schéma de données (enum OrgType, champ orgType)
- Les nouveaux endpoints API introduits
- Les nouvelles clés de traduction (i18n) en français, anglais et espagnol
- L'impact sur les modules existants du Guide Opérationnel
Conventions du document
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Vue d'ensemble — Concept d'Espace Personnel
L'Espace Personnel est un espace privé automatiquement créé pour chaque utilisateur de GoWeBa. Il fonctionne comme une organisation à part entière, mais dédiée aux activités personnelles de l'utilisateur.
Pourquoi un Espace Personnel ?
Avant l'introduction de l'Espace Personnel, un utilisateur GoWeBa ne pouvait appartenir qu'à des organisations professionnelles (entreprises, équipes). Cela posait plusieurs problèmes :
- Mélange des contacts personnels et professionnels
- Impossibilité de recevoir des emails personnels sans les partager avec l'équipe
- Pas de séparation entre les données privées et les données d'entreprise
- Confusion lors du passage entre plusieurs mandats/clients L'Espace Personnel résout ces problèmes en créant un cloisonnement naturel tout en permettant une vue unifiée quand l'utilisateur le souhaite.
Organisation PERSONAL vs STANDARD
Schéma visuel du concept
Structure multi-organisation d'un utilisateur GoWeBa : ┌─────────────────────────────────────────────────────┐ │ Utilisateur GoWeBa │ │ │ │ 🏠 Espace Personnel (PERSONAL) │ │ ├── Mes contacts personnels │ │ ├── Ma boîte email personnelle │ │ └── Mon Webabox personnel │ │ │ │ 🏢 Organisation A — GoWeBa.com (STANDARD) │ │ ├── Contacts d'équipe │ │ ├── Boîte email partagée │ │ └── Webabox de l'équipe │ │ │ │ 🏢 Organisation B — AlainBessette.com (STANDARD) │ │ ├── Contacts d'équipe │ │ ├── Boîte email partagée │ │ └── Webabox de l'équipe │ │ │ │ ◀═══ Sélecteur d'organisation (switcher) ═══▶ │ └─────────────────────────────────────────────────────┘
Phase 1 — Architecture et création automatique
La Phase 1 pose les fondations de l'Espace Personnel : le type d'organisation (OrgType), la création automatique à l'inscription, et le sélecteur d'organisation mis à jour.
Modification du schéma de données
Un nouvel enum OrgType a été ajouté au schéma Prisma :
Définition de l'enum dans le schéma : enum OrgType { PERSONAL STANDARD } Champ sur le modèle Organization : orgType OrgType @default(STANDARD) ⚠️ La migration est additive et compatible avec les données existantes. Toutes les organisations créées avant la Phase 1 conservent automatiquement le type STANDARD.
Création automatique de l'Espace Personnel
Lors de l'inscription d'un nouvel utilisateur, le système crée automatiquement :
- Un compte utilisateur — email, mot de passe, nom
- Une organisation personnelle — avec orgType = PERSONAL
- Un membership — rôle OWNER, liant l'utilisateur à son espace personnel Règles de nommage de l'organisation personnelle :
Traitement des utilisateurs existants
Pour les utilisateurs qui existaient avant la Phase 1, un script de migration a été exécuté pour créer rétroactivement un Espace Personnel pour chacun d'entre eux. Utilisateurs concernés lors du déploiement initial :
Sélecteur d'organisation (Org Switcher)
Le sélecteur d'organisation dans la barre latérale a été mis à jour pour afficher deux sections distinctes :
Comportement du sélecteur :
- Clique sur le sélecteur d'organisation dans la barre latérale gauche
- La liste déroulante s'affiche avec deux sections séparées
- La section 🏠 (Espace Personnel) apparaît en premier
- La section 🏢 (Organisations) affiche tes organisations professionnelles
- Clique sur une organisation pour y basculer
- L'interface se met à jour instantanément pour refléter l'organisation sélectionnée 💡 Le sélecteur affiche un séparateur visuel entre les deux sections pour une distinction claire. ✅ Le sélecteur d'organisation est fonctionnel et déployé en production.
Fichiers modifiés — Phase 1
Phase 2 — Composition cross-org et onglets Contacts
La Phase 2 introduit deux fonctionnalités clés : la possibilité de composer des emails depuis n'importe quelle organisation, et le filtrage des contacts par organisation.
Composition cross-organisation
Avant la Phase 2, un utilisateur ne pouvait envoyer des emails qu'avec les comptes email de l'organisation active. Avec la Phase 2, le modal de composition affiche tous les comptes email de toutes les organisations de l'utilisateur, regroupés par organisation. Fonctionnement :
- Clique sur « Composer » dans la Webabox
- Le modal de composition s'ouvre
- Dans le sélecteur « De » (expéditeur), les comptes sont regroupés par organisation
- Chaque groupe affiche le nom de l'organisation avec son icône (🏠 ou 🏢)
- Sélectionne le compte email depuis lequel tu veux envoyer
- Rédige ton email normalement
- Clique sur « Envoyer » Exemple de regroupement dans le sélecteur « De » :
Nouvel endpoint API — Comptes cross-org
Un nouvel endpoint API a été créé pour récupérer les comptes email de toutes les organisations de l'utilisateur :
Structure de la réponse : { "accounts": [ { "id": "...", "emailAddress": "[email protected]", "displayName": "Alain Bessette", "type": "PERSONAL_EMAIL", "status": "active", "isDefault": true, "organizationId": "...", "organizationName": "Alain Bessette", "orgType": "PERSONAL" } ] }
Onglets de filtrage — Module Contacts
Le module Contacts a été enrichi avec des onglets permettant de filtrer les contacts par organisation :
Fonctionnement des onglets :
- Ouvre le module Contacts depuis le menu latéral
- Les onglets de filtrage apparaissent au-dessus de la liste de contacts
- Par défaut, l'onglet « Toutes les organisations » est sélectionné
- Clique sur « Organisation courante » pour filtrer par l'organisation active
- La liste de contacts se met à jour instantanément
- Le compteur de contacts reflète le filtre actif 💡 Les onglets de contacts sont particulièrement utiles quand tu as beaucoup de contacts répartis entre ton espace personnel et tes organisations professionnelles.
Fichiers modifiés — Phase 2
Phase 3 — Agrégation Webabox cross-org
La Phase 3 est la plus impactante : elle permet à la Webabox (boîte de réception unifiée) d'afficher les messages de toutes les organisations de l'utilisateur simultanément, avec un système d'onglets pour filtrer par organisation.
Concept — Vue unifiée multi-organisation
Avant la Phase 3, la Webabox n'affichait que les messages de l'organisation active. L'utilisateur devait changer d'organisation pour voir ses autres messages. Avec la Phase 3, un système de « scope » permet d'afficher :
Onglets de la Webabox
La Webabox affiche maintenant une barre d'onglets au-dessus de la liste des messages : Exemple pour un utilisateur avec 3 organisations :
Comportement des onglets :
- Par défaut, l'onglet « Toutes » est sélectionné (scope=all)
- Clique sur un onglet pour filtrer les messages de cette organisation
- Les messages, les compteurs et les statistiques se mettent à jour en temps réel
- Le scope est transmis à tous les appels API (threads, snapshot, recherche)
- Le changement d'onglet ne change PAS l'organisation active — il filtre uniquement la vue ⚠️ Le changement d'onglet dans la Webabox n'est PAS la même chose que le changement d'organisation dans le sélecteur. L'onglet filtre la vue, tandis que le sélecteur change le contexte global de l'application.
Fonction resolveOrgIds — Résolution du scope
Une nouvelle fonction utilitaire resolveOrgIds a été ajoutée aux endpoints API de la Webabox. Elle résout le paramètre scope en une liste d'identifiants d'organisation : Logique de résolution :
Endpoints API modifiés — Phase 3
Deux endpoints existants ont été modifiés pour supporter le paramètre scope :
Exemple d'appel API avec scope : GET /api/inbox/threads?tab=inbox&scope=all&page=1&limit=20 GET /api/inbox/snapshot?scope=all
Composants UI modifiés — Phase 3
Plusieurs composants de la Webabox ont été modifiés pour supporter l'agrégation cross-org :
Fichiers modifiés — Phase 3
Impact sur les modules existants
L'introduction de l'Espace Personnel modifie le comportement de plusieurs modules documentés dans la Bible des Opérations. Voici le détail des impacts par module :
Module 02 — Contacts & CRM
Impact : MODÉRÉ
- Ajout d'onglets de filtrage « Toutes les organisations » et « Organisation courante »
- Les contacts sont maintenant cloisonnés par organisation
- Un contact créé dans l'Espace Personnel est privé et invisible pour les organisations professionnelles
- La recherche de contacts peut couvrir toutes les organisations (onglet « Toutes ») Section du module 02 à mettre à jour :
- Section 3 (Interface) — Mentionner les onglets de filtrage
- Section 4 (Fonctionnalités) — Ajouter le comportement cross-org
Module 03 — Webabox / Boîte de Réception
Impact : MAJEUR
- La Webabox affiche maintenant des onglets d'organisation au-dessus de la liste des messages
- Le scope (all, current, orgId) est transmis à tous les appels API
- La composition d'email utilise un sélecteur d'expéditeur regroupé par organisation
- Les compteurs (badge de messages non lus) reflètent le scope actif Sections du module 03 à mettre à jour :
- Section 3 (Interface) — Ajouter les onglets d'organisation
- Section 4.1 (Composer un email) — Documenter le sélecteur cross-org
- Section 5 (Cas d'utilisation) — Ajouter le cas multi-organisation
Module 00 — Périmètre fonctionnel
Impact : MINEUR
- Ajouter l'Espace Personnel à la liste des modules/fonctionnalités
- Mettre à jour le schéma d'architecture pour inclure le type PERSONAL
Module 20 — Administration système
Impact : MINEUR
- Documenter le nouveau type d'organisation PERSONAL
- Les administrateurs système voient les deux types dans le panneau d'administration
- Les organisations personnelles ne peuvent pas être supprimées par l'administrateur
Modules NON impactés
Les modules suivants ne sont pas impactés par l'Espace Personnel :
Référence technique complète
Modifications du schéma de données
Nouveaux endpoints API
Endpoints modifiés
Fichiers créés
Fichiers modifiés
Dépendances ajoutées
Clés de traduction (i18n)
Les clés de traduction suivantes ont été ajoutées pour supporter l'Espace Personnel dans les trois langues de GoWeBa :
Clés — Phase 1 (Espace Personnel)
Clés — Phase 2 (Cross-org + Contacts)
Guide de dépannage
Voici les problèmes les plus fréquents liés à l'Espace Personnel et leurs solutions :
Historique des versions
Prochaines mises à jour prévues :
- Intégration des fonctionnalités de téléphonie avancée
- Améliorations du pipeline de ventes
- Nouvelles automatisations basées sur l'IA
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
GoWeBa — Bible des Opérations — Addendum 01 Espace Personnel — Phases 1, 2 et 3
| # | Section | Page |
|---|---|---|
| 1 | Contexte et objectif de l'Addendum | 3 |
| 2 | Vue d'ensemble — Concept d'Espace Personnel | 3 |
| 3 | Phase 1 — Architecture et création automatique | 4 |
| 4 | Phase 2 — Composition cross-org et onglets Contacts | 6 |
| 5 | Phase 3 — Agrégation Webabox cross-org | 8 |
| 6 | Impact sur les modules existants | 10 |
| 7 | Référence technique complète | 11 |
| 8 | Clés de traduction (i18n) | 13 |
| 9 | Guide de dépannage | 14 |
| 10 | Historique des versions | 15 |
| Convention | Signification |
|---|---|
| 💡 | Conseil ou astuce pour une meilleure utilisation |
| ⚠️ | Avertissement — point d'attention important |
| ✅ | Confirmation — fonctionnalité opérationnelle |
| 🏠 | Icône identifiant l'Espace Personnel dans l'interface |
| 🏢 | Icône identifiant une organisation professionnelle |
| Texte en cyan | Numérotation des étapes et éléments techniques |
| Caractéristique | PERSONAL (Espace Personnel) | STANDARD (Organisation classique) |
|---|---|---|
| Création | Automatique à l'inscription | Manuelle par un administrateur |
| Nom | Prénom Nom (de l'utilisateur) | Nom de l'entreprise/équipe |
| Slug | prenom-nom-personal | slug-de-l-entreprise |
| Propriétaire | L'utilisateur (seul membre) | Un ou plusieurs administrateurs |
| Membres | Un seul (le propriétaire) | Plusieurs membres possibles |
| Contacts | Contacts personnels privés | Contacts partagés de l'équipe |
| Emails | Boîte personnelle privée | Boîte partagée de l'équipe |
| Icône | 🏠 Maison | 🏢 Immeuble |
| Suppression | Non supprimable | Supprimable par l'admin |
| Champ orgType | PERSONAL | STANDARD |
| Élément | Détail | Impact |
|---|---|---|
| Enum OrgType | PERSONAL | STANDARD |
| Champ orgType | Sur le modèle Organization | Valeur par défaut : STANDARD |
| Migration | Additive (compatible) | Aucune perte de données |
| Propriété | Valeur | Exemple |
|---|---|---|
| Nom | Prénom Nom (de l'utilisateur) | Alain Bessette |
| Slug | prenom-nom-personal | alain-bessette-personal |
| OrgType | PERSONAL | — |
| Propriétaire | L'utilisateur lui-même | — |
| Utilisateur | Espace Personnel créé | |
|---|---|---|
| Alain Bessette | [email protected] | ✅ alain-bessette-personal |
| Mathieu Villeneuve | [email protected] | ✅ mathieu-villeneuve-personal |
| Mariève Émond | [email protected] | ✅ marieve-emond-personal |
| John Smith | [email protected] | ✅ john-smith-personal |
| Section | Icône | Contenu | Position |
|---|---|---|---|
| Espace Personnel | 🏠 | L'organisation personnelle de l'utilisateur | En haut |
| Organisations | 🏢 | Les organisations professionnelles | En dessous |
| Fichier | Type de modification |
|---|---|
| prisma/schema.prisma | Ajout enum OrgType, champ orgType sur Organization |
| app/api/auth/signup/route.ts | Création auto de l'org personnelle à l'inscription |
| components/layouts/org-switcher.tsx | Sections 🏠/🏢, filtrage par OrgType |
| scripts/seed.ts | Création des espaces personnels pour les utilisateurs existants |
| lib/i18n/locales/fr.json | Clés de traduction pour l'Espace Personnel |
| lib/i18n/locales/en.json | Clés de traduction (anglais) |
| lib/i18n/locales/es.json | Clés de traduction (espagnol) |
| Organisation | Icône | Comptes disponibles |
|---|---|---|
| Alain Bessette (Personnel) | 🏠 | [email protected] |
| GoWeBa.com | 🏢 | [email protected], [email protected] |
| AlainBessette.com | 🏢 | [email protected] |
| Propriété | Détail |
|---|---|
| Méthode | GET |
| URL | /api/inbox/accounts/all |
| Authentification | Requise (session utilisateur) |
| Description | Retourne tous les comptes email de toutes les organisations de l'utilisateur |
| Paramètres | Aucun — les organisations sont résolues à partir de la session |
| Onglet | Comportement | Utilisation |
|---|---|---|
| Toutes les organisations | Affiche les contacts de toutes tes organisations | Vue globale |
| Organisation courante | Affiche uniquement les contacts de l'organisation active | Vue filtrée |
| Fichier | Type de modification |
|---|---|
| app/api/inbox/accounts/all/route.ts | NOUVEAU — Endpoint cross-org accounts |
| app/(app)/inbox/compose-modal.tsx | Sélecteur « De » groupé par organisation |
| app/(app)/contacts/page.tsx | Support des onglets de filtrage par org |
| app/(app)/contacts/contacts-table.tsx | Barre d'onglets UI dans le tableau |
| lib/i18n/locales/fr.json | Clés contacts.allOrgs, contacts.currentOrg, inbox.compose.defaultOrg |
| lib/i18n/locales/en.json | Mêmes clés (anglais) |
| lib/i18n/locales/es.json | Mêmes clés (espagnol) |
| Scope | Comportement | Cas d'utilisation |
|---|---|---|
| all | Affiche les messages de toutes les organisations | Vue panoramique de tous tes messages |
| current | Affiche uniquement les messages de l'org active | Travail focalisé sur une organisation |
| <orgId> | Affiche les messages d'une organisation spécifique | Consultation ciblée d'une org |
| Onglet | Icône | Scope envoyé à l'API |
|---|---|---|
| Toutes | — | scope=all |
| Alain Bessette (Personnel) | 🏠 | scope=<orgId_personnel> |
| GoWeBa.com | 🏢 | scope=<orgId_goweba> |
| AlainBessette.com | 🏢 | scope=<orgId_alain> |
| Scope reçu | Résolution | Organisations retournées |
|---|---|---|
| null / "current" | Organisation active de l'utilisateur | [currentOrgId] |
| "all" | Toutes les organisations de l'utilisateur | [orgId1, orgId2, ...] |
| "<orgId>" | Vérifie l'accès, retourne l'org spécifique | [orgId] ou [currentOrgId] si pas d'accès |
| Endpoint | Paramètre ajouté | Comportement |
|---|---|---|
| GET /api/inbox/threads | scope=all | current |
| GET /api/inbox/snapshot | scope=all | current |
| Composant | Modification | Rôle |
|---|---|---|
| inbox/page.tsx | Charge les organisations de l'utilisateur au chargement | Injection des données d'org |
| inbox/inbox-shell.tsx | Accepte les props userOrgs et activeOrgId | Transmission aux composants enfants |
| inbox/webabox-client.tsx | Gestion du state orgScope, barre d'onglets, scope dans les appels API | Interface utilisateur principale |
| Fichier | Type de modification |
|---|---|
| app/api/inbox/threads/route.ts | Ajout param scope + fonction resolveOrgIds |
| app/api/inbox/snapshot/route.ts | Ajout param scope + fonction resolveOrgIds |
| app/(app)/inbox/page.tsx | Chargement des orgs utilisateur (server-side) |
| app/(app)/inbox/inbox-shell.tsx | Props userOrgs + activeOrgId |
| app/(app)/inbox/webabox-client.tsx | State orgScope, onglets, scope dans API calls |
| Module | Raison |
|---|---|
| OG_01 — Premiers pas | Aucun changement dans le processus d'inscription visible |
| OG_04 — WEBA Assistant IA | L'IA fonctionne indépendamment de l'organisation |
| OG_05 — Pipeline de ventes | Le pipeline reste lié à l'organisation active |
| OG_06 — Formulaires | Les formulaires restent liés à l'organisation active |
| OG_07 — Automatisations | Les automatisations restent liées à l'organisation active |
| OG_08 — Téléphonie | La téléphonie reste liée au compte SIP actif |
| OG_09 — Rapports | Les rapports sont générés par organisation active |
| OG_10 — Facturation | La facturation est par organisation |
| OG_11 — WEBA Comm | Communication indépendante de l'org type |
| OG_12 — Intégrations | Les intégrations sont par organisation |
| OG_13 — SMS Marketing | Le marketing SMS est par organisation |
| OG_14 — Templates | Les templates sont par organisation |
| OG_15 — Calendrier | Le calendrier est par organisation |
| OG_16 — Tâches | Les tâches sont par organisation |
| OG_17 — Sites Web | Les sites sont par organisation |
| OG_18 — Réputation | La réputation est par organisation |
| OG_19 — Réseaux Sociaux | Les réseaux sociaux sont par organisation |
| Élément | Type | Valeurs | Modèle | Migration |
|---|---|---|---|---|
| enum OrgType | Enum | PERSONAL | STANDARD | — |
| orgType | Champ | OrgType @default(STANDARD) | Organization | Additive |
| Endpoint | Méthode | Description | Phase |
|---|---|---|---|
| /api/inbox/accounts/all | GET | Comptes email de toutes les orgs de l'utilisateur | Phase 2 |
| Endpoint | Paramètre ajouté | Valeurs | Phase |
|---|---|---|---|
| GET /api/inbox/threads | scope | all | current |
| GET /api/inbox/snapshot | scope | all | current |
| Fichier | Description | Phase |
|---|---|---|
| app/api/inbox/accounts/all/route.ts | Endpoint cross-org accounts | Phase 2 |
| Fichier | Description | Phase |
|---|---|---|
| prisma/schema.prisma | Enum OrgType + champ orgType | Phase 1 |
| app/api/auth/signup/route.ts | Création auto org personnelle | Phase 1 |
| components/layouts/org-switcher.tsx | Sections 🏠/🏢 | Phase 1 |
| scripts/seed.ts | Espaces personnels existants | Phase 1 |
| app/(app)/inbox/compose-modal.tsx | Sélecteur cross-org | Phase 2 |
| app/(app)/contacts/page.tsx | Onglets de filtrage | Phase 2 |
| app/(app)/contacts/contacts-table.tsx | Barre d'onglets UI | Phase 2 |
| app/api/inbox/threads/route.ts | Param scope + resolveOrgIds | Phase 3 |
| app/api/inbox/snapshot/route.ts | Param scope + resolveOrgIds | Phase 3 |
| app/(app)/inbox/page.tsx | Chargement orgs utilisateur | Phase 3 |
| app/(app)/inbox/inbox-shell.tsx | Props userOrgs/activeOrgId | Phase 3 |
| app/(app)/inbox/webabox-client.tsx | State orgScope, onglets, API scope | Phase 3 |
| lib/i18n/locales/fr.json | Clés i18n (FR) | Phases 1-2 |
| lib/i18n/locales/en.json | Clés i18n (EN) | Phases 1-2 |
| lib/i18n/locales/es.json | Clés i18n (ES) | Phases 1-2 |
| Package | Version | Raison | Phase |
|---|---|---|---|
| @dnd-kit/utilities | ^3.2.2 | Dépendance manquante (drag & drop inbox) | Phase 3 |
| pdfjs-dist | ^4.4.168 | Dépendance manquante (PDF preview) | Phase 3 |
| react-markdown | ^9.0.1 | Dépendance manquante (markdown rendering) | Phase 3 |
| Clé | FR | EN | ES |
|---|---|---|---|
| org.personalSpace | Espace Personnel | Personal Space | Espacio Personal |
| org.organizations | Organisations | Organizations | Organizaciones |
| org.personalOrg | Mon Espace Personnel | My Personal Space | Mi Espacio Personal |
| Clé | FR | EN | ES |
|---|---|---|---|
| contacts.allOrgs | Toutes les organisations | All organizations | Todas las organizaciones |
| contacts.currentOrg | Organisation courante | Current organization | Organización actual |
| inbox.compose.defaultOrg | Organisation par défaut | Default organization | Organización predeterminada |
| Problème | Cause probable | Solution |
|---|---|---|
| Mon Espace Personnel n'apparaît pas dans le sélecteur | Bug lors de la création du compte | Contacter l'administrateur pour vérifier la présence de l'org PERSONAL dans la base de données |
| Je ne vois pas les comptes email de mes autres organisations dans le compositeur | Les comptes email ne sont pas configurés dans les autres organisations | Vérifier la configuration des comptes email dans chaque organisation via Paramètres > Email |
| L'onglet « Toutes » dans la Webabox est lent | Grand nombre de messages à travers plusieurs organisations | Utiliser les onglets par organisation pour une vue plus ciblée et rapide |
| Les contacts de mon Espace Personnel apparaissent dans mon organisation professionnelle | L'onglet « Toutes les organisations » est sélectionné | Basculer vers l'onglet « Organisation courante » pour filtrer par org active |
| Je ne peux pas supprimer mon Espace Personnel | Comportement normal — par design | L'Espace Personnel est permanent et ne peut pas être supprimé. Contacter l'administrateur si nécessaire |
| Le badge de messages non lus ne reflète pas tous mes messages | Le badge affiche le scope actif (pas forcément « Toutes ») | Changer l'onglet vers « Toutes » pour voir le compteur global |
| Version | Date | Description | Auteur |
|---|---|---|---|
| 1.0 | 06 mai 2026 | Publication initiale de la Bible des Opérations (20 modules) | GoWeBa |
| 1.1 | 07 mai 2026 | Addendum 01 — Espace Personnel (Phases 1, 2 et 3) | GoWeBa |