mirror of
https://github.com/tips-of-mine/gestion-certificats2.git
synced 2025-06-28 10:28:42 +02:00
5.4 KiB
5.4 KiB
Certificate Management System - Version Modernisée
🚀 Nouvelle Architecture
Cette version modernisée utilise les technologies suivantes :
Frontend
- React 18 avec TypeScript
- Vite pour le build et le développement
- Tailwind CSS pour le styling
- React Query pour la gestion des données
- Zustand pour le state management
- React Hook Form pour les formulaires
- i18next pour l'internationalisation
Backend
- PHP 8.3 avec architecture API REST
- API versionnée (v1) avec responses standardisées
- Middleware d'authentification moderne
- OpenAPI/Swagger documentation
- Validation robuste des données
DevOps
- Docker multi-stage builds
- Hot reload en développement
- Environnements séparés (dev/prod)
- Healthchecks et monitoring
- CI/CD amélioré avec tests automatisés
🛠 Installation et Développement
Prérequis
- Docker et Docker Compose
- Node.js 18+ (pour le développement local)
Démarrage rapide
- Clone et configuration :
git clone <repository>
cd certificate-management
cp .env.example .env
- Développement avec hot reload :
# Démarrer tous les services en mode développement
docker-compose -f docker-compose.dev.yml up -d
# Ou démarrer individuellement
npm install # Installer les dépendances frontend
npm run dev # Frontend avec hot reload sur :3000
- Production :
docker-compose up -d
URLs de développement
- Frontend: http://localhost:3000
- Backend API: http://localhost:980/api/v1
- Application Legacy: http://localhost:980
📱 Nouvelles Fonctionnalités
Interface Utilisateur
- Design System moderne avec Tailwind CSS
- Mode sombre/clair avec persistence
- Interface responsive optimisée mobile
- Composants réutilisables avec TypeScript
- Loading states et error handling améliorés
- Toast notifications pour les feedbacks
API REST
- Endpoints RESTful standardisés
- Responses JSON unifiées
- Authentification par token (Bearer)
- Validation des données robuste
- Codes d'erreur HTTP appropriés
- Documentation API automatique
Gestion des États
- State management avec Zustand
- Cache intelligent avec React Query
- Optimistic updates pour une UX fluide
- Persistance des préférences utilisateur
Sécurité Renforcée
- Headers de sécurité (CORS, CSP)
- Validation stricte côté client et serveur
- Sanitization des inputs
- Rate limiting sur les APIs sensibles
🧪 Tests et Qualité
Frontend
npm run test # Tests unitaires avec Vitest
npm run test:ui # Interface de test
npm run test:coverage # Couverture de code
npm run lint # ESLint
npm run type-check # Vérification TypeScript
Backend
# Dans le conteneur PHP
composer test # PHPUnit
composer analyse # Analyse statique
CI/CD
- Tests automatisés sur chaque PR
- Build multi-environnements
- Déploiement automatique avec validation
- Monitoring de la santé des services
📊 Monitoring et Observabilité
Métriques
- Performance monitoring des APIs
- Error tracking centralisé
- Usage analytics des fonctionnalités
- Alertes en cas de problème
Logs Structurés
- Logs JSON pour faciliter l'analyse
- Corrélation des requêtes
- Niveaux de logs appropriés
- Rotation automatique des logs
🔄 Migration depuis l'Ancienne Version
L'ancienne interface PHP reste accessible et fonctionne en parallèle. La migration se fait progressivement :
- Phase 1 : API REST en parallèle ✅
- Phase 2 : Nouvelle interface React ✅
- Phase 3 : Migration des utilisateurs
- Phase 4 : Dépréciation de l'ancienne interface
🚧 Roadmap
Version 2.1 (Q1 2024)
- WebSocket pour les notifications temps réel
- Dashboard avancé avec graphiques
- Audit trail complet
- API Rate limiting avancé
Version 2.2 (Q2 2024)
- Multi-tenancy pour les organisations
- SSO/SAML integration
- Backup automatique des certificats
- Mobile app React Native
Version 3.0 (Q3 2024)
- Microservices architecture
- Kubernetes deployment
- GraphQL API
- Machine Learning pour la détection d'anomalies
📖 Documentation
🤝 Contribution
- Fork le projet
- Créer une branche feature (
git checkout -b feature/amazing-feature
) - Commit les changements (
git commit -m 'Add amazing feature'
) - Push vers la branche (
git push origin feature/amazing-feature
) - Ouvrir une Pull Request
Standards de Code
- ESLint + Prettier pour JavaScript/TypeScript
- PSR-12 pour PHP
- Conventional Commits pour les messages
- Tests obligatoires pour les nouvelles fonctionnalités
📄 Licence
Ce projet est sous licence AGPL-3.0. Voir le fichier LICENSE pour plus de détails.
🆘 Support
- Issues GitHub pour les bugs
- Discussions pour les questions
- Wiki pour la documentation communautaire
- Discord pour le chat en temps réel
Made with ❤️ by the Certificate Management Team