1404 lines
36 KiB
Markdown
1404 lines
36 KiB
Markdown
|
|
# Guide de Démarrage Rapide — L'Alliance Boréale
|
|||
|
|
## Lancez votre fédération en 30 jours
|
|||
|
|
|
|||
|
|
**Version :** 1.0
|
|||
|
|
**Date :** 12 octobre 2025
|
|||
|
|
**Audience :** Membres fondateurs, coordinateur initial
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🎯 Objectif de ce Guide
|
|||
|
|
|
|||
|
|
Ce guide vous permet de **passer de l'idée à une Alliance opérationnelle en 30 jours**.
|
|||
|
|
|
|||
|
|
À la fin de ce processus, vous aurez :
|
|||
|
|
- ✅ Une fédération légalement fondée
|
|||
|
|
- ✅ Une infrastructure technique fonctionnelle (DNS, VPN, monitoring)
|
|||
|
|
- ✅ Une gouvernance sociocratique en place
|
|||
|
|
- ✅ Les premiers membres intégrés
|
|||
|
|
- ✅ Un Registraire public en ligne
|
|||
|
|
|
|||
|
|
**Philosophie :** *Faire simple, faire vite, améliorer en continu.*
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📋 Prérequis
|
|||
|
|
|
|||
|
|
### Avant de Commencer
|
|||
|
|
|
|||
|
|
**Vous devez avoir :**
|
|||
|
|
1. **3 organisations minimum** prêtes à être membres fondateurs
|
|||
|
|
- Chezlepro inc. (gardien initial)
|
|||
|
|
- 2+ partenaires alignés avec les valeurs
|
|||
|
|
|
|||
|
|
2. **Infrastructure technique de base chez chaque fondateur :**
|
|||
|
|
- Serveur dédié ou VPS (2+ vCPU, 4+ GB RAM)
|
|||
|
|
- Adresse IP publique fixe
|
|||
|
|
- Accès root/admin
|
|||
|
|
- Domaine DNS configuré
|
|||
|
|
|
|||
|
|
3. **Compétences techniques minimales :**
|
|||
|
|
- Administration Linux (Debian/Ubuntu de préférence)
|
|||
|
|
- Configuration DNS (PowerDNS, BIND, ou équivalent)
|
|||
|
|
- VPN (WireGuard ou équivalent)
|
|||
|
|
- Git de base
|
|||
|
|
|
|||
|
|
4. **Engagement de temps :**
|
|||
|
|
- ~10-15 heures/semaine pour le coordinateur initial
|
|||
|
|
- ~5 heures/semaine pour les autres fondateurs
|
|||
|
|
- Sur 4 semaines
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📅 Vue d'Ensemble : 4 Semaines
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
Semaine 1 : FONDATION
|
|||
|
|
├─ Adoption de la Charte
|
|||
|
|
├─ Constitution du Cercle des Référents Boréaux
|
|||
|
|
└─ Mise en place du Registraire
|
|||
|
|
|
|||
|
|
Semaine 2 : INFRASTRUCTURE
|
|||
|
|
├─ Allocation des blocs réseau IPv4
|
|||
|
|
├─ Configuration DNS (PowerDNS)
|
|||
|
|
├─ Mise en place des tunnels VPN (WireGuard)
|
|||
|
|
└─ Tests de connectivité
|
|||
|
|
|
|||
|
|
Semaine 3 : GOUVERNANCE
|
|||
|
|
├─ Constitution des 3 cercles
|
|||
|
|
├─ Première décision par consentement
|
|||
|
|
├─ Ouverture des outils (Matrix, Forge)
|
|||
|
|
└─ Mise en place de la Banque de Temps
|
|||
|
|
|
|||
|
|
Semaine 4 : CONSOLIDATION
|
|||
|
|
├─ Premier membre externe (si disponible)
|
|||
|
|
├─ Premier audit probatoire (test)
|
|||
|
|
├─ Communication publique
|
|||
|
|
└─ Planification des 3 prochains mois
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
# SEMAINE 1 — FONDATION
|
|||
|
|
|
|||
|
|
## Jour 1-2 : Adoption Formelle de la Charte
|
|||
|
|
|
|||
|
|
### 🎯 Objectif
|
|||
|
|
Chaque organisation fondatrice adopte officiellement la Charte via une résolution de son conseil d'administration.
|
|||
|
|
|
|||
|
|
### ✅ Actions
|
|||
|
|
|
|||
|
|
**Pour chaque organisation fondatrice :**
|
|||
|
|
|
|||
|
|
1. **Convoquer une réunion du CA (ou équivalent)**
|
|||
|
|
- Date : ASAP
|
|||
|
|
- Durée : 30-60 minutes
|
|||
|
|
- Ordre du jour : Adhésion à L'Alliance Boréale
|
|||
|
|
|
|||
|
|
2. **Présenter la Charte**
|
|||
|
|
- Distribuer la Charte aux administrateurs (48h avant si possible)
|
|||
|
|
- Présentation des valeurs et objectifs (10-15 min)
|
|||
|
|
- Période de questions
|
|||
|
|
|
|||
|
|
3. **Voter la résolution d'adhésion**
|
|||
|
|
|
|||
|
|
**Modèle de résolution :**
|
|||
|
|
```
|
|||
|
|
RÉSOLUTION DU CONSEIL D'ADMINISTRATION
|
|||
|
|
[Nom de l'organisation]
|
|||
|
|
|
|||
|
|
IL EST RÉSOLU :
|
|||
|
|
|
|||
|
|
1. D'adhérer à la fédération libre "L'Alliance Boréale"
|
|||
|
|
en tant que membre fondateur ;
|
|||
|
|
|
|||
|
|
2. D'adopter la Charte Fondatrice de L'Alliance Boréale
|
|||
|
|
version 1.0 datée du 12 octobre 2025 ;
|
|||
|
|
|
|||
|
|
3. D'accepter le Règlement de Régie Interne version 1.0 ;
|
|||
|
|
|
|||
|
|
4. D'autoriser [Nom, Titre] à représenter l'organisation
|
|||
|
|
auprès de l'Alliance et à signer tous documents nécessaires ;
|
|||
|
|
|
|||
|
|
5. De contribuer à la mise en place initiale de la fédération
|
|||
|
|
selon le Guide de Démarrage Rapide.
|
|||
|
|
|
|||
|
|
Adopté à l'unanimité à [Ville], le [Date].
|
|||
|
|
|
|||
|
|
Signatures :
|
|||
|
|
[Président] : _________________
|
|||
|
|
[Secrétaire] : _________________
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
4. **Documenter et archiver**
|
|||
|
|
- Procès-verbal de la réunion
|
|||
|
|
- Résolution signée (scan PDF)
|
|||
|
|
- Envoi au coordinateur initial
|
|||
|
|
|
|||
|
|
### 📦 Livrables
|
|||
|
|
- [ ] Résolution signée par chaque fondateur
|
|||
|
|
- [ ] Liste des représentants officiels
|
|||
|
|
- [ ] Coordonnées de contact (legal, security, NOC, privacy)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Jour 3 : Constitution du Cercle des Référents Boréaux
|
|||
|
|
|
|||
|
|
### 🎯 Objectif
|
|||
|
|
Mettre en place l'organe d'arbitrage temporaire de la phase fondatrice (2025-2027).
|
|||
|
|
|
|||
|
|
### ✅ Actions
|
|||
|
|
|
|||
|
|
1. **Première réunion virtuelle des fondateurs**
|
|||
|
|
- Date : Jour 3 de la semaine 1
|
|||
|
|
- Durée : 2 heures
|
|||
|
|
- Outil : Jitsi, Zoom, Google Meet (peu importe pour l'instant)
|
|||
|
|
|
|||
|
|
2. **Ordre du jour :**
|
|||
|
|
|
|||
|
|
**A) Tour de table (30 min)**
|
|||
|
|
- Chaque organisation se présente
|
|||
|
|
- Vision pour l'Alliance
|
|||
|
|
- Capacités techniques apportées
|
|||
|
|
|
|||
|
|
**B) Constitution du Cercle (30 min)**
|
|||
|
|
- Désignation officielle des représentants
|
|||
|
|
- Définition des rôles :
|
|||
|
|
- **Coordinateur initial** : Chezlepro inc. (Daniel Roy)
|
|||
|
|
- **Référents techniques** : 1 par organisation
|
|||
|
|
|
|||
|
|
**C) Décisions initiales (45 min)**
|
|||
|
|
- Allocation des blocs IPv4 /16 :
|
|||
|
|
- Chezlepro : 10.0.0.0/16
|
|||
|
|
- Membre 2 : 10.1.0.0/16
|
|||
|
|
- Membre 3 : 10.2.0.0/16
|
|||
|
|
- Choix de la forge (Forgejo recommandé)
|
|||
|
|
- Choix du serveur Matrix (qui héberge?)
|
|||
|
|
|
|||
|
|
**D) Planning des 30 jours (15 min)**
|
|||
|
|
- Qui fait quoi?
|
|||
|
|
- Prochaine réunion : Jour 7
|
|||
|
|
|
|||
|
|
3. **Documenter la réunion**
|
|||
|
|
- Procès-verbal rédigé (Markdown)
|
|||
|
|
- Décisions documentées dans Git (dès que la forge est prête)
|
|||
|
|
- Publié au Registraire (section "Historique")
|
|||
|
|
|
|||
|
|
### 📦 Livrables
|
|||
|
|
- [ ] Cercle des Référents Boréaux constitué
|
|||
|
|
- [ ] Coordinateur initial désigné
|
|||
|
|
- [ ] Allocations réseau décidées
|
|||
|
|
- [ ] Planning 30 jours validé
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Jour 4-5 : Mise en Place du Registraire
|
|||
|
|
|
|||
|
|
### 🎯 Objectif
|
|||
|
|
Créer le Registraire public, source de vérité unique sur les membres.
|
|||
|
|
|
|||
|
|
### ✅ Actions
|
|||
|
|
|
|||
|
|
**Étape 1 : Domaine et hébergement**
|
|||
|
|
|
|||
|
|
1. **Enregistrer le domaine**
|
|||
|
|
- `alliance-boreale.ca` (recommandé)
|
|||
|
|
- Ou `alliance-boreale.org` si .ca pas disponible
|
|||
|
|
- Registrar : Porkbun, Gandi, ou autre éthique
|
|||
|
|
|
|||
|
|
2. **Choisir l'hébergement initial**
|
|||
|
|
- Option A : Chez Chezlepro (gardien initial)
|
|||
|
|
- Option B : Chez un autre fondateur
|
|||
|
|
- Option C : Rotation mensuelle entre fondateurs
|
|||
|
|
|
|||
|
|
3. **Configurer DNS**
|
|||
|
|
```
|
|||
|
|
alliance-boreale.ca. A [IP publique]
|
|||
|
|
registry.alliance-boreale.ca. A [IP publique]
|
|||
|
|
www.alliance-boreale.ca. CNAME alliance-boreale.ca.
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Étape 2 : Dépôt Git**
|
|||
|
|
|
|||
|
|
1. **Créer le dépôt public**
|
|||
|
|
- Sur Forgejo/GitLab/GitHub (temporaire si pas encore de forge propre)
|
|||
|
|
- Nom : `alliance-boreale-registry`
|
|||
|
|
- Visibilité : **Public**
|
|||
|
|
|
|||
|
|
2. **Structure initiale**
|
|||
|
|
```
|
|||
|
|
alliance-boreale-registry/
|
|||
|
|
├── README.md
|
|||
|
|
├── members/
|
|||
|
|
│ ├── czp-001-chezlepro.yml
|
|||
|
|
│ ├── abc-002-membre2.yml
|
|||
|
|
│ └── xyz-003-membre3.yml
|
|||
|
|
├── governance/
|
|||
|
|
│ ├── charte-v1.0.md
|
|||
|
|
│ ├── reglement-v1.0.md
|
|||
|
|
│ └── decisions/
|
|||
|
|
│ └── 2025-10-12_constitution.md
|
|||
|
|
└── network/
|
|||
|
|
└── allocations.yml
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
3. **Créer les fiches membres**
|
|||
|
|
|
|||
|
|
**Modèle (members/czp-001-chezlepro.yml) :**
|
|||
|
|
```yaml
|
|||
|
|
id: czp-001
|
|||
|
|
status: founding # founding | active | probation | suspended | exited
|
|||
|
|
|
|||
|
|
legal:
|
|||
|
|
name: "Chezlepro inc."
|
|||
|
|
type: corporation
|
|||
|
|
jurisdiction: QC
|
|||
|
|
founded: 2018-03-15
|
|||
|
|
|
|||
|
|
contact:
|
|||
|
|
legal: legal@chezlepro.ca
|
|||
|
|
security: security@chezlepro.ca
|
|||
|
|
noc: noc@chezlepro.ca
|
|||
|
|
privacy: privacy@chezlepro.ca
|
|||
|
|
|
|||
|
|
membership:
|
|||
|
|
joined: 2025-10-12
|
|||
|
|
role: founding_guardian
|
|||
|
|
|
|||
|
|
label:
|
|||
|
|
level: null # Pas encore audité
|
|||
|
|
score: null
|
|||
|
|
issued: null
|
|||
|
|
valid_until: null
|
|||
|
|
|
|||
|
|
network:
|
|||
|
|
ipv4_block: 10.0.0.0/16
|
|||
|
|
dns_primary:
|
|||
|
|
- ns1.chezlepro.ca (142.x.x.x)
|
|||
|
|
vpn_endpoint: vpn.chezlepro.ca:51820
|
|||
|
|
|
|||
|
|
services:
|
|||
|
|
dns: true
|
|||
|
|
email: true
|
|||
|
|
identity: true
|
|||
|
|
files: true
|
|||
|
|
forge: true
|
|||
|
|
monitoring: true
|
|||
|
|
|
|||
|
|
public_urls:
|
|||
|
|
website: https://chezlepro.ca
|
|||
|
|
status: https://status.chezlepro.ca
|
|||
|
|
policies: https://chezlepro.ca/policies
|
|||
|
|
|
|||
|
|
values:
|
|||
|
|
open_source: true
|
|||
|
|
local_hosting: true
|
|||
|
|
privacy_first: true
|
|||
|
|
sustainability: true
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Étape 3 : Site web statique simple**
|
|||
|
|
|
|||
|
|
1. **Générer le site avec Hugo ou Jekyll**
|
|||
|
|
- Thème minimaliste
|
|||
|
|
- Pages :
|
|||
|
|
- Accueil (présentation)
|
|||
|
|
- Membres (liste + lien vers fiches YAML)
|
|||
|
|
- Valeurs (extrait de la Charte)
|
|||
|
|
- Contact
|
|||
|
|
|
|||
|
|
2. **Déployer**
|
|||
|
|
- GitHub Pages (temporaire, facile)
|
|||
|
|
- Ou serveur web chez un fondateur (Nginx/Caddy)
|
|||
|
|
- HTTPS obligatoire (Let's Encrypt)
|
|||
|
|
|
|||
|
|
3. **Automatisation CI/CD**
|
|||
|
|
- À chaque commit sur `main` → régénération automatique
|
|||
|
|
- Webhook Git → rebuild site
|
|||
|
|
|
|||
|
|
### 📦 Livrables
|
|||
|
|
- [ ] Domaine enregistré et DNS configuré
|
|||
|
|
- [ ] Dépôt Git public avec fiches membres
|
|||
|
|
- [ ] Site web [alliance-boreale.ca](http://alliance-boreale.ca) en ligne
|
|||
|
|
- [ ] Registraire [registry.alliance-boreale.ca](http://registry.alliance-boreale.ca) accessible
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Jour 6-7 : Documentation et Premiers Outils
|
|||
|
|
|
|||
|
|
### 🎯 Objectif
|
|||
|
|
Mettre en place les outils de communication et documentation de base.
|
|||
|
|
|
|||
|
|
### ✅ Actions
|
|||
|
|
|
|||
|
|
**1. Matrix (Communication interne)**
|
|||
|
|
|
|||
|
|
**Option A : Héberger votre propre serveur**
|
|||
|
|
- Installation Synapse ou Dendrite
|
|||
|
|
- Domaine : matrix.alliance-boreale.ca
|
|||
|
|
- Fédération activée
|
|||
|
|
- Temps : 2-3 heures
|
|||
|
|
|
|||
|
|
**Option B : Utiliser un serveur existant temporairement**
|
|||
|
|
- matrix.org (pas idéal mais fonctionnel)
|
|||
|
|
- Serveur d'un fondateur
|
|||
|
|
- Migration future vers serveur propre
|
|||
|
|
|
|||
|
|
**Salons à créer :**
|
|||
|
|
```
|
|||
|
|
#general - Discussions générales
|
|||
|
|
#tech - Support technique
|
|||
|
|
#strategie - Cercle Stratégique
|
|||
|
|
#operationnel - Cercle Opérationnel
|
|||
|
|
#ethique - Cercle Éthique & Conformité
|
|||
|
|
#annonces - Annonces officielles (lecture seule)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**2. Forge Collaborative**
|
|||
|
|
|
|||
|
|
**Choix recommandé : Forgejo (fork communautaire de Gitea)**
|
|||
|
|
|
|||
|
|
**Installation :**
|
|||
|
|
```bash
|
|||
|
|
# Sur serveur d'un fondateur
|
|||
|
|
docker run -d \
|
|||
|
|
--name forgejo \
|
|||
|
|
-p 3000:3000 \
|
|||
|
|
-v forgejo:/data \
|
|||
|
|
codeberg.org/forgejo/forgejo:latest
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Configuration initiale :**
|
|||
|
|
- Domaine : git.alliance-boreale.ca
|
|||
|
|
- Organisations :
|
|||
|
|
- `alliance-boreale` (officiel)
|
|||
|
|
- `members` (contributions des membres)
|
|||
|
|
- Dépôts initiaux :
|
|||
|
|
- `registry` (Registraire)
|
|||
|
|
- `ansible-playbooks` (outils communs)
|
|||
|
|
- `documentation` (wiki technique)
|
|||
|
|
|
|||
|
|
**3. Wiki de Documentation**
|
|||
|
|
|
|||
|
|
**Option A : Wiki intégré à Forgejo**
|
|||
|
|
- Activer le wiki sur le dépôt `documentation`
|
|||
|
|
|
|||
|
|
**Option B : BookStack ou autre**
|
|||
|
|
- Si besoin d'un outil dédié
|
|||
|
|
- Hébergement : chez un fondateur
|
|||
|
|
|
|||
|
|
**Contenu initial :**
|
|||
|
|
- Guide d'onboarding
|
|||
|
|
- Standards techniques (DNS, VPN, monitoring)
|
|||
|
|
- FAQ
|
|||
|
|
- Procédures d'urgence
|
|||
|
|
|
|||
|
|
### 📦 Livrables
|
|||
|
|
- [ ] Serveur Matrix opérationnel, tous les fondateurs connectés
|
|||
|
|
- [ ] Forge installée et accessible
|
|||
|
|
- [ ] Dépôt `registry` migré sur la forge propre
|
|||
|
|
- [ ] Wiki initialisé avec documentation de base
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
# SEMAINE 2 — INFRASTRUCTURE
|
|||
|
|
|
|||
|
|
## Jour 8-10 : Configuration DNS (PowerDNS)
|
|||
|
|
|
|||
|
|
### 🎯 Objectif
|
|||
|
|
Chaque membre fondateur configure PowerDNS et teste la réplication DNS entre pairs.
|
|||
|
|
|
|||
|
|
### ✅ Actions
|
|||
|
|
|
|||
|
|
**Prérequis pour chaque membre :**
|
|||
|
|
- Serveur dédié ou VM (2 vCPU, 4 GB RAM minimum)
|
|||
|
|
- Debian 12 ou Ubuntu 24.04 LTS
|
|||
|
|
- IP publique fixe
|
|||
|
|
- Accès root
|
|||
|
|
|
|||
|
|
**Étape 1 : Installation de PowerDNS (par membre)**
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Installation PostgreSQL + PowerDNS
|
|||
|
|
apt update
|
|||
|
|
apt install -y postgresql pdns-server pdns-backend-pgsql
|
|||
|
|
|
|||
|
|
# Créer la base de données
|
|||
|
|
sudo -u postgres createdb pdns
|
|||
|
|
sudo -u postgres psql pdns < /usr/share/doc/pdns-backend-pgsql/schema.pgsql.sql
|
|||
|
|
|
|||
|
|
# Configuration PowerDNS
|
|||
|
|
cat > /etc/powerdns/pdns.conf <<EOF
|
|||
|
|
launch=gpgsql
|
|||
|
|
gpgsql-host=127.0.0.1
|
|||
|
|
gpgsql-dbname=pdns
|
|||
|
|
gpgsql-user=pdns
|
|||
|
|
gpgsql-password=[MOT_DE_PASSE_FORT]
|
|||
|
|
|
|||
|
|
# API (pour gestion)
|
|||
|
|
api=yes
|
|||
|
|
api-key=[CLÉ_API_FORTE]
|
|||
|
|
webserver=yes
|
|||
|
|
webserver-address=127.0.0.1
|
|||
|
|
webserver-port=8081
|
|||
|
|
|
|||
|
|
# Réplication
|
|||
|
|
master=yes
|
|||
|
|
slave=yes
|
|||
|
|
EOF
|
|||
|
|
|
|||
|
|
# Redémarrer
|
|||
|
|
systemctl restart pdns
|
|||
|
|
systemctl enable pdns
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Étape 2 : Créer une zone test (chaque membre pour son domaine)**
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Exemple pour chezlepro.ca
|
|||
|
|
pdnsutil create-zone chezlepro.ca
|
|||
|
|
|
|||
|
|
# Ajouter des records
|
|||
|
|
pdnsutil add-record chezlepro.ca @ SOA "ns1.chezlepro.ca. admin.chezlepro.ca. 2025101201 3600 1800 604800 86400"
|
|||
|
|
pdnsutil add-record chezlepro.ca @ NS ns1.chezlepro.ca.
|
|||
|
|
pdnsutil add-record chezlepro.ca @ NS ns1.membre2.ca.
|
|||
|
|
pdnsutil add-record chezlepro.ca @ NS ns1.membre3.ca.
|
|||
|
|
pdnsutil add-record chezlepro.ca ns1 A [IP_PUBLIQUE]
|
|||
|
|
|
|||
|
|
# Activer DNSSEC (optionnel mais recommandé)
|
|||
|
|
pdnsutil secure-zone chezlepro.ca
|
|||
|
|
pdnsutil show-zone chezlepro.ca
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Étape 3 : Configuration en secondaire (SLAVE)**
|
|||
|
|
|
|||
|
|
Sur les serveurs des **autres membres** :
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Ajouter la zone en secondaire
|
|||
|
|
pdnsutil create-slave-zone chezlepro.ca 142.x.x.x # IP du primaire
|
|||
|
|
|
|||
|
|
# Vérifier
|
|||
|
|
pdnsutil list-zone chezlepro.ca
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Étape 4 : Tests de réplication**
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Sur le primaire : modifier un record
|
|||
|
|
pdnsutil add-record chezlepro.ca test A 1.2.3.4
|
|||
|
|
pdnsutil increase-serial chezlepro.ca
|
|||
|
|
pdnsutil notify chezlepro.ca
|
|||
|
|
|
|||
|
|
# Sur les secondaires : vérifier la réplication
|
|||
|
|
dig @127.0.0.1 test.chezlepro.ca +short
|
|||
|
|
# Devrait retourner : 1.2.3.4
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 📦 Livrables
|
|||
|
|
- [ ] PowerDNS installé et fonctionnel chez chaque fondateur
|
|||
|
|
- [ ] Zone test créée et répliquée entre tous les membres
|
|||
|
|
- [ ] AXFR/NOTIFY opérationnels
|
|||
|
|
- [ ] Latence <50ms entre pairs (vérifier avec `dig`)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Jour 11-13 : Configuration VPN (WireGuard)
|
|||
|
|
|
|||
|
|
### 🎯 Objectif
|
|||
|
|
Établir des tunnels VPN sécurisés entre tous les membres pour le réseau d'interconnexion privé.
|
|||
|
|
|
|||
|
|
### ✅ Actions
|
|||
|
|
|
|||
|
|
**Architecture cible :**
|
|||
|
|
```
|
|||
|
|
Membre 1 (10.0.0.0/16) ←→ VPN ←→ Membre 2 (10.1.0.0/16)
|
|||
|
|
↓ ↓
|
|||
|
|
VPN VPN
|
|||
|
|
↓ ↓
|
|||
|
|
Membre 3 (10.2.0.0/16) ←→ VPN ←→ [Mesh complet]
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Réseau d'interconnexion :** 10.200.0.0/16
|
|||
|
|
**Tunnels point-à-point :** /30 (2 IPs utilisables)
|
|||
|
|
|
|||
|
|
**Allocation des tunnels :**
|
|||
|
|
- Membre 1 ↔ Membre 2 : 10.200.0.0/30 (10.200.0.1 et 10.200.0.2)
|
|||
|
|
- Membre 1 ↔ Membre 3 : 10.200.0.4/30 (10.200.0.5 et 10.200.0.6)
|
|||
|
|
- Membre 2 ↔ Membre 3 : 10.200.0.8/30 (10.200.0.9 et 10.200.0.10)
|
|||
|
|
|
|||
|
|
**Étape 1 : Installation WireGuard (sur chaque membre)**
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Installation
|
|||
|
|
apt install -y wireguard
|
|||
|
|
|
|||
|
|
# Générer les clés
|
|||
|
|
wg genkey | tee privatekey | wg pubkey > publickey
|
|||
|
|
|
|||
|
|
# Permissions
|
|||
|
|
chmod 600 privatekey
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Étape 2 : Configuration tunnel Membre 1 ↔ Membre 2**
|
|||
|
|
|
|||
|
|
**Sur Membre 1 (/etc/wireguard/wg-membre2.conf) :**
|
|||
|
|
```ini
|
|||
|
|
[Interface]
|
|||
|
|
Address = 10.200.0.1/30
|
|||
|
|
PrivateKey = [CLÉ_PRIVÉE_MEMBRE1]
|
|||
|
|
ListenPort = 51820
|
|||
|
|
|
|||
|
|
[Peer]
|
|||
|
|
PublicKey = [CLÉ_PUBLIQUE_MEMBRE2]
|
|||
|
|
Endpoint = membre2.ca:51820
|
|||
|
|
AllowedIPs = 10.200.0.2/32, 10.1.0.0/16
|
|||
|
|
PersistentKeepalive = 25
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Sur Membre 2 (/etc/wireguard/wg-membre1.conf) :**
|
|||
|
|
```ini
|
|||
|
|
[Interface]
|
|||
|
|
Address = 10.200.0.2/30
|
|||
|
|
PrivateKey = [CLÉ_PRIVÉE_MEMBRE2]
|
|||
|
|
ListenPort = 51820
|
|||
|
|
|
|||
|
|
[Peer]
|
|||
|
|
PublicKey = [CLÉ_PUBLIQUE_MEMBRE1]
|
|||
|
|
Endpoint = membre1.ca:51820
|
|||
|
|
AllowedIPs = 10.200.0.1/32, 10.0.0.0/16
|
|||
|
|
PersistentKeepalive = 25
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Étape 3 : Activer les tunnels**
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Sur chaque membre
|
|||
|
|
wg-quick up wg-membre2
|
|||
|
|
wg-quick up wg-membre3
|
|||
|
|
|
|||
|
|
# Activer au démarrage
|
|||
|
|
systemctl enable wg-quick@wg-membre2
|
|||
|
|
systemctl enable wg-quick@wg-membre3
|
|||
|
|
|
|||
|
|
# Vérifier
|
|||
|
|
wg show
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Étape 4 : Firewall (iptables/nftables)**
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Autoriser WireGuard
|
|||
|
|
ufw allow 51820/udp
|
|||
|
|
|
|||
|
|
# Autoriser le réseau privé
|
|||
|
|
ufw allow from 10.200.0.0/16
|
|||
|
|
ufw allow from 10.0.0.0/8 # Tous les blocs membres
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Étape 5 : Tests de connectivité**
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Depuis Membre 1 : ping Membre 2
|
|||
|
|
ping -c 3 10.200.0.2 # IP dans le tunnel
|
|||
|
|
ping -c 3 10.1.0.1 # IP interne de Membre 2
|
|||
|
|
|
|||
|
|
# Vérifier latence
|
|||
|
|
ping -c 10 10.200.0.2 | tail -1
|
|||
|
|
# Objectif : <50ms moyenne
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 📦 Livrables
|
|||
|
|
- [ ] WireGuard installé sur tous les membres
|
|||
|
|
- [ ] Mesh VPN complet (tous connectés à tous)
|
|||
|
|
- [ ] Pings réussis entre tous les membres
|
|||
|
|
- [ ] Latence <50ms vérifiée
|
|||
|
|
- [ ] Firewall configuré correctement
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Jour 14 : Tests d'Intégration Complets
|
|||
|
|
|
|||
|
|
### 🎯 Objectif
|
|||
|
|
Valider que DNS + VPN fonctionnent ensemble de bout en bout.
|
|||
|
|
|
|||
|
|
### ✅ Actions
|
|||
|
|
|
|||
|
|
**Test 1 : Résolution DNS via tunnel VPN**
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Depuis Membre 1 : interroger le DNS de Membre 2 via VPN
|
|||
|
|
dig @10.1.0.10 membre2.ca SOA
|
|||
|
|
|
|||
|
|
# Devrait retourner le SOA de membre2.ca
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Test 2 : AXFR entre pairs**
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Depuis Membre 2 : demander AXFR de la zone de Membre 1
|
|||
|
|
dig @10.0.0.10 membre1.ca AXFR
|
|||
|
|
|
|||
|
|
# Devrait retourner tous les records de la zone
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Test 3 : Notify automatique**
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Sur Membre 1 : modifier un record
|
|||
|
|
pdnsutil add-record membre1.ca test2 A 5.6.7.8
|
|||
|
|
pdnsutil increase-serial membre1.ca
|
|||
|
|
pdnsutil notify membre1.ca
|
|||
|
|
|
|||
|
|
# Sur Membre 2 : vérifier la réplication (attendre 30s)
|
|||
|
|
dig @127.0.0.1 test2.membre1.ca +short
|
|||
|
|
# Devrait retourner : 5.6.7.8
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Test 4 : Résilience (simuler une panne)**
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Sur Membre 1 : arrêter PowerDNS
|
|||
|
|
systemctl stop pdns
|
|||
|
|
|
|||
|
|
# Depuis Internet : interroger la zone via Membre 2
|
|||
|
|
dig @[IP_PUBLIQUE_MEMBRE2] membre1.ca SOA
|
|||
|
|
|
|||
|
|
# Devrait toujours répondre (secondaire prend le relais)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Test 5 : Mesure de performance**
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Mesurer le temps de réponse DNS
|
|||
|
|
time dig @10.0.0.10 membre1.ca SOA
|
|||
|
|
|
|||
|
|
# Objectif : <20ms en local, <50ms via VPN
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 📦 Livrables
|
|||
|
|
- [ ] Tous les tests passent avec succès
|
|||
|
|
- [ ] Documentation des résultats dans Git
|
|||
|
|
- [ ] Liste des problèmes rencontrés et solutions
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
# SEMAINE 3 — GOUVERNANCE
|
|||
|
|
|
|||
|
|
## Jour 15-16 : Constitution des Trois Cercles
|
|||
|
|
|
|||
|
|
### 🎯 Objectif
|
|||
|
|
Mettre en place les cercles Stratégique, Opérationnel, et Éthique & Conformité.
|
|||
|
|
|
|||
|
|
### ✅ Actions
|
|||
|
|
|
|||
|
|
**Jour 15 : Réunion de constitution**
|
|||
|
|
|
|||
|
|
**Ordre du jour (2h) :**
|
|||
|
|
|
|||
|
|
1. **Cercle Stratégique (30 min)**
|
|||
|
|
- Composition : Tous les fondateurs (automatique)
|
|||
|
|
- Élection du président : [Vote sans candidat]
|
|||
|
|
- Chaque personne nomme quelqu'un d'autre avec justification
|
|||
|
|
- La personne avec le plus de nominations accepte ou décline
|
|||
|
|
- Mandat : 12 mois
|
|||
|
|
- Prochaine réunion : dans 3 mois (janvier)
|
|||
|
|
|
|||
|
|
2. **Cercle Opérationnel (30 min)**
|
|||
|
|
- Désignation de 3-5 membres techniques
|
|||
|
|
- Critères : compétences DevOps, disponibilité
|
|||
|
|
- Élection du coordinateur technique
|
|||
|
|
- Mandat : 6 mois
|
|||
|
|
- Réunions : mensuelles, première dans 2 semaines
|
|||
|
|
|
|||
|
|
3. **Cercle Éthique & Conformité (30 min)**
|
|||
|
|
- Élection de 3 membres
|
|||
|
|
- Critères : intégrité, impartialité, compréhension des valeurs
|
|||
|
|
- Élection du président (porte-parole)
|
|||
|
|
- Mandat : 24 mois
|
|||
|
|
- Réunions : bimensuelles, première dans 1 semaine
|
|||
|
|
|
|||
|
|
4. **Représentants-liens (15 min)**
|
|||
|
|
- Stratégique → Opérationnel : [Nom]
|
|||
|
|
- Stratégique → Éthique : [Nom]
|
|||
|
|
- Mandat : 6 mois
|
|||
|
|
|
|||
|
|
5. **Planning Q4 2025 (15 min)**
|
|||
|
|
- Objectifs prioritaires
|
|||
|
|
- Prochains membres potentiels
|
|||
|
|
- Budget prévisionnel
|
|||
|
|
|
|||
|
|
**Jour 16 : Documentation**
|
|||
|
|
|
|||
|
|
- Procès-verbal de la réunion
|
|||
|
|
- Organigramme des cercles (Mermaid ou draw.io)
|
|||
|
|
- Calendrier des réunions (iCal partagé)
|
|||
|
|
- Publication au Registraire (section governance/)
|
|||
|
|
|
|||
|
|
### 📦 Livrables
|
|||
|
|
- [ ] 3 cercles constitués et documentés
|
|||
|
|
- [ ] Présidents/coordinateurs élus
|
|||
|
|
- [ ] Calendrier des réunions pour 3 mois
|
|||
|
|
- [ ] Première décision prise par consentement (test du processus)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Jour 17-18 : Première Décision par Consentement
|
|||
|
|
|
|||
|
|
### 🎯 Objectif
|
|||
|
|
Tester le processus de prise de décision sociocratique sur une vraie question.
|
|||
|
|
|
|||
|
|
### ✅ Actions
|
|||
|
|
|
|||
|
|
**Choisir une décision simple mais réelle :**
|
|||
|
|
- Exemple : "Adopter le langage de programmation X pour les outils communs"
|
|||
|
|
- Ou : "Définir le processus de gestion des incidents"
|
|||
|
|
- Ou : "Approuver le budget initial de 5 000 $ pour 2025"
|
|||
|
|
|
|||
|
|
**Processus complet :**
|
|||
|
|
|
|||
|
|
**Avant la réunion (J-3) :**
|
|||
|
|
- Le proposant rédige la proposition (fichier Markdown)
|
|||
|
|
- Publication sur Matrix #strategie
|
|||
|
|
- Lecture par tous les membres (3 jours)
|
|||
|
|
|
|||
|
|
**Pendant la réunion (1h) :**
|
|||
|
|
|
|||
|
|
**Tour 1 : Présentation (10 min)**
|
|||
|
|
- Le proposant présente
|
|||
|
|
- Questions de clarification uniquement
|
|||
|
|
|
|||
|
|
**Tour 2 : Réactions (20 min)**
|
|||
|
|
- Chaque personne exprime :
|
|||
|
|
- Ce qu'elle aime
|
|||
|
|
- Ce qui l'inquiète
|
|||
|
|
- Suggestions d'amélioration
|
|||
|
|
- Le proposant écoute, note, peut amender
|
|||
|
|
|
|||
|
|
**Tour 3 : Objections (20 min)**
|
|||
|
|
- Tour formel : "Y a-t-il des objections?"
|
|||
|
|
- Si oui : traiter chaque objection
|
|||
|
|
- Est-elle valide? (impacte objectif collectif?)
|
|||
|
|
- Comment la lever?
|
|||
|
|
- Amender la proposition
|
|||
|
|
- Nouveau tour 3 si nécessaire
|
|||
|
|
|
|||
|
|
**Conclusion (10 min)**
|
|||
|
|
- Décision adoptée (ou ajournée si blocage)
|
|||
|
|
- Documentation immédiate
|
|||
|
|
- Prochaines étapes
|
|||
|
|
|
|||
|
|
**Après la réunion (J+1) :**
|
|||
|
|
- Rédaction du document de décision :
|
|||
|
|
```
|
|||
|
|
decisions/2025-10-15_langage-outils-communs.md
|
|||
|
|
|
|||
|
|
# Décision : Adopter Python pour les Outils Communs
|
|||
|
|
|
|||
|
|
**Date :** 2025-10-15
|
|||
|
|
**Cercle :** Stratégique
|
|||
|
|
**Proposant :** Daniel Roy (Chezlepro)
|
|||
|
|
|
|||
|
|
## Contexte
|
|||
|
|
Nous devons choisir un langage principal pour développer
|
|||
|
|
les outils partagés de l'Alliance (scripts, APIs, etc.)
|
|||
|
|
|
|||
|
|
## Proposition Initiale
|
|||
|
|
Adopter Python 3.10+ comme langage principal.
|
|||
|
|
|
|||
|
|
## Réactions (Tour 2)
|
|||
|
|
- Alice (Membre 2) : "J'aime Python, facile à lire,
|
|||
|
|
mais qu'en est-il des performances?"
|
|||
|
|
- Bob (Membre 3) : "Je préférerais Go pour la performance,
|
|||
|
|
mais Python est plus accessible."
|
|||
|
|
|
|||
|
|
## Objections (Tour 3)
|
|||
|
|
- Aucune objection valide
|
|||
|
|
|
|||
|
|
## Décision Finale
|
|||
|
|
Adopté par consentement : Python 3.10+ est le langage
|
|||
|
|
officiel pour les outils communs de l'Alliance.
|
|||
|
|
|
|||
|
|
Go peut être utilisé pour des composants spécifiques
|
|||
|
|
où la performance est critique (à justifier au cas par cas).
|
|||
|
|
|
|||
|
|
## Signatures
|
|||
|
|
- Daniel Roy (Chezlepro) : [PGP]
|
|||
|
|
- Alice Dupont (Membre 2) : [PGP]
|
|||
|
|
- Bob Martin (Membre 3) : [PGP]
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 📦 Livrables
|
|||
|
|
- [ ] Première décision prise par consentement
|
|||
|
|
- [ ] Processus documenté (retour d'expérience)
|
|||
|
|
- [ ] Tous les membres comprennent le mécanisme
|
|||
|
|
- [ ] Confiance dans le modèle sociocratique
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Jour 19-20 : Outils et Banque de Temps
|
|||
|
|
|
|||
|
|
### 🎯 Objectif
|
|||
|
|
Finaliser les outils de communication et mettre en place la Banque de Temps.
|
|||
|
|
|
|||
|
|
### ✅ Actions
|
|||
|
|
|
|||
|
|
**1. Matérialiser Matrix (si pas encore fait)**
|
|||
|
|
- S'assurer que tous les fondateurs sont connectés
|
|||
|
|
- Créer les salons manquants
|
|||
|
|
- Configurer les notifications
|
|||
|
|
- Règles de communication (netiquette)
|
|||
|
|
|
|||
|
|
**2. Lancer la Banque de Temps**
|
|||
|
|
|
|||
|
|
**Option simple (Phase 1) : Feuille de calcul partagée**
|
|||
|
|
- Google Sheets ou Nextcloud Collabora
|
|||
|
|
- Colonnes :
|
|||
|
|
- Date
|
|||
|
|
- Membre
|
|||
|
|
- Activité
|
|||
|
|
- Heures
|
|||
|
|
- Crédits gagnés/dépensés
|
|||
|
|
- Solde
|
|||
|
|
- Validé par
|
|||
|
|
|
|||
|
|
**Option avancée (Phase 2+) : Module custom**
|
|||
|
|
- API dans la forge (Forgejo plugin)
|
|||
|
|
- Interface web
|
|||
|
|
- Notifications automatiques
|
|||
|
|
|
|||
|
|
**Catalogue des activités créditées (rappel) :**
|
|||
|
|
```
|
|||
|
|
Gouvernance:
|
|||
|
|
- Animation de cercle : 2h/session
|
|||
|
|
- Participation active : 1h/session
|
|||
|
|
|
|||
|
|
Audits:
|
|||
|
|
- Audit pair complet : 8h
|
|||
|
|
- Audit de suivi : 4h
|
|||
|
|
|
|||
|
|
Technique:
|
|||
|
|
- Maintenance registre : 4h/mois
|
|||
|
|
- Support technique : 1h/incident
|
|||
|
|
- Développement outil : selon projet
|
|||
|
|
|
|||
|
|
Documentation:
|
|||
|
|
- Rédaction : 3h/page
|
|||
|
|
- Formation/atelier : 2h (prep + delivery)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**3. Automatisation initiale**
|
|||
|
|
|
|||
|
|
**Scripts Ansible de base :**
|
|||
|
|
```yaml
|
|||
|
|
# playbooks/setup-member.yml
|
|||
|
|
- name: Setup New Member Infrastructure
|
|||
|
|
hosts: new_member
|
|||
|
|
roles:
|
|||
|
|
- common
|
|||
|
|
- powerdns
|
|||
|
|
- wireguard
|
|||
|
|
- monitoring
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Dépôt Git :**
|
|||
|
|
```
|
|||
|
|
ansible-playbooks/
|
|||
|
|
├── README.md
|
|||
|
|
├── inventory/
|
|||
|
|
│ └── production.yml
|
|||
|
|
├── playbooks/
|
|||
|
|
│ ├── setup-member.yml
|
|||
|
|
│ ├── configure-vpn.yml
|
|||
|
|
│ └── health-check.yml
|
|||
|
|
└── roles/
|
|||
|
|
├── common/
|
|||
|
|
├── powerdns/
|
|||
|
|
├── wireguard/
|
|||
|
|
└── monitoring/
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 📦 Livrables
|
|||
|
|
- [ ] Matrix pleinement opérationnel
|
|||
|
|
- [ ] Banque de Temps lancée (version simple OK)
|
|||
|
|
- [ ] Premières contributions enregistrées
|
|||
|
|
- [ ] Playbooks Ansible de base créés
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
# SEMAINE 4 — CONSOLIDATION
|
|||
|
|
|
|||
|
|
## Jour 21-23 : Premier Membre Externe (Optionnel)
|
|||
|
|
|
|||
|
|
### 🎯 Objectif
|
|||
|
|
Si un membre externe est prêt, tester le processus d'onboarding complet.
|
|||
|
|
|
|||
|
|
### ✅ Actions
|
|||
|
|
|
|||
|
|
**Note :** Cette étape est optionnelle si aucun candidat n'est prêt. Vous pouvez la reporter au mois 2.
|
|||
|
|
|
|||
|
|
**Si un candidat existe :**
|
|||
|
|
|
|||
|
|
1. **Réception de la candidature (Jour 21)**
|
|||
|
|
- Dossier complet (voir Article 8 du Règlement)
|
|||
|
|
- Parrainage par un fondateur
|
|||
|
|
- Revue par Cercle Éthique & Conformité
|
|||
|
|
|
|||
|
|
2. **Évaluation (Jour 22)**
|
|||
|
|
- Entretien avec le candidat (1-2h, visio)
|
|||
|
|
- Vérification technique de base
|
|||
|
|
- Rapport préliminaire
|
|||
|
|
|
|||
|
|
3. **Vote d'admission (Jour 23)**
|
|||
|
|
- Présentation au Cercle Stratégique
|
|||
|
|
- Discussion
|
|||
|
|
- Vote d'unanimité
|
|||
|
|
- Si accepté : passage en statut "Probatoire"
|
|||
|
|
|
|||
|
|
**Si accepté : Début de la probation (3 mois)**
|
|||
|
|
- Allocation du bloc /16 (ex: 10.3.0.0/16)
|
|||
|
|
- Configuration tunnels VPN
|
|||
|
|
- Installation PowerDNS
|
|||
|
|
- Parrainage actif
|
|||
|
|
|
|||
|
|
**Si refusé :**
|
|||
|
|
- Feedback constructif
|
|||
|
|
- Possibilité de re-candidater dans 6 mois
|
|||
|
|
|
|||
|
|
### 📦 Livrables
|
|||
|
|
- [ ] Premier membre externe admis (si applicable)
|
|||
|
|
- [ ] Processus d'admission testé et documenté
|
|||
|
|
- [ ] Ajustements au processus si nécessaires
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Jour 24-25 : Premier Audit Probatoire (Test)
|
|||
|
|
|
|||
|
|
### 🎯 Objectif
|
|||
|
|
Tester le processus d'audit en conditions réelles, même entre fondateurs.
|
|||
|
|
|
|||
|
|
### ✅ Actions
|
|||
|
|
|
|||
|
|
**Choisir un "cobaye" :**
|
|||
|
|
- Un des membres fondateurs se porte volontaire
|
|||
|
|
- Audit "blanc" (pas de conséquence sur le label)
|
|||
|
|
- But : valider le processus
|
|||
|
|
|
|||
|
|
**Processus (version courte) :**
|
|||
|
|
|
|||
|
|
**J-7 : Notification**
|
|||
|
|
- Le membre va être audité dans 7 jours
|
|||
|
|
- Auto-évaluation à remplir
|
|||
|
|
|
|||
|
|
**J-3 : Revue documentaire**
|
|||
|
|
- L'auditeur examine les documents
|
|||
|
|
- Politiques, configurations, logs
|
|||
|
|
|
|||
|
|
**J-0 : Entretien (2h, visio)**
|
|||
|
|
- Questions par domaine (6 domaines × 15 min)
|
|||
|
|
- Démo technique si nécessaire
|
|||
|
|
|
|||
|
|
**J+3 : Rapport**
|
|||
|
|
- Rédaction du rapport d'audit
|
|||
|
|
- Points forts, réserves, recommandations
|
|||
|
|
|
|||
|
|
**J+7 : Présentation**
|
|||
|
|
- Présentation au Cercle Éthique & Conformité
|
|||
|
|
- Discussion
|
|||
|
|
- Feedback sur le processus lui-même
|
|||
|
|
|
|||
|
|
**Apprentissages :**
|
|||
|
|
- Est-ce que 2h suffisent?
|
|||
|
|
- Les grilles d'évaluation sont-elles claires?
|
|||
|
|
- Quels domaines sont difficiles à évaluer?
|
|||
|
|
- Ajustements nécessaires?
|
|||
|
|
|
|||
|
|
### 📦 Livrables
|
|||
|
|
- [ ] Premier audit "blanc" réalisé
|
|||
|
|
- [ ] Rapport d'audit documenté
|
|||
|
|
- [ ] Process d'audit affiné et validé
|
|||
|
|
- [ ] Formation des futurs auditeurs
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Jour 26-27 : Communication Publique
|
|||
|
|
|
|||
|
|
### 🎯 Objectif
|
|||
|
|
Annoncer officiellement l'existence de L'Alliance Boréale.
|
|||
|
|
|
|||
|
|
### ✅ Actions
|
|||
|
|
|
|||
|
|
**1. Finaliser le site web public**
|
|||
|
|
|
|||
|
|
**Pages essentielles :**
|
|||
|
|
- **Accueil :** Vision, mission, valeurs
|
|||
|
|
- **À propos :** Histoire, membres fondateurs
|
|||
|
|
- **Membres :** Liste avec liens vers fiches
|
|||
|
|
- **Rejoindre :** Critères, processus d'adhésion
|
|||
|
|
- **Valeurs :** Détail des 5 valeurs cardinales
|
|||
|
|
- **Contact :** Comment nous joindre
|
|||
|
|
|
|||
|
|
**Design :**
|
|||
|
|
- Minimaliste, sobre (cohérent avec les valeurs)
|
|||
|
|
- Rapide à charger (performance)
|
|||
|
|
- Accessible (WCAG 2.1 AA minimum)
|
|||
|
|
- Responsive (mobile-friendly)
|
|||
|
|
|
|||
|
|
**2. Rédiger le communiqué de presse**
|
|||
|
|
|
|||
|
|
**Modèle :**
|
|||
|
|
```
|
|||
|
|
Pour diffusion immédiate
|
|||
|
|
|
|||
|
|
L'ALLIANCE BORÉALE : UNE NOUVELLE FÉDÉRATION
|
|||
|
|
POUR LA SOUVERAINETÉ NUMÉRIQUE AU QUÉBEC
|
|||
|
|
|
|||
|
|
Saint-Bruno-de-Montarville, QC — [Date] —
|
|||
|
|
Aujourd'hui marque le lancement de L'Alliance Boréale,
|
|||
|
|
une fédération libre d'organisations québécoises
|
|||
|
|
engagées dans le numérique éthique.
|
|||
|
|
|
|||
|
|
Fondée par [Membres fondateurs], l'Alliance vise à
|
|||
|
|
démontrer qu'une alternative souveraine, locale et
|
|||
|
|
responsable aux géants du cloud est possible.
|
|||
|
|
|
|||
|
|
"Nous ne bâtissons pas un empire. Nous entretenons
|
|||
|
|
une forêt", déclare Daniel Roy, président du Cercle
|
|||
|
|
des Référents Boréaux et fondateur de Chezlepro inc.
|
|||
|
|
|
|||
|
|
L'Alliance repose sur cinq valeurs cardinales :
|
|||
|
|
Souveraineté, Liberté, Sobriété, Solidarité et
|
|||
|
|
Transparence.
|
|||
|
|
|
|||
|
|
Les organisations intéressées à rejoindre la fédération
|
|||
|
|
peuvent consulter le site [alliance-boreale.ca].
|
|||
|
|
|
|||
|
|
Contact presse :
|
|||
|
|
[Nom du porte-parole]
|
|||
|
|
[Courriel]
|
|||
|
|
[Téléphone]
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**3. Diffusion**
|
|||
|
|
|
|||
|
|
**Canaux :**
|
|||
|
|
- Site web de l'Alliance
|
|||
|
|
- Sites web des membres fondateurs
|
|||
|
|
- LinkedIn (posts personnels des fondateurs)
|
|||
|
|
- Mastodon (compte @allianceboreale@masto.quebec)
|
|||
|
|
- Groupes locaux (ex: communauté logiciel libre QC)
|
|||
|
|
- Liste de diffusion tech/coops québécoises
|
|||
|
|
|
|||
|
|
**Médias à contacter (optionnel) :**
|
|||
|
|
- Direction informatique
|
|||
|
|
- Les Affaires
|
|||
|
|
- La Presse (section techno)
|
|||
|
|
- Radio-Canada (ICI Techno)
|
|||
|
|
- Podcasts tech québécois
|
|||
|
|
|
|||
|
|
**4. Événement de lancement (optionnel)**
|
|||
|
|
|
|||
|
|
**Format hybride (présentiel + virtuel) :**
|
|||
|
|
- Présentation de 30 min (vision, fonctionnement)
|
|||
|
|
- Démo technique (5 min)
|
|||
|
|
- Q&R (20 min)
|
|||
|
|
- Réseautage virtuel (30 min)
|
|||
|
|
|
|||
|
|
**Outils :**
|
|||
|
|
- Jitsi ou BigBlueButton (hébergé par l'Alliance)
|
|||
|
|
- Enregistrement publié sur PeerTube
|
|||
|
|
|
|||
|
|
### 📦 Livrables
|
|||
|
|
- [ ] Site web public finalisé et en ligne
|
|||
|
|
- [ ] Communiqué de presse rédigé et diffusé
|
|||
|
|
- [ ] Présence sur réseaux sociaux établie
|
|||
|
|
- [ ] Premières réactions et intérêts mesurés
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Jour 28-30 : Bilan et Planification 3 Mois
|
|||
|
|
|
|||
|
|
### 🎯 Objectif
|
|||
|
|
Faire le bilan des 30 jours et planifier les 3 prochains mois.
|
|||
|
|
|
|||
|
|
### ✅ Actions
|
|||
|
|
|
|||
|
|
**Jour 28 : Réunion de bilan (3h)**
|
|||
|
|
|
|||
|
|
**Ordre du jour :**
|
|||
|
|
|
|||
|
|
**1) Revue des 30 jours (60 min)**
|
|||
|
|
- Ce qui a bien fonctionné
|
|||
|
|
- Ce qui a été difficile
|
|||
|
|
- Surprises (bonnes et mauvaises)
|
|||
|
|
- Apprentissages clés
|
|||
|
|
|
|||
|
|
**2) État de l'Alliance (30 min)**
|
|||
|
|
- Infrastructure : ✅ ou ⚠️ ?
|
|||
|
|
- Gouvernance : rodée ou à améliorer?
|
|||
|
|
- Communication : visibilité suffisante?
|
|||
|
|
- Membres potentiels : combien?
|
|||
|
|
|
|||
|
|
**3) Objectifs Q4 2025 (60 min)**
|
|||
|
|
|
|||
|
|
**Objectif 1 : Consolider (mois 2)**
|
|||
|
|
- Stabiliser l'infrastructure
|
|||
|
|
- Documenter tous les processus
|
|||
|
|
- Former les membres aux outils
|
|||
|
|
|
|||
|
|
**Objectif 2 : Grandir (mois 3)**
|
|||
|
|
- Intégrer 2-3 nouveaux membres
|
|||
|
|
- Premiers audits de labellisation
|
|||
|
|
- Attribution des premiers labels Bronze/Argent
|
|||
|
|
|
|||
|
|
**Objectif 3 : Rayonner (mois 4)**
|
|||
|
|
- Présentation dans 1-2 événements
|
|||
|
|
- Publication d'articles de blog techniques
|
|||
|
|
- Élargir le réseau de contacts
|
|||
|
|
|
|||
|
|
**4) Planification opérationnelle (30 min)**
|
|||
|
|
- Calendrier des réunions (3 mois)
|
|||
|
|
- Responsabilités partagées (qui fait quoi?)
|
|||
|
|
- Budget Q4 (si nécessaire)
|
|||
|
|
|
|||
|
|
**Jour 29-30 : Documentation**
|
|||
|
|
|
|||
|
|
**Créer les documents de synthèse :**
|
|||
|
|
|
|||
|
|
**1) Rapport "État de l'Alliance - Mois 1"**
|
|||
|
|
```markdown
|
|||
|
|
# L'Alliance Boréale — Rapport Mois 1
|
|||
|
|
|
|||
|
|
## Résumé Exécutif
|
|||
|
|
En 30 jours, nous avons :
|
|||
|
|
- ✅ Fondé officiellement l'Alliance
|
|||
|
|
- ✅ Mis en place l'infrastructure technique (DNS + VPN)
|
|||
|
|
- ✅ Établi la gouvernance sociocratique
|
|||
|
|
- ✅ Lancé publiquement
|
|||
|
|
|
|||
|
|
## Indicateurs Clés
|
|||
|
|
- Membres : 3 (fondateurs)
|
|||
|
|
- Disponibilité DNS : 99,8%
|
|||
|
|
- Latence VPN moyenne : 25ms
|
|||
|
|
- Décisions prises : 5
|
|||
|
|
- Intérêts reçus : X
|
|||
|
|
|
|||
|
|
## Défis Rencontrés
|
|||
|
|
[...]
|
|||
|
|
|
|||
|
|
## Leçons Apprises
|
|||
|
|
[...]
|
|||
|
|
|
|||
|
|
## Prochaines Étapes
|
|||
|
|
[...]
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**2) Roadmap Q4 2025**
|
|||
|
|
- Format Gantt ou liste à puces
|
|||
|
|
- Jalons clairs avec dates
|
|||
|
|
- Responsables assignés
|
|||
|
|
|
|||
|
|
**3) Budget prévisionnel**
|
|||
|
|
- Coûts infrastructure (serveurs, domaines)
|
|||
|
|
- Coordination (si rémunérée)
|
|||
|
|
- Événements/communication
|
|||
|
|
- Total : objectif <5 000 $ pour 2025
|
|||
|
|
|
|||
|
|
### 📦 Livrables Finaux
|
|||
|
|
- [ ] Réunion de bilan complétée
|
|||
|
|
- [ ] Rapport Mois 1 rédigé et publié
|
|||
|
|
- [ ] Roadmap Q4 2025 validée
|
|||
|
|
- [ ] Budget prévisionnel approuvé
|
|||
|
|
- [ ] Célébration ! 🎉🌲
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
# PARTIE BONUS — APRÈS LES 30 JOURS
|
|||
|
|
|
|||
|
|
## Mois 2-3 : Consolidation et Croissance
|
|||
|
|
|
|||
|
|
### Objectifs
|
|||
|
|
|
|||
|
|
**Stabiliser :**
|
|||
|
|
- Monitoring : installer Icinga ou Prometheus
|
|||
|
|
- Backups : sauvegardes 3-2-1 testées
|
|||
|
|
- Documentation : wiki complet et à jour
|
|||
|
|
|
|||
|
|
**Grandir :**
|
|||
|
|
- Admettre 2-3 nouveaux membres (objectif : 5-6 membres actifs fin Q4)
|
|||
|
|
- Accompagner les probatoires
|
|||
|
|
- Premiers audits de labellisation
|
|||
|
|
|
|||
|
|
**Améliorer :**
|
|||
|
|
- Premiers crédits Banque de Temps utilisés
|
|||
|
|
- Automatisation accrue (Ansible playbooks complets)
|
|||
|
|
- Premiers retours d'expérience documentés
|
|||
|
|
|
|||
|
|
### Indicateurs de Succès (Fin Q4 2025)
|
|||
|
|
|
|||
|
|
**Technique :**
|
|||
|
|
- [ ] 5-6 membres actifs
|
|||
|
|
- [ ] Disponibilité DNS : >99,5% sur tous les membres
|
|||
|
|
- [ ] Latence VPN : <50ms p95
|
|||
|
|
- [ ] Tous les playbooks Ansible fonctionnels
|
|||
|
|
|
|||
|
|
**Conformité :**
|
|||
|
|
- [ ] 3 membres labellisés Bronze minimum
|
|||
|
|
- [ ] 1 membre labellisé Argent (objectif)
|
|||
|
|
- [ ] Processus d'audit rodé
|
|||
|
|
|
|||
|
|
**Gouvernance :**
|
|||
|
|
- [ ] 10+ décisions prises par consentement
|
|||
|
|
- [ ] 0 escalade en vote (preuve que le consentement fonctionne)
|
|||
|
|
- [ ] Tous les cercles actifs et productifs
|
|||
|
|
|
|||
|
|
**Rayonnement :**
|
|||
|
|
- [ ] Site web : >500 visiteurs uniques/mois
|
|||
|
|
- [ ] 5+ demandes d'information reçues
|
|||
|
|
- [ ] 1-2 présentations publiques effectuées
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Ressources Utiles
|
|||
|
|
|
|||
|
|
### Documentation Technique
|
|||
|
|
|
|||
|
|
**PowerDNS :**
|
|||
|
|
- Docs officielles : https://doc.powerdns.com/
|
|||
|
|
- Tutoriel AXFR : https://doc.powerdns.com/authoritative/modes-of-operation.html
|
|||
|
|
|
|||
|
|
**WireGuard :**
|
|||
|
|
- Site officiel : https://www.wireguard.com/
|
|||
|
|
- Quick start : https://www.wireguard.com/quickstart/
|
|||
|
|
|
|||
|
|
**Ansible :**
|
|||
|
|
- Docs officielles : https://docs.ansible.com/
|
|||
|
|
- Galaxy (rôles communautaires) : https://galaxy.ansible.com/
|
|||
|
|
|
|||
|
|
### Outils Recommandés
|
|||
|
|
|
|||
|
|
**Infrastructure :**
|
|||
|
|
- Proxmox VE : https://www.proxmox.com/
|
|||
|
|
- Netdata (monitoring léger) : https://www.netdata.cloud/
|
|||
|
|
- Icinga 2 (monitoring complet) : https://icinga.com/
|
|||
|
|
|
|||
|
|
**Collaboration :**
|
|||
|
|
- Matrix/Element : https://element.io/
|
|||
|
|
- Forgejo : https://forgejo.org/
|
|||
|
|
- BookStack (wiki) : https://www.bookstackapp.com/
|
|||
|
|
|
|||
|
|
**CI/CD :**
|
|||
|
|
- Woodpecker CI : https://woodpecker-ci.org/ (léger, FLOSS)
|
|||
|
|
- Drone CI : https://www.drone.io/
|
|||
|
|
|
|||
|
|
### Support et Communauté
|
|||
|
|
|
|||
|
|
**Pendant la mise en place :**
|
|||
|
|
- Canal Matrix de l'Alliance : #tech
|
|||
|
|
- Issues Git : https://git.alliance-boreale.ca/alliance-boreale/infrastructure/issues
|
|||
|
|
- Email du coordinateur : [coordinator@alliance-boreale.ca]
|
|||
|
|
|
|||
|
|
**Communautés externes :**
|
|||
|
|
- r/selfhosted (Reddit)
|
|||
|
|
- Framasoft (ressources libres)
|
|||
|
|
- Communautés logiciel libre Québec
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Checklist Maître — Les 30 Jours
|
|||
|
|
|
|||
|
|
### ✅ Semaine 1 : FONDATION
|
|||
|
|
- [ ] Résolutions CA adoptées par tous les fondateurs
|
|||
|
|
- [ ] Cercle des Référents Boréaux constitué
|
|||
|
|
- [ ] Allocations réseau IPv4 décidées
|
|||
|
|
- [ ] Domaine alliance-boreale.ca enregistré
|
|||
|
|
- [ ] Registraire (dépôt Git) créé
|
|||
|
|
- [ ] Site web public en ligne
|
|||
|
|
- [ ] Matrix et Forge opérationnels
|
|||
|
|
|
|||
|
|
### ✅ Semaine 2 : INFRASTRUCTURE
|
|||
|
|
- [ ] PowerDNS installé chez tous les fondateurs
|
|||
|
|
- [ ] Zones test créées et répliquées
|
|||
|
|
- [ ] AXFR/NOTIFY fonctionnels
|
|||
|
|
- [ ] WireGuard installé chez tous
|
|||
|
|
- [ ] Mesh VPN complet (tous connectés)
|
|||
|
|
- [ ] Tests d'intégration DNS+VPN réussis
|
|||
|
|
- [ ] Latence <50ms vérifiée
|
|||
|
|
|
|||
|
|
### ✅ Semaine 3 : GOUVERNANCE
|
|||
|
|
- [ ] 3 cercles constitués et documentés
|
|||
|
|
- [ ] Présidents/coordinateurs élus
|
|||
|
|
- [ ] Première décision par consentement prise
|
|||
|
|
- [ ] Processus sociocratique validé
|
|||
|
|
- [ ] Banque de Temps lancée
|
|||
|
|
- [ ] Playbooks Ansible de base créés
|
|||
|
|
|
|||
|
|
### ✅ Semaine 4 : CONSOLIDATION
|
|||
|
|
- [ ] Premier membre externe admis (optionnel)
|
|||
|
|
- [ ] Premier audit "blanc" réalisé
|
|||
|
|
- [ ] Processus d'audit validé
|
|||
|
|
- [ ] Communiqué de presse diffusé
|
|||
|
|
- [ ] Site public finalisé et annoncé
|
|||
|
|
- [ ] Bilan Mois 1 rédigé
|
|||
|
|
- [ ] Roadmap Q4 2025 approuvée
|
|||
|
|
- [ ] 🎉 **Célébration du lancement !**
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## FAQ — Questions Fréquentes
|
|||
|
|
|
|||
|
|
**Q : Combien ça coûte de lancer l'Alliance?**
|
|||
|
|
**R :** Budget minimal :
|
|||
|
|
- Domaine : ~15 $/an
|
|||
|
|
- Serveurs (si pas déjà existants) : ~100 $/mois total pour 3 membres
|
|||
|
|
- Total Année 1 : ~1 500 $ (partagé entre fondateurs)
|
|||
|
|
|
|||
|
|
**Q : Combien de temps par semaine?**
|
|||
|
|
**R :** Phase de lancement (30 jours) :
|
|||
|
|
- Coordinateur : 10-15h/semaine
|
|||
|
|
- Autres fondateurs : 5h/semaine
|
|||
|
|
Après : ~2-5h/semaine en régime de croisière
|
|||
|
|
|
|||
|
|
**Q : Peut-on utiliser des outils propriétaires temporairement?**
|
|||
|
|
**R :** Oui, mais avec plan de migration clair vers FLOSS. Exemple : Slack → Matrix sur 3 mois.
|
|||
|
|
|
|||
|
|
**Q : Et si on n'a que 2 membres fondateurs?**
|
|||
|
|
**R :** C'est faisable mais moins résilient. Recrutez un 3e membre rapidement (sous 3 mois).
|
|||
|
|
|
|||
|
|
**Q : Faut-il être expert pour lancer l'Alliance?**
|
|||
|
|
**R :** Non, mais compétences techniques solides requises. Si doute, trouvez un mentor technique.
|
|||
|
|
|
|||
|
|
**Q : Peut-on adapter ce guide?**
|
|||
|
|
**R :** Absolument ! Ce guide est CC-BY-SA. Adaptez-le à votre contexte.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Conclusion
|
|||
|
|
|
|||
|
|
**Vous avez maintenant tout ce qu'il faut pour lancer L'Alliance Boréale en 30 jours.**
|
|||
|
|
|
|||
|
|
Rappelez-vous :
|
|||
|
|
- **Faire simple** : Ne vous perdez pas dans la perfection
|
|||
|
|
- **Faire vite** : 30 jours, pas 6 mois
|
|||
|
|
- **Améliorer en continu** : La version 1.0 n'a pas besoin d'être parfaite
|
|||
|
|
|
|||
|
|
**L'important n'est pas de tout faire parfaitement, mais de COMMENCER.**
|
|||
|
|
|
|||
|
|
Une forêt ne pousse pas en un jour. Mais chaque arbre planté est un pas vers la forêt. 🌲
|
|||
|
|
|
|||
|
|
**Bon courage, et bienvenue dans L'Alliance Boréale !**
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
**Questions ou Blocages?**
|
|||
|
|
Contactez le coordinateur : coordinator@alliance-boreale.ca
|
|||
|
|
Ou rejoignez-nous sur Matrix : #general:alliance-boreale.ca
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
*"Nous ne bâtissons pas un empire. Nous entretenons une forêt."*
|
|||
|
|
|
|||
|
|
🌲 **L'Alliance Boréale**
|
|||
|
|
|
|||
|
|
**Fin du Guide de Démarrage Rapide**
|