champagne_data.py

49,00 

Gérer le temps de travail, les absences et la composition des équipes pour une exploitation de production de Champagne.

UGS : champagne_data.py Catégorie : Étiquette :

🔷 INFORMATIONS GÉNÉRALES

Champ Détail

Nom du script champagne_data.py

Version 1.0.0

Date de création 09/03/2026

Auteur / Demandeur Gemini (IA Générée)

Objectif principal Gérer le temps de travail, les absences et la composition des équipes pour une exploitation de production de Champagne.

🎯 DESCRIPTION FONCTIONNELLE

📌 Que fait ce script ?

Ce script est une application de gestion en ligne de commande (CLI) permettant de suivre le cycle de vie des employés de production (vendangeurs, cavistes, etc.). Il permet d’enregistrer les heures travaillées par phase de production, de gérer les congés et d’organiser les employés en équipes dédiées.

📌 Problème résolu

Il remplace le suivi manuel ou sur papier des heures de travail et des absences, souvent complexe durant les périodes de forte activité (vendanges), en centralisant les données dans un format structuré (JSON) et en offrant des outils d’analyse (tableaux de bord).

⚙️ SPÉCIFICATIONS TECHNIQUES

🐍 Environnement

Élément Valeur

Version Python 3.x (Utilise les type hints et les f-strings)

OS cible Windows / Linux / MacOS (Multiplateforme)

Mode d’exécution CLI (Interactif)

📦 Dépendances / Librairies

Librairies standard (built-in)

os : Interaction avec le système (effacement écran).

json : Stockage et lecture des données.

datetime : Manipulation des dates et calculs de durées.

typing : Typage statique (Optional).

Librairies externes

Aucune (Script autonome).

📥 ENTRÉES (INPUTS)

📂 Fichiers / Sources de données en entrée

Type Chemin / Format Description

JSON ./champagne_data.json Base de données locale contenant employés, pointages, congés et équipes.

📤 SORTIES (OUTPUTS)

📂 Fichiers / Données en sortie

Type Chemin / Format Description

JSON ./champagne_data.json Mise à jour persistante des données après chaque action.

TXT export_pointages_YYYY-MM-DD.txt Rapport formaté des pointages pour traitement externe.

🧱 STRUCTURE DU SCRIPT

champagne_data.py

├── 📌 CONFIGURATION (Listes des postes et des phases de production)

├── 📌 UTILITAIRES (Gestion des couleurs, saisies sécurisées, calculs de durée)

├── 📌 DATA MGMT (Chargement/Sauvegarde JSON)

├── 📌 MODULE 1 : EMPLOYÉS (CRUD complet des salariés)

├── 📌 MODULE 2 : POINTAGE (Suivi des heures par phase)

├── 📌 MODULE 3 : CONGÉS (Déclaration et historique des absences)

├── 📌 MODULE 4 : ÉQUIPES (Organisation structurelle)

├── 📌 MODULE 5 : DASHBOARD (Statistiques et visualisation de la performance)

└── 📌 MAIN (Menu principal interactif)

🔄 LOGIQUE / ALGORITHME

Initialisation : Au lancement, le script vérifie l’existence de champagne_data.json. S’il est absent, il initialise un dictionnaire vide structuré.

Boucle de Navigation : Un menu principal dirige l’utilisateur vers des sous-menus thématiques.

Traitement des Saisies : Chaque entrée utilisateur est validée (format de date ISO, format d’heure HH:MM, existence des matricules).

Persistance : À chaque modification (ajout d’un pointage, modification d’un employé), la fonction sauvegarder_donnees() écrase le fichier JSON pour garantir la sécurité des données.

Analyse : Les fonctions de Dashboard agrègent les données brutes (somme des durées, calcul de pourcentages par phase).

🚨 GESTION DES ERREURS

Cas d’erreur Type d’exception Comportement attendu

Format date incorrect ValueError Message d’erreur rouge + demande de re-saisie.

Matricule doublon Logique métier Alerte l’utilisateur et annule l’ajout de l’employé.

ID introuvable StopIteration / None Message « Introuvable » + retour au menu.

Heure de fin < début Logique métier Ajoute 24h à la durée (gestion du travail de nuit). ✅ CONTRAINTES & RÈGLES MÉTIER Règle 1 : Un matricule employé doit être unique et est converti systématiquement en majuscules. Règle 2 : Le temps de travail hebdomadaire par défaut est de 35h, mais ajustable par profil. Règle 3 : Les phases de production sont prédéfinies (de la Vendange à l'Expédition) pour assurer la cohérence des statistiques. Règle 4 : Le calcul des jours de congé est inclusif (Date Fin - Date Début + 1). 📝 EXEMPLE D'UTILISATION ▶️ Lancement en ligne de commande Bash python champagne_data.py 📋 Exemple de sortie attendue (Dashboard) Plaintext ┌──────────────────────────────────────────┐ │ TABLEAU DE BORD 2026-03-09 │ ├──────────────────────────────────────────┤ │ 👷 Employés total : 12 │ │ ✔ Employés actifs : 10 │ │ ⏱ Heures totales : 450.5h │ └──────────────────────────────────────────┘ Vendanges 120.0h ██████████ 26.6% Pressurage 85.0h ███████ 18.8% 📌 NOTES COMPLÉMENTAIRES Style de code : Respect strict de la PEP8 avec un nommage explicite des fonctions en français. Interface : Utilisation de codes ANSI pour la mise en couleur et de caractères Box-Drawing pour l'aspect visuel en terminal. Prochaine étape :

Avis

Il n’y a pas encore d’avis.

Soyez le premier à laisser votre avis sur “champagne_data.py”

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *