Démarrage
Bienvenue

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 VanillaCSWeb Community
InstallationSetup manuel (Apache, MySQL, PHP)Setup automatisé en 5 minutes (Docker)
BreakoutGlobal (tous les dictionnaires)Sélectif (par dictionnaire)
Base de donnéesMySQL uniquementPostgreSQL, MySQL, SQL Server
SchedulerCrontab manuelWeb UI avec builder visuel
MonitoringLogs SSH requisStreaming temps réel
Admin UIBasiqueReact moderne + Tailwind
DocumentationREADME et wikiSite 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 -d

Base breakout : PostgreSQL local (port 5432)

Guide installation


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

Guide déploiement remote


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

Guide scheduler


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_PRODUCTEURS

Avantages :

  • 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 -d

Caracté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 :

  1. Installation - Déployer CSWeb en 5 minutes avec Docker
  2. Premier Breakout - Tutorial step-by-step
  3. Vérification - Checklist de vérification
  4. Prochaines Étapes - Aller plus loin

Besoin d'Aide ?