Bienvenue sur CSWeb Community Platform
Qu'est-ce que CSWeb Community Platform ?
CSWeb Community Platform est une version améliorée et modernisée de CSWeb (CSPro Web), conçue pour simplifier le déploiement, la configuration et l'utilisation de CSWeb pour les instituts statistiques africains.
CSWeb vs CSWeb Community Platform
| Fonctionnalité | CSWeb Vanilla | CSWeb Community |
|---|---|---|
| Installation | Setup manuel (Apache, MySQL, PHP) | Setup automatisé en 5 minutes (Docker) |
| Breakout | Global (tous les dictionnaires) | Sélectif (par dictionnaire) |
| Base de données | MySQL uniquement | PostgreSQL, MySQL, SQL Server |
| Scheduler | Crontab manuel | Web UI avec builder visuel |
| Monitoring | Logs SSH requis | Streaming temps réel |
| Admin UI | Basique | React moderne + Tailwind |
| Documentation | README et wiki | Site complet et unifié (255+ pages) |
Architecture Overview
CSWeb Community Platform utilise une architecture à deux bases de données :
1. Base Metadata (MySQL)
Stocke les métadonnées CSWeb :
- Utilisateurs et permissions
- Dictionnaires uploadés
- Applications CSPro
- Configuration des jobs
Localisation : Sur le serveur CSWeb (Docker container mysql)
2. Base Breakout (Multi-SGBD)
Stocke les données breakées des questionnaires :
- Tables créées automatiquement par dictionnaire
- Données tabulaires pour analytics
- Support PostgreSQL, MySQL, SQL Server
Localisation : Locale OU remote (flexible)
Deux Modes de Déploiement
Mode Local (Développement)
┌─────────────────────────────────────┐
│ Machine Développeur │
│ ┌──────────────────────────────┐ │
│ │ CSWeb (Docker) │ │
│ │ MySQL (metadata) + App PHP │ │
│ └──────────────────────────────┘ │
│ ┌──────────────────────────────┐ │
│ │ PostgreSQL (Docker) │ │
│ │ Breakout DB │ │
│ └──────────────────────────────┘ │
└─────────────────────────────────────┘Cas d'usage :
- Tests locaux
- Développement
- Petits projets
Mode Remote (Production)
┌──────────────────────┐ ┌──────────────────────┐
│ CSWeb Serveur │ │ Serveur Remote │
│ MySQL (metadata) │◄────►│ PostgreSQL │
│ App PHP │ │ (analytics DB) │
└──────────────────────┘ └──────────────────────┘Cas d'usage :
- RGPH5 Sénégal
- Production INS
- Séparation analytics/metadata
En savoir plus sur l'architecture
Cas d'Usage
Développeur Local
Objectif : Tester CSWeb sur votre laptop
Setup :
git clone https://github.com/BOUNADRAME/csweb-community.git
cd csweb-community
docker compose --profile local-postgres up -dBase breakout : PostgreSQL local (port 5432)
Institut National de Statistique (INS)
Objectif : Production RGPH5 avec séparation metadata/analytics
Setup :
- Base metadata : MySQL vanilla CSWeb (existante)
- Base breakout : PostgreSQL remote (nouvelle)
Avantages :
- Pas de migration de la base metadata existante
- Analytics sur PostgreSQL optimisé
- Breakout sélectif pour gérer la charge
Projet de Recherche
Objectif : Collecte de données avec monitoring temps réel
Setup :
- Docker local ou serveur cloud
- Breakout automatique via scheduler
- Dashboard analytics en temps réel
Avantages :
- Déploiement rapide
- Monitoring logs streaming
- Exports automatiques
Pourquoi CSWeb Community Platform ?
Basé sur docker-csweb, mais avec des fonctionnalités avancées
CSWeb Community Platform s'inspire du travail de la communauté CSPro Users (docker-csweb (opens in a new tab)) qui a simplifié le déploiement Docker de CSWeb. Nous avons étendu cette base pour répondre aux besoins de production des instituts statistiques.
Ce que nous ajoutons
Fonctionnalités Avancées
1. Breakout Sélectif (par Assietou Diagne, ANSD)
Traitement ciblé par dictionnaire pour plus de flexibilité et de performance.
# Traiter un dictionnaire spécifique
php bin/console csweb:process-cases-by-dict EVAL_PRODUCTEURSAvantages :
- Traitement indépendant par dictionnaire
- Isolation complète des opérations
- Flexibilité et rapidité accrues
2. Support Multi-SGBD
Architecture flexible avec support de multiples bases de données pour le breakout.
Options disponibles :
- PostgreSQL (recommandé pour analytics)
- MySQL (compatible legacy)
- SQL Server (écosystème Microsoft)
Configuration simple via UI ou fichier .env.
3. Déploiement Docker Simplifié
Installation automatisée et configuration pré-optimisée.
docker compose --profile local-postgres up -dCaractéristiques :
- Setup en 5 minutes
- Configuration automatisée
- Tous les drivers pré-installés
4. Monitoring Temps Réel
Suivi en temps réel de vos opérations breakout.
Fonctionnalités :
- Logs streaming dans Admin Panel
- Métriques CPU, RAM, DB
- Alertes configurables
Prochaines Étapes
Maintenant que vous comprenez les concepts, voici comment démarrer :
- Installation - Déployer CSWeb en 5 minutes avec Docker
- Premier Breakout - Tutorial step-by-step
- Vérification - Checklist de vérification
- Prochaines Étapes - Aller plus loin
Besoin d'Aide ?
- Documentation : Consultez les guides détaillés
- GitHub Issues : Poser une question (opens in a new tab)