Changelog — PROJET MOSAÏQUE
Historique des livraisons et jalons du projet RGZ NOC — 81 outils, 22 conteneurs.
[Onboarding Pipeline Enrichi #56] — 2026-02-22 ✅ IMPLÉMENTÉ
Pipeline onboarding revendeur entièrement refondu avec panneaux détaillés par étape.
Frontend — 12 fichiers, ~2064 lignes :
OnboardingManager.jsx— Page principale layout 2 colonnes (liste + détail)OnboardingPipeline.jsx— Barre visuelle 8 nœuds (desktop + mobile)StepMetrics.jsx— Grille 8 cartes compteurs cliquables- 8 composants Step :
- StepCandidature : Infos candidat + GPS + Google Maps
- StepRFValidation : Formulaire RF (SNR, distance, classification V1/V2/V3)
- StepContrat : IFU + signature contrat + paiement OTP (MTN/Moov/Wave/Celtiis)
- StepVlanCpe : Config VLAN + placeholder FortiGate (désactivé) + CPE table
- StepInstallation : Checklist 6 items + iperf3 DL/UL + barre progression
- StepFormation : Checklist formation 6 items + planning + ressources
- StepGoLive : Récap 6 étapes + test RADIUS + activation
- StepTransition : KPI J+1 + incidents + checklist suivi + clôture
Backend — 3 endpoints stub (mock) :
GET /resellers/{id}/onboarding/details— Données enrichies par étapePUT /resellers/{id}/onboarding/step— Mise à jour étapeGET /onboarding/stats— Compteurs par étape
Bug fixes :
- StepGoLive : stepMapping corrigé (
step_N→ clés directescandidature,rf_validation...) - OnboardingManager : payload
datanestée correctement (plus de spread)
Placeholder FortiGate : Bouton "Synchroniser depuis FortiGate" intentionnellement désactivé, modal saisie manuelle disponible.
[Stack Core] — 2026-02-19 ✅ EN PRODUCTION
Stack 14 services core opérationnelle et stable. Architecture complète validée sur Docker Compose.
Conteneurs opérationnels:
- rgz-api (FastAPI hub central)
- rgz-db (PostgreSQL 16 + TimescaleDB)
- rgz-redis (cache + sessions)
- rgz-radius (FreeRADIUS 3.2 + REST module)
- rgz-gateway (nftables deny-all, NAT, VLAN)
- rgz-dns (Unbound + blocklists)
- rgz-beat (Celery Beat scheduler)
- rgz-portal (Portail captif HTML/JS <50KB)
- rgz-web (Dashboard admin React)
- rgz-kea (Kea DHCP)
- rgz-ids (Suricata 7.x IDS/IPS)
- rgz-nginx (HTTP proxy HTTPS)
- rgz-wireguard (VPN tunnel)
- rgz-canary (Synthetics monitoring)
Validations:
- Tous les conteneurs démarrent sans erreur
- Healthchecks passent
- Logs: JSON-file, max-size 10m, max-file 3 (LL#27)
- Restart: unless-stopped sur tous les services (LL#33)
[HTTPS & Let's Encrypt] — 2026-02-19 ✅ EN PRODUCTION
Certificats TLS automatiques via certbot-dns-duckdns + Traefik.
Domaines couverts:
- api-rgz.duckdns.org (API FastAPI)
- admin-rgz.duckdns.org (Dashboard React)
- access-rgz.duckdns.org (Portail captif)
- grafana-rgz.duckdns.org (Grafana)
Certificats: Expiration 2026-05-20 Renouvellement: Tâche Celery #50 (planifié)
[Monitoring Stack] — 2026-02-19 ✅ EN PRODUCTION
Stack 8 services monitoring opérationnelle. ELK + Prometheus + Grafana.
Conteneurs:
- rgz-prometheus (Time-series DB, alertes)
- rgz-alertmanager (Gestion alertes)
- rgz-grafana (Dashboards temps réel)
- rgz-elasticsearch (Stockage logs)
- rgz-kibana (UI logs)
- rgz-logstash (Pipeline extraction)
- rgz-netflow (Collector goflow2 port 2055)
- rgz-docs (Documentation MkDocs)
Dashboards Grafana initiaux:
- Core infrastructure (CPU, RAM, disque)
- Prometheus scrape targets
- Stack health overview
ELK Pipeline:
- 12 mois rétention logs (ILM)
- Indices par jour: logs-rgz-YYYY.MM.DD
- Appenders: docker/stdout
[Scripts Opérationnels] — 2026-02-21 ✅ 10/10 COMPLETS
Ensemble complet de scripts de gestion stack.
Scripts livrés:
init.sh— Initialiser DB, Redis, configs (idempotent)start.sh— docker compose up -d --buildstop.sh— docker compose down (graceful)status.sh— État conteneurs + ports + healthcheckslogs.sh— Logs temps réel avec filtresrestart.sh— Redémarrer services spécifiquessmoke_test.sh— Santé système (5 checks)update.sh— Mettre à jour imagesbackup.sh— Dump DB + configs → /backups/init-elk.sh— Bootstrap indices Elasticsearch
Validations:
- Tous les scripts sont exécutables
- Idempotence vérifiée (re-run sans erreurs)
- Erreurs capturées et loggées
[Lessons Learned Appliquées] — 2026-02-19
13 LL critiques intégrées dans l'architecture:
- LL#2: CORS configuré (whitelist explicite, jamais wildcard)
- LL#27: Docker logging: max-size 10m, max-file 3
- LL#33: restart: unless-stopped partout
- LL#40: nftables: utiliser
nft delete tablesélectif (jamais flush) - LL#41: nft_rgz_filter persiste → entrypoint clean
- LL#42: ps/pgrep absents → healthcheck via /proc/1/cmdline
- LL#43: localhost → 127.0.0.1 explicitement (LL#43 IPv6)
- LL#44: FreeRADIUS ${VAR} → envsubst obligatoire
- LL#45: nginx derrière Traefik (expose 80, labels OK)
- LL#46: DuckDNS testée pour chaque domaine
- LL#62: Images versionnées exactement (pas :latest)
- LL#68: COPY depuis bon répertoire dans Dockerfile
- LL#1-8: Contrats API respectés (schemas Pydantic)
[Site Recensement #81] — EN PRODUCTION
Domaine: https://registre-rgz.duckdns.orgStatut: Opérationnel depuis 2026-01-15 Fonctionnalités:
- Formulaire inscription revendeur WiFi Zone
- Validation données + OCR ARCEP
- Admin interface (review + validation)
- Export CSV pour analyses ARCEP
Métriques:
- ~150 revendeurs déjà enregistrés
- Uptime: 99.8% sur 37 jours
- Response time: <200ms avg
[Documentation MkDocs] — 2026-02-21 ✅ LIVE
Documentation système en ligne: https://docs-rgz.duckdns.org
Sections livrées:
- Page d'accueil (vue d'ensemble 81 outils)
- Architecture système (diagramme Mermaid 22 conteneurs)
- Catégories outils (14 sections avec statuts Phase)
- Accès rapide (6 liens domaines prod)
- Changelog (ce fichier)
- Templates pour futures sections:
- quickstart/
- architecture/
- scripts-ops/
- outils/
- services-core/
- monitoring/
- administration/
- configuration/
- securite/
- alertes/
- procedures/
- troubleshooting/
- api-reference/
- reseau/
- rf-terrain/
- recensement/
Styling:
- Charte RGZ ACCESS (Bleu #3f68ae, Jaune #f5c445, Rouge #da3747)
- Responsive (desktop + mobile)
- Dark/light mode toggle
- Material 9.7.1
[Phases à Venir]
Phase 0 (Tools sans dépendances) — 📅 Planifié
Outils: #65, #67, #79
- #65: RF link budget calculator
- #67: CPE alignment tool
- #79: iperf3-test-auto
Phase 1 (API Core + Services Support) — 📅 Planifié
Outils: #1, #6, #8, #10, #30, #75
- Déjà partiel: API (#1), Beat (#10)
- À développer: RADIUS (#6), IDS (#8), Kea DHCP (#30), Backup (#75)
Phase 2 (Principaux Services) — 📅 Planifié
Outils: 18 services
- QoS (#26-28), VLAN (#31-32), Sinkhole (#34), Monitoring (#39, #43)
- Sécurité (#45-48), Logging immutable (#45), SSL cert (#50)
- Workflows (#57, #59-60), SMS (#61-62)
Phase 3 (Modules + Dashboards) — 📅 Planifié
Outils: 28 modules
- Portail (#11-18): OCR, OTP, multi-devices, forfaits, fraude, branding
- Billing (#19, #22, #24): facturation, remboursements, factures PDF
- Dashboards (#51-55): revendeur, NOC, bannieres, RMA, status public
- Rapports RF (#41, #66), workflows (#58, #64)
Phase 4 (Intégrations Avancées) — 📅 Planifié
Outils: 14 finalisations
- Réconciliation paiements (#21, #23, #25)
- BI/Rapports (#70-74): SLA mensuel, ARCEP trimestriel, RCA, trending, forecast
- Rollback automation (#60), crisis coordination (#64)
Statistiques Globales
| Métrique | Valeur |
|---|---|
| Outils totaux | 81 |
| Conteneurs | 22 |
| Priorité CRITIQUE | 47 |
| Priorité HAUTE | 32 |
| Priorité MOYENNE | 2 |
| Phases | 5 (Phase 0 à Phase 4) |
| Domaines DuckDNS | 6 (tous avec TLS) |
| Uptime stack core | 99.8% |
| Coût dev | 0 FCFA (Claude Code) |
| Cible revendeurs | 500+ |
Date actuelle: 2026-02-22 Prochaine révision: 2026-03-07 Mainteneur: RGZ S.A. — PROJET MOSAÏQUE