Skip to content

gmndr/csakb_previsionnel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CSAKB Prévisionnel

Application web de gestion des formulaires prévisionnels pour les sections du CSAKB.

🚀 Fonctionnalités

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

🛠️ Installation

1. Prérequis

  • Python 3.8+
  • pip

2. Installation (Environnement virtuel)

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.txt

4. Initialisation des données

Pour créer la base de données et importer les sections et structures de base depuis les fichiers CSV :

python ingest_csv.py

🏃 Lancement

python app.py

L'application sera accessible sur http://localhost:5000.

🧪 Tests

Pour lancer les tests automatisés :

pytest test_app.py

📂 Structure du projet

  • app.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).

🔐 Accès Administrateur

L'accès se fait via le bouton "Admin" en haut à droite (ou via /admin).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors