# Calcul Astreintes Outil de calcul de rémunération des astreintes et interventions, basé sur un import de fichier Excel mensuel et un **remplissage automatique** des données par agent. --- ## Fonctionnalités - Import d’un fichier Excel mensuel (format `YYYY-MM`) - Lecture automatique des heures d’astreinte et d’intervention - Sélection d’un agent par **nom / prénom / matricule** - **Remplissage automatique** des champs de calcul à partir du fichier Excel - Saisie manuelle possible (sans import Excel) - Calcul **manuel** via un bouton « Calculer » (comportement volontairement sécurisé) - Export PDF du calcul (A4) (nom de fichier : `calcul-astreintes-YYYY-MM-NOM-Prenom.pdf`) - Application graphique multiplateforme basée sur **Wails** (Go + Web) Champs remplis automatiquement : - Heures d’intervention de jour (code 456) - Heures d’intervention de nuit (code 459) - Heures d’intervention dimanche / jours fériés (code 458) - Total des heures d’astreinte du mois (code 471) --- ## Principe de fonctionnement 1. L’utilisateur importe le fichier Excel mensuel des astreintes 2. Le logiciel analyse automatiquement la feuille correspondant au mois (`YYYY-MM`) 3. L’utilisateur sélectionne un agent dans la liste (nom, prénom, matricule) 4. Les champs de calcul sont **remplis automatiquement** à partir de la ligne « Total Agent » 5. L’utilisateur vérifie / complète si nécessaire (ex. nombre de dimanches / jours fériés) 6. Le calcul est lancé manuellement via le bouton « Calculer » --- ## Format du fichier Excel attendu - Une feuille par mois, nommée `YYYY-MM` (exemple : `2026-01`) - Les agents sont identifiés par : - Un **matricule unique** - Le nom et le prénom dans une seule cellule (format : `NOM Prénom`) - Les valeurs utilisées sont celles de la ligne **Total Agent**, située juste au-dessus des lignes détaillées Colonnes exploitées sur la ligne « Total Agent » : - Total des heures d’astreinte du mois - Heures d’intervention de jour - Heures d’intervention de nuit - Heures d’intervention dimanche / jour férié Les lignes détaillées (types d’intervention) ne sont pas utilisées. --- ## Installation – Debian 13 (Linux) ### Dépendances système ```bash sudo apt update sudo apt install -y \ build-essential pkg-config \ libgtk-3-dev \ libwebkit2gtk-4.1-dev ``` ### Go (≥ 1.21) ```bash sudo apt install -y golang ``` ### Node.js (Node 20 LTS – recommandé) Ajout du dépôt NodeSource : ```bash curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - sudo apt install -y nodejs ``` ### Wails ```bash go install github.com/wailsapp/wails/v2/cmd/wails@latest ``` --- ## Lancement en mode développement (Linux) ```bash wails dev -tags webkit2_41 ``` --- ## Compilation Linux ```bash wails build -tags webkit2_41 ``` Le binaire généré se trouve dans le dossier `build/`. --- ## Compilation Windows (préparation / roadmap) La compilation Windows est prévue prochainement. Le projet est déjà compatible Wails. ### Prérequis Windows - Windows 10 ou 11 (64 bits) - Go ≥ 1.21 - Node.js 20 LTS - Outils de compilation Microsoft : - **Visual Studio Build Tools** - Composant « Développement Desktop en C++ » ### Étapes prévues pour compiler sous Windows 1. Installer Go et Node.js 2. Installer les Visual Studio Build Tools (C++ requis) 3. Installer Wails : ```powershell go install github.com/wailsapp/wails/v2/cmd/wails@latest ``` 4. Depuis un terminal PowerShell dans le projet : ```powershell wails build ``` Un binaire Windows (`.exe`) sera alors généré. > Remarque : aucune dépendance GTK/WebKit n’est nécessaire sous Windows. --- ## Licence Ce projet est distribué sous licence **GNU GPL v3**. --- ## Statut du projet - Version actuelle : **v0.2** - Projet en cours de développement ### Évolutions prévues - Amélioration de l’ergonomie de l’interface - Gestion de plusieurs profils utilisateurs - Export des résultats (PDF / CSV) - Calcul du net à partir du brut - Compilation et distribution Windows