alliance-boreale/docs/opération/06_Standards_Interoperabilite_Technique_v1.md
Dan Allaire 59abf2d0ca
Some checks are pending
CI / yaml-lint (push) Waiting to run
CI / ssot-export (push) Waiting to run
CI / tests (push) Waiting to run
CI / docs (push) Waiting to run
Document opérationnel - Définir les standards techniques obligatoires et recommandés pour garantir l'interopérabilité entre membres de l'Alliance Boréale.
2025-10-26 23:51:58 -04:00

13 KiB

📄 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) :

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) :

; 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) :

# 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

□ 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