Asgard est une collection de modules Spring Boot réutilisables, conçus pour simplifier le développement d'applications Java. Chaque module est indépendant et peut être utilisé séparément selon les besoins de votre projet.
Hel - Gestion de l'arrêt d'application
Le module Hel fournit des API REST pour gérer l'arrêt d'une application de manière contrôlée.
Fonctionnalités principales :
- Arrêt immédiat de l'application
- Arrêt programmé avec expression cron
- Auto-configuration Spring Boot
- Documentation OpenAPI intégrée
Utilisation typique :
- Gestion des arrêts planifiés en production
- Arrêts d'urgence contrôlés
- Maintenance programmée
Heimdall - Module de Logging pour Spring Boot
Le module Heimdall est un module de logging avancé qui permet de tracer automatiquement l'exécution des méthodes annotées avec les stéréotypes Spring courants.
Fonctionnalités principales :
- Logging automatique pour les annotations Spring :
@RestController: Logging des endpoints REST@Controller: Logging des contrôleurs MVC@Service: Logging des services métier@Repository: Logging des accès aux données@Component: Logging des composants génériques
- Capture automatique des entrées/sorties de méthodes
- Gestion des exceptions
- Logs formatés avec émojis pour une meilleure lisibilité
- Configuration fine par type de composant
Utilisation typique :
- Traçage des appels API
- Monitoring des services métier
- Suivi des accès aux données
- Debugging des composants
- Audit des opérations
Mimir - Module de Documentation Automatique pour Spring Boot
Le module Mimir est un module de documentation automatique qui permet de générer une documentation complète de votre application Spring Boot.
Fonctionnalités principales :
- Documentation automatique avec les annotations OpenAPI :
@Tag: Documentation des classes@Operation: Documentation des méthodes@Parameter: Documentation des paramètres@ApiResponse: Documentation des réponses
- Génération de diagrammes UML avec Mermaid
- API REST pour la génération de documentation
- Documentation structurée au format Markdown
- Validation des annotations au démarrage
Utilisation typique :
- Documentation automatique des API REST
- Génération de documentation technique
- Visualisation de l'architecture avec diagrammes UML
- Documentation des services et composants
- Maintenance de la documentation à jour
Chaque module peut être installé indépendamment. Consultez le README spécifique de chaque module pour les instructions d'installation détaillées.
Exemple d'installation d'un module :
<dependency>
<groupId>fr.eletutour.asgard</groupId>
<artifactId>hel</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>ou
<dependency>
<groupId>fr.eletutour.asgard</groupId>
<artifactId>heimdall</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>Chaque module est auto-configurable et peut être activé/désactivé via les propriétés Spring Boot. Consultez la documentation de chaque module pour les options de configuration disponibles.
Recommandations générales :
- Sécuriser les endpoints avec Spring Security
- Limiter l'accès aux fonctionnalités sensibles
- Configurer l'authentification et l'autorisation
- Utiliser HTTPS en production
Les contributions sont les bienvenues ! N'hésitez pas à :
- Fork le projet
- Créer une branche pour votre fonctionnalité
- Commiter vos changements
- Pousser vers la branche
- Créer une Pull Request
- Java 21 ou supérieur
- Maven 3.8 ou supérieur
- Docker (pour les tests d'intégration)
mvn clean installmvn testCe projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
