# 📄 Document 6 : Standards d'InteropĂ©rabilitĂ© Technique **Version :** 1.0 **Date :** 26 octobre 2025 **Statut :** Document opĂ©rationnel **Objet :** DĂ©finir les standards techniques obligatoires et recommandĂ©s pour garantir l'interopĂ©rabilitĂ© entre membres de l'Alliance BorĂ©ale. **CompatibilitĂ© :** Conforme aux documents `00_Modele_8_couches_v3.md`, `00_Nomenclature_v3.md` et `00_Glossaire_v3.md`. --- ## đŸŒ± PrĂ©ambule > L'interopĂ©rabilitĂ© n'est pas une contrainte technique — c'est une **garantie de libertĂ©**. > Chaque protocole ouvert est une porte de sortie, chaque standard mature est une promesse de pĂ©rennitĂ©. Ce document s'inscrit dans le principe de **portabilitĂ© des tenants** (§1.2 de `00_Nomenclature_v3.md`) et respecte le principe **adjacent-only** (§2.1 de `00_Modele_8_couches_v3.md`). --- ## 🧬 1. Philosophie de l'interopĂ©rabilitĂ© ### 1.1 Principes directeurs ConformĂ©ment au **Glossaire v3** (Famille C — Lexique cognitif), l'Alliance adopte les principes suivants : | Principe | Signification | RĂ©fĂ©rence | |----------|--------------|-----------| | **Protocoles ouverts avant tout** | Standards publics, documentĂ©s, implĂ©mentables librement | ModĂšle v3 §5.1 | | **PrĂ©fĂ©rence pour standards matures** | RFCs, W3C, spĂ©cifications Ă©prouvĂ©es | Glossaire v3 | | **Éviter les silos technologiques** | Refus de toute solution propriĂ©taire sans alternative | RĂšglement v3 §II | | **Faciliter la migration des utilisateurs** | PortabilitĂ© garantie (export complet testable) | Nomenclature v3 §1.2 | ### 1.2 HiĂ©rarchie des standards ``` Obligatoire → ImplĂ©mentation requise pour conformitĂ© minimale RecommandĂ© → ImplĂ©mentation fortement encouragĂ©e Optionnel → Valeur ajoutĂ©e, non requis pour le label ``` --- ## 🔐 2. IdentitĂ© fĂ©dĂ©rĂ©e (Single Sign-On) **Couche concernĂ©e :** C3 (Gouvernance) → C5 (Pivot) → C6 (Services tenant) ### 2.1 Standards requis (Obligatoires) ConformĂ©ment Ă  `00_Nomenclature_v3.md` §1.2.4 (IdentitĂ© & DNS fĂ©dĂ©rĂ©s) : | Standard | Version minimale | Usage | |----------|------------------|-------| | **OpenID Connect** | 1.0 | Authentification fĂ©dĂ©rĂ©e (recommandĂ©) | | **SAML 2.0** | 2.0 | Authentification fĂ©dĂ©rĂ©e (acceptĂ©) | | **OAuth 2.0** | 2.1 | Autorisation pour APIs | ### 2.2 ImplĂ©mentations recommandĂ©es | Solution | Type | Justification | |----------|------|---------------| | **Keycloak** | IdP complet | RĂ©fĂ©rence recommandĂ©e, mature, open source | | **Authelia** | Proxy auth | LĂ©ger, adaptĂ© aux petites structures | | **Authentik** | IdP moderne | Alternative viable, interface moderne | **Exigence minimale :** Publication des mĂ©tadonnĂ©es de fĂ©dĂ©ration (.well-known/openid-configuration) ### 2.3 Attributs minimaux Ă©changĂ©s ConformĂ©ment au principe de **minimisation des donnĂ©es** (Cadre ConformitĂ© v3 §2.3) : ```yaml attributs_obligatoires: - sub: Identifiant unique (UUID ou Ă©quivalent) - email: Adresse courriel de contact - name: Nom d'affichage attributs_optionnels: - groups: Appartenance Ă  des groupes/rĂŽles - picture: Avatar utilisateur ``` ### 2.4 Respect du principe adjacent-only **IMPORTANT :** Les tenants (C6-C8) **ne communiquent jamais directement** avec l'IdP fĂ©dĂ©rĂ© (C3). Toutes les authentifications passent par **C5 (Pivot)**. ``` Flux correct : Tenant C6 → C5 (Pivot) → C3 (IdP Keycloak) → C5 → C6 Flux interdit : Tenant C6 ──X──> C3 (accĂšs direct) ``` --- ## 📧 3. Courriel **Couche concernĂ©e :** C2 (RĂ©seau/DNS) + C6 (Services) ### 3.1 Standards obligatoires | Standard | RFC | Fonction | |----------|-----|----------| | **SMTP** | RFC 5321 | Envoi de messages | | **IMAP / POP3** | RFC 3501 / 1939 | RĂ©ception de messages | | **DKIM** | RFC 6376 | Signature des messages | | **SPF** | RFC 7208 | Validation expĂ©diteur | | **DMARC** | RFC 7489 | Politique de validation | | **TLS** | RFC 8314 | Chiffrement transport (STARTTLS obligatoire) | ### 3.2 FonctionnalitĂ©s recommandĂ©es | FonctionnalitĂ© | Standard | Justification | |----------------|----------|---------------| | **S/MIME** | RFC 8551 | Chiffrement bout-Ă -bout | | **PGP/GPG** | RFC 4880 | Alternative chiffrement E2E | | **Listes de diffusion** | — | Mailman 3, Sympa (facilite la coopĂ©ration) | | **Antispam collaboratif** | — | Rspamd, SpamAssassin (mutualisation possible) | ### 3.3 Configuration DNS minimale ConformĂ©ment Ă  `00_Nomenclature_v3.md` §4 (Plan d'adressage) : ```dns ; Exemple pour membre.alliance-boreale.ca membre.alliance-boreale.ca. IN MX 10 mail.membre.alliance-boreale.ca. membre.alliance-boreale.ca. IN TXT "v=spf1 mx -all" _dmarc.membre.alliance-boreale.ca. IN TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc@membre.ca" default._domainkey.membre.ca. IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCS..." ``` --- ## 📁 4. Partage de fichiers et collaboration **Couche concernĂ©e :** C6 (Services tenant) ### 4.1 Protocoles ouverts obligatoires | Protocole | RFC/Standard | Usage | |-----------|--------------|-------| | **WebDAV** | RFC 4918 | Partage de fichiers web | | **CalDAV** | RFC 4791 | Calendriers partagĂ©s | | **CardDAV** | RFC 6352 | Carnets d'adresses | | **SFTP/SCP** | — | Transfert sĂ©curisĂ© fichiers | ### 4.2 Solutions recommandĂ©es | Solution | Type | Justification | |----------|------|---------------| | **Nextcloud** | Suite complĂšte | RĂ©fĂ©rence recommandĂ©e (fichiers + calendriers + contacts) | | **Seafile** | Stockage fichiers | Alternative performante | | **ownCloud** | Suite complĂšte | Alternative viable | **Exigence :** Support **obligatoire** de WebDAV pour la portabilitĂ© des donnĂ©es. ### 4.3 Partage public - Liens de partage temporaires (avec expiration configurable) - Protection par mot de passe optionnelle - Limitation du nombre de tĂ©lĂ©chargements --- ## đŸŽ„ 5. VisioconfĂ©rence **Couche concernĂ©e :** C6 (Services tenant) ### 5.1 Standards et protocoles | Standard | Usage | Statut | |----------|-------|--------| | **Jitsi Meet** | VisioconfĂ©rence web | RecommandĂ© | | **SIP/RTP** | Protocole tĂ©lĂ©phonie | Pour interopĂ©rabilitĂ© | | **WebRTC** | Communication temps rĂ©el | Sous-jacent Ă  Jitsi | ### 5.2 Exigences - ✅ HĂ©bergement local (pas de relais cloud propriĂ©taire) - ✅ Chiffrement bout-Ă -bout optionnel (selon sensibilitĂ©) - ✅ Enregistrement possible (avec consentement explicite des participants) - ❌ Interdiction de solutions propriĂ©taires sans alternative (Zoom, Teams) **ConformitĂ© Ă©thique :** Respect du principe de **sobriĂ©tĂ© numĂ©rique** (Glossaire v3) — privilĂ©gier audio seul si vidĂ©o non nĂ©cessaire. --- ## 💬 6. Messagerie instantanĂ©e **Couche concernĂ©e :** C6 (Services tenant) ### 6.1 Protocole requis | Protocole | Version | Statut | |-----------|---------|--------| | **Matrix** | 1.0+ | Obligatoire (protocole fĂ©dĂ©rĂ©) | **Justification :** Matrix est le seul protocole de messagerie instantanĂ©e mature, fĂ©dĂ©rĂ© et chiffrĂ© E2E par dĂ©faut. ### 6.2 ImplĂ©mentation | Composant | Solution recommandĂ©e | |-----------|---------------------| | Serveur | **Synapse** (rĂ©fĂ©rence) ou Dendrite, Conduit | | Client web | Element Web | | Clients mobiles | Element Android/iOS, FluffyChat | ### 6.3 FonctionnalitĂ©s requises - ✅ Chiffrement E2E (Olm/Megolm) activĂ© par dĂ©faut - ✅ FĂ©dĂ©ration activĂ©e avec autres membres Alliance - ✅ Salons publics pour coordination inter-membres - ⚠ Bridges optionnels (IRC, XMPP, Signal) pour interopĂ©rabilitĂ© externe ### 6.4 Configuration fĂ©dĂ©rĂ©e ConformĂ©ment au principe **adjacent-only**, la fĂ©dĂ©ration Matrix passe par **C5 (Pivot)** : ```yaml # Exemple dĂ©lĂ©gation DNS (.well-known/matrix/server) { "m.server": "matrix.pivot.membre.alliance-boreale.ca:8448" } ``` --- ## 🔹 7. Forge logicielle et gestion de projets **Couche concernĂ©e :** C4 (Forge mutualisĂ©e) ### 7.1 Solutions recommandĂ©es ConformĂ©ment Ă  `00_Modele_8_couches_v3.md` §2 (C4 = MĂ©tabolisme commun — Forge mutualisĂ©e) : | Solution | Type | Statut | |----------|------|--------| | **Forgejo** | Forge Git | PrĂ©fĂ©rĂ© (fork communautaire de Gitea) | | **Gitea** | Forge Git | AcceptĂ© | | **GitLab CE** | Forge complĂšte | AcceptĂ© (plus lourd) | ### 7.2 InteropĂ©rabilitĂ© **Exigences minimales :** - ✅ Git comme base (push/pull standard entre forges) - ✅ APIs REST documentĂ©es (OpenAPI/Swagger) - ✅ Webhooks pour intĂ©gration CI/CD - ✅ Support des clĂ©s SSH et GPG - ✅ Gestion des artefacts (packages, conteneurs) ### 7.3 IntĂ©gration avec C3 (Gouvernance) ConformĂ©ment au `02_Reglement_v3.md` §IV (Processus et flux dĂ©cisionnels) : - Toutes les dĂ©cisions de gouvernance → versionnĂ©es dans la forge C4 - Politiques OPA (Open Policy Agent) → stockĂ©es et signĂ©es dans C4 - TraçabilitĂ© complĂšte via Git history --- ## 📊 8. Monitoring et observabilitĂ© **Couche concernĂ©e :** C5 (Pivot — collecte) + C3 (Gouvernance — agrĂ©gation) ### 8.1 MĂ©triques partagĂ©es (Obligatoire) ConformĂ©ment Ă  `00_Nomenclature_v3.md` §1.2.5 (ObservabilitĂ© scindĂ©e) : | Composant | Standard | Usage | |-----------|----------|-------| | **Prometheus** | OpenMetrics | Collecte mĂ©triques | | **Grafana** | — | Visualisation | | **Node Exporter** | — | MĂ©triques systĂšme (CPU, RAM, disque) | **RĂšgle de sĂ©paration :** ``` MĂ©triques infrastructure (C1-C4) → PropriĂ©tĂ© fĂ©dĂ©ration MĂ©triques applicatives (C6-C8) → PropriĂ©tĂ© tenant (exportables) ``` ### 8.2 Logs centralisĂ©s (Optionnel) | Standard | Usage | Justification | |----------|-------|---------------| | **JSON structurĂ©** | Format logs | Parsing automatisĂ© | | **Syslog (RFC 5424)** | Transport | InteropĂ©rabilitĂ© | **Important :** Respect de la vie privĂ©e — anonymisation obligatoire des donnĂ©es personnelles dans les logs. ### 8.3 Traces distribuĂ©es (RecommandĂ©) - OpenTelemetry (pour systĂšmes complexes multi-services) - Export au format OTLP --- ## 🔄 9. Exceptions et Ă©volutions ### 9.1 Processus de dĂ©rogation ConformĂ©ment au `02_Reglement_v3.md` §IV (Processus dĂ©cisionnels) : **Un membre peut demander une exception** Ă  un standard obligatoire si : 1. Justification technique solide (incompatibilitĂ© avĂ©rĂ©e) 2. Plan de migration vers le standard (dĂ©lai raisonnable) 3. Documentation de l'alternative utilisĂ©e **DĂ©cision :** Cercle Technique (consentement sociocratique) **ValiditĂ© :** 12 mois maximum, réévaluation obligatoire ### 9.2 Revue annuelle des standards - **PĂ©riodicitĂ© :** Revue annuelle obligatoire (trimestre 1 de chaque annĂ©e) - **DĂ©clencheurs :** - Obsolescence d'un standard (fin de vie RFC) - Émergence de nouvelle technologie mature - Demande motivĂ©e d'un membre - **Processus :** 1. Proposition documentĂ©e 2. PĂ©riode de discussion (30 jours) 3. DĂ©cision Cercle Technique 4. Mise Ă  jour du prĂ©sent document (v+1) ### 9.3 IntĂ©gration de nouveaux protocoles **CritĂšres d'acceptation :** - ✅ Standard ouvert (RFC, W3C ou Ă©quivalent) - ✅ ImplĂ©mentations libres disponibles (≄2) - ✅ MaturitĂ© dĂ©montrĂ©e (≄2 ans d'existence) - ✅ Alignement avec les valeurs borĂ©ales (Glossaire v3 — Famille C) --- ## 📜 10. Annexe : Matrice de conformitĂ© ### 10.1 Niveaux de conformitĂ© du Label Correspondance avec `03_Cadre_Conformite_v3.md` §2.4 (InteropĂ©rabilitĂ© & FĂ©dĂ©ration) : | Niveau Label | Exigences interopĂ©rabilitĂ© | |--------------|---------------------------| | **Bronze** | SSO + Courriel standards + 1 service ouvert au choix | | **Argent** | Bronze + WebDAV + Matrix | | **Or** | Argent + Forge Git interopĂ©rable + Monitoring Prometheus | | **Platine** | Or + Visio Jitsi + Traces distribuĂ©es | ### 10.2 Checklist d'auto-Ă©valuation ```markdown □ SSO (OpenID Connect ou SAML) configurĂ© et testĂ© □ Courriel : DKIM + SPF + DMARC actifs □ Partage fichiers : WebDAV accessible □ Messagerie : Serveur Matrix fĂ©dĂ©rĂ© □ Forge : Git avec APIs REST documentĂ©es □ Monitoring : MĂ©triques Prometheus exportĂ©es □ DNS : Enregistrements fĂ©dĂ©ration publiĂ©s □ Documentation : Standards implĂ©mentĂ©s listĂ©s publiquement ``` --- ## 📖 11. RĂ©fĂ©rences documentaires | Document | Section pertinente | Usage dans ce doc | |----------|-------------------|------------------| | `00_Modele_8_couches_v3.md` | §2 (Anatomie), §5 (Symbiose) | Architecture C3-C4-C5-C6 | | `00_Nomenclature_v3.md` | §1.2 (PortabilitĂ©), §4 (RĂ©seau) | Principes adjacency, DNS | | `00_Glossaire_v3.md` | Famille B (Technique), Famille C (Valeurs) | Terminologie | | `02_Reglement_v3.md` | §IV (Processus dĂ©cisionnels) | Exceptions, dĂ©rogations | | `03_Cadre_Conformite_v3.md` | §2.4 (InteropĂ©rabilitĂ©) | CritĂšres Label | | `Carte_Equivalence_Standards.md` | §3 (Matrice d'Ă©quivalence) | Standards externes | --- ## 📜 ΔLog — CrĂ©ation v1.0 (26-10-2025) - CrĂ©ation du document selon plan TODO.md §Document 6 - Alignement strict avec documents 00_* (ModĂšle, Nomenclature, Glossaire) - IntĂ©gration principe adjacent-only pour tous les flux - Respect sĂ©paration fĂ©dĂ©rĂ©/tenant (observabilitĂ© scindĂ©e) - RĂ©fĂ©rences croisĂ©es avec RĂšglement v3 et Cadre ConformitĂ© v3 - Checklist d'auto-Ă©valuation pour Label --- ## 🌌 Signature BorĂ©ale > *Un protocole ouvert est une promesse tenue.* > *Un standard mature est un pont entre gĂ©nĂ©rations.* > *L'interopĂ©rabilitĂ© n'est pas une option — c'est notre libertĂ© collective.* --- **Fin du document**