RHCalC est une application web moderne et interactive conçue pour les professionnels des ressources humaines, les gestionnaires de projets et toute personne ayant besoin de calculer rapidement des périodes, des jours ouvrés, des jours fériés et des heures de travail.
L'outil permet de sélectionner une période par glisser‑déposer sur un calendrier étendu (12 mois) et affiche instantanément les indicateurs clés : jours totaux, jours ouvrés (5 ou 6 jours par semaine), heures selon les régimes 35h et 39h, le tout en tenant compte des weekends et des jours fériés français.
- Calendrier étendu : Vue sur 12 mois (janvier à décembre) avec navigation fluide entre années et mois.
- Sélection intuitive : Glisser‑déposer (drag & drop) pour définir une période, avec mise en évidence visuelle.
- Calculs automatiques :
- Jours totaux (inclusifs)
- Jours ouvrés (5 jours/semaine) hors fériés
- Jours ouvrés (6 jours/semaine) hors fériés
- Jours de semaine (incluant les fériés)
- Heures selon les régimes 35h (L‑V, 7h/jour) et 39h (L‑J 8h, V 7h)
- Gestion des fériés :
- Fériés français pré‑calculés pour chaque année (y compris les fériés mobiles : Pâques, Ascension, Pentecôte)
- Interface de paramétrage pour ajouter, modifier ou supprimer des jours fériés personnalisés
- Import/Export des configurations au format JSON
- Interface responsive : Adaptée aux ordinateurs, tablettes et mobiles (scroll horizontal sur les mois).
- Popup contextuel : Les résultats s’affichent dans un popup positionné intelligemment près de la sélection, avec une ligne de connexion visuelle.
- Accessibilité : Respect des bonnes pratiques ARIA, navigation au clavier, contrastes adaptés.
- Progressive Web App (PWA) : Installable sur bureau et mobile, fonctionne hors‑ligne après premier chargement.
Le projet est prêt à être hébergé sur n’importe quel serveur web statique (GitHub Pages, Netlify, Vercel, etc.).
- Clonez le dépôt :
git clone https://github.com/Step-by-Step-technology/RHCalC.git
- Ouvrez
index.htmldans un navigateur ou servez le dossier avec un serveur local (ex.python -m http.server). - Aucune dépendance externe n’est requise – tout est en HTML/CSS/JavaScript vanilla (ES modules).
RHCalC/
├── index.html # Page principale
├── manifest.json # Configuration PWA
├── rhcalc.css # Feuille de styles
├── rhcalc.js # Point d’entrée JavaScript (module principal)
├── data/
│ └── holidays.json # Fériés par défaut (généré automatiquement)
└── js/
├── main.js # Initialisation de l’application
├── Calendar.js # Gestion du calendrier (12 mois)
├── MonthView.js # Représentation d’un mois (vue colonne)
├── SelectionHandler.js # Gestion de la sélection (drag & drop)
├── HolidayCalculator.js # Calcul des fériés (y compris mobiles)
├── NavController.js # Navigation entre années
└── SettingsManager.js # Gestion des paramètres (fériés personnalisés)
- HTML5 sémantique avec attributs ARIA
- CSS3 avec variables CSS (Custom Properties) pour une maintenance aisée
- JavaScript vanilla (ES6+) en modules
- SVG pour la ligne de connexion entre la sélection et le popup
- LocalStorage pour persister les fériés personnalisés
- Font Awesome (CDN) pour les icônes
- Google Fonts (Inter) pour la typographie
Les dernières améliorations apportées au projet incluent :
- Chargement asynchrone des fériés : Les jours fériés sont désormais chargés de manière asynchrone, garantissant que l'interface reste réactive même avec des calculs complexes.
- Correction du bug d'affichage initial : Résolution d'un problème où les fériés n'apparaissaient pas au premier chargement du calendrier.
- Icônes PWA optimisées : Ajout d'icônes SVG et PNG aux formats standard (192x192, 512x512) pour une meilleure intégration en tant qu'application web progressive.
- Manifest.json mis à jour : Les chemins des icônes pointent désormais vers des ressources locales, supprimant la dépendance aux placeholders externes.
Ces changements améliorent la robustesse, l'expérience utilisateur et la conformité aux standards PWA.
Ce projet est publié sous licence MIT. Vous êtes libre de l’utiliser, de le modifier et de le redistribuer, même à des fins commerciales, sous réserve de conserver la notice de licence originale.
Les contributions sont les bienvenues ! Pour proposer une amélioration :
- Forkez le dépôt
- Créez une branche pour votre fonctionnalité (
git checkout -b feature/ma-fonctionnalite) - Committez vos changements (
git commit -am 'Ajout de ma fonctionnalité') - Pushez la branche (
git push origin feature/ma-fonctionnalite) - Ouvrez une Pull Request
- Step by Step – Développement et conception
- Les contributeurs de la communauté open source
- Les utilisateurs pour leurs retours et suggestions
- Dépôt GitHub : https://github.com/Step-by-Step-technology/RHCalC
- Site de l’éditeur : https://step-by-step.technology
RHCalC – Fait avec ❤️ pour simplifier les calculs RH au quotidien.