Application web de gestion des formulaires prévisionnels pour les sections du CSAKB.
- Saisie de données : 4 thématiques (Budget prévisionnel, Bureau directeur, Diplômes et plan de formation, Salariés).
- Identification par section : Sélection de la section au démarrage pour personnaliser les exports.
- Sauvegarde automatique : Les formulaires peuvent être remplis indépendamment et sont conservés dans des fichiers JSON.
- Exports complets : aux formats Excel (xlsx) ou PDF.
- Espace Administrateur : Gestion des formulaires et des versions.
- Python 3.8+
- pip
Il est fortement recommandé d'utiliser un environnement virtuel pour installer les dépendances de l'application. Cela permet d'isoler le projet et d'éviter les erreurs de type "externally-managed-environment" sur les systèmes Linux récents (Ubuntu 23.04+).
Étape 1 : Créer l'environnement virtuel Ouvrez un terminal dans le dossier du projet et exécutez :
python3 -m venv .venv(Si vous avez une erreur indiquant que venv n'est pas installé sur Ubuntu/Debian, lancez : sudo apt install python3-venv)
Étape 2 : Activer l'environnement virtuel
- Sur Linux / macOS :
source .venv/bin/activate - Sur Windows :
.venv\Scripts\activate
Étape 3 : Installer les dépendances
Une fois l'environnement activé (le nom (venv) doit apparaître au début de votre ligne de commande), installez les bibliothèques nécessaires :
pip install -r requirements.txtPour créer la base de données et importer les sections et structures de base depuis les fichiers CSV :
python ingest_csv.pypython app.pyL'application sera accessible sur http://localhost:5000.
Pour lancer les tests automatisés :
pytest test_app.pyapp.py: Point d'entrée de l'application et définition des routes.storage.py: Module de gestion du stockage via fichiers JSON.exports.py: Logique de génération des fichiers Excel et PDF.ingest_csv.py: Script d'initialisation des fichiers de données.templates/: Fichiers HTML (Jinja2).modele_csv/: Contient les fichiers CSV originaux servant de base aux formulaires.exports/: Dossier local où sont stockés les fichiers générés (exclus du Git).data/: Contient l'ensemble des données de l'application au format JSON (exclu du Git).
L'accès se fait via le bouton "Admin" en haut à droite (ou via /admin).