-
🖋️ Signature Électronique Complète :
- Placement interactif des points de signature sur PDF
- Capture graphique haute fidélité avec SignaturePad
- Génération automatique de PDF signés avec toutes les signatures
- Sécurisation HMAC pour l'accès aux documents
- Automatisme d'expiration des documents (événement MySQL CRON)
- Journalisation complète des actions utilisateur
- Architecture 3 classes métier : SignatureMaker, SignatureDoer, SignedDocumentCreator
- 👥 Gestion des Contacts : CRUD complet pour les contacts liés aux contrats avec interface responsive
- 📧 Système d'Emails Avancé : Templates HTML, tokens API sécurisés et logging amélioré
- 💰 Module de Factures : Gestion complète des factures avec upload sécurisé et nomenclature automatique
- ⚙️ CI/CD et Tests : Pipeline GitHub Actions complet avec validation Docker et tests automatisés
- 🔧 Refactorisation : Nettoyage du code, migration snake_case, annotations de type et documentation API
- 📊 Monitoring Avancé : Intégration MongoDB pour les logs d'activité et dashboard de monitoring
- � Notifications Signatures : Email automatique avec PDF signé en pièce jointe aux signataires
- Génération des accès VPN : Module de génération des accès VPN avec contrôle d'accès par rôle
- Améliorations Signatures : Notifications automatiques par email, rate limiting OTP, audit logs avancés
- Tests Unitaires : Couverture complète du module signature
- Module de Reporting : Tableaux de bord et statistiques avancées
- Optimisation Mobile : Amélioration de l'expérience utilisateur sur mobile
- Optimisation Performance : Analyse et amélioration des performances sur gros volumes
- Sécurité Renforcée : Audit sécurité et implémentation 2FA
📖 Rapport détaillé : Consultez le rapport d'évolution des branches pour un historique complet du développement.
Cette application web développée avec Flask permet la gestion complète d'un établissement scolaire. Elle offre des fonctionnalités avancées de gestion des utilisateurs, des contrats, des documents et des impressions à distance.
Note : Ce projet a été développé bénévolement pour un établissement scolaire secondaire (association à but non lucratif).
Guide de l'environnement de production Guide d'installation rapide
# Diagnostic
docker-compose ps db # Conteneur actif ?
docker-compose logs db # Logs d'erreur ?
docker-compose exec db mariadb -u root -p # Connexion directeSolution :
- Vérifier les variables d'environnement
- Redémarrer le conteneur : docker-compose restart db
// Vérifier les habilitations utilisateur
SELECT habilitation FROM 99_Users WHERE identifiant='user';
// Modifier les permissions
UPDATE 99_Users SET habilitation=126 WHERE identifiant='admin';# Vérifier l'expiration
openssl x509 -in /etc/nginx/certs/intraraudiere.crt -text -noout | grep "Not After"
# Renouveler avec Let's Encrypt
certbot renew
docker-compose restart nginx- GitHub Issues : Bugs et demandes de fonctionnalités
- Documentation : Wiki du projet
- Email : contact
Fork et contribution :
- Fork du projet sur GitHub
- git checkout -b nouvelle-fonctionnalite
- # Développement et tests
- git commit -m "feat: ajout nouvelle fonctionnalité"
- git push origin nouvelle-fonctionnalite
- # Créer une Pull Request
- PEP 8 : Style de code Python
- Type hints : Documentation des types
- Docstrings : Documentation des fonctions
- Tests : Couverture minimum 80%
- Security : Validation des entrées utilisateur
Développé avec ❤️ pour l'éducation :
Ce projet open-source a été créé bénévolement pour répondre aux besoins spécifiques de gestion d'un établissement scolaire. Il évoluera selon les retours d'expérience et les contributions de la communauté.
Merci à tous les contributeurs qui ont permis à ce projet de voir le jour et d'évoluer :
- Équipe pédagogique de l'établissement
- Développeurs bénévoles
- Testeurs et utilisateurs finaux
Pour toute question, suggestion ou problème :
📧 github.com/remiv1
🐙 GitHub Issues
📚 Documentation complète