mirror of
https://github.com/tips-of-mine/gestion-certificats2.git
synced 2025-06-28 06:58:43 +02:00
This commit is contained in:
197
README.modern.md
197
README.modern.md
@ -1,197 +0,0 @@
|
|||||||
# 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
|
|
||||||
|
|
||||||
1. **Clone et configuration :**
|
|
||||||
```bash
|
|
||||||
git clone <repository>
|
|
||||||
cd certificate-management
|
|
||||||
cp .env.example .env
|
|
||||||
```
|
|
||||||
|
|
||||||
2. **Développement avec hot reload :**
|
|
||||||
```bash
|
|
||||||
# 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
|
|
||||||
```
|
|
||||||
|
|
||||||
3. **Production :**
|
|
||||||
```bash
|
|
||||||
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
|
|
||||||
```bash
|
|
||||||
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
|
|
||||||
```bash
|
|
||||||
# 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 :
|
|
||||||
|
|
||||||
1. **Phase 1** : API REST en parallèle ✅
|
|
||||||
2. **Phase 2** : Nouvelle interface React ✅
|
|
||||||
3. **Phase 3** : Migration des utilisateurs
|
|
||||||
4. **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
|
|
||||||
|
|
||||||
- [Guide d'installation détaillé](./docs/installation.md)
|
|
||||||
- [Documentation API](./docs/API.md)
|
|
||||||
- [Guide de développement](./docs/development.md)
|
|
||||||
- [Architecture](./docs/architecture.md)
|
|
||||||
- [Sécurité](./docs/security.md)
|
|
||||||
|
|
||||||
## 🤝 Contribution
|
|
||||||
|
|
||||||
1. Fork le projet
|
|
||||||
2. Créer une branche feature (`git checkout -b feature/amazing-feature`)
|
|
||||||
3. Commit les changements (`git commit -m 'Add amazing feature'`)
|
|
||||||
4. Push vers la branche (`git push origin feature/amazing-feature`)
|
|
||||||
5. 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](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**
|
|
Reference in New Issue
Block a user