Checklist intelligente
Recevez des suggestions automatiques pour améliorer votre architecture en sécurité, résilience, performance et observabilité.
La checklist intelligente analyse votre architecture et suggère des améliorations basées sur les bonnes pratiques. Elle détecte les composants manquants, les patterns non optimaux et les risques potentiels.
Concept#
La checklist fonctionne comme un assistant qui examine votre architecture et pose des questions :
- "Votre backend a-t-il un cache ?"
- "Votre base de données a-t-elle des replicas ?"
- "Vos services sont-ils surveillés ?"
Chaque suggestion indique les composants concernés et propose une action.
Accéder à la checklist#
La checklist est accessible via le bouton dans la toolbar du canvas :
- Cliquez sur l'icône Checklist (liste à cocher) dans la toolbar supérieure
- Le panneau s'ouvre à droite avec les suggestions
- Un badge indique le nombre de suggestions en attente
Checklist intelligente avec suggestions
Le panneau Checklist et le panneau de propriétés sont mutuellement exclusifs. Ouvrir l'un ferme l'autre automatiquement.
Catégories de suggestions#
Sécurité#
Recommandations pour protéger votre infrastructure :
| Suggestion | Condition | Action |
|---|---|---|
| HTTPS manquant | Backend sans connexion depuis CDN/LB | Ajoutez une terminaison TLS |
| Auth absente | Backend accessible sans composant Auth | Ajoutez l'authentification |
| WAF recommandé | Services exposés sans WAF | Ajoutez un Web Application Firewall |
| Secrets non sécurisés | Pas de Vault dans l'architecture | Utilisez un gestionnaire de secrets |
Résilience#
Recommandations pour la haute disponibilité :
| Suggestion | Condition | Action |
|---|---|---|
| Replicas manquants | Database sans replicas | Configurez la replication |
| Single point of failure | Service critique sans redundance | Ajoutez des instances |
| Load balancer absent | Multiple backends sans LB | Ajoutez la répartition de charge |
| DR non configuré | Pas de région secondaire | Planifiez le disaster recovery |
Performance#
Recommandations pour l'optimisation :
| Suggestion | Condition | Action |
|---|---|---|
| Cache recommandé | Backend avec beaucoup de lectures DB | Ajoutez Redis/Memcached |
| CDN manquant | Frontend sans CDN | Ajoutez un CDN pour les assets |
| Async recommandé | Processus longs synchrones | Utilisez une queue |
Observabilité#
Recommandations pour le monitoring :
| Suggestion | Condition | Action |
|---|---|---|
| Monitoring absent | Services sans composant Monitoring | Ajoutez Prometheus/Datadog |
| Logs centralisés | Pas de système de logs | Ajoutez ELK/Loki |
| Tracing manquant | Microservices sans tracing | Implémentez OpenTelemetry |
| Alerting absent | Monitoring sans alertes | Configurez PagerDuty/OpsGenie |
Types de suggestions#
Suggestions (niveau info)#
Recommandations pour améliorer l'architecture. Pas d'urgence, mais à considérer.
Icône : 💡 (ampoule)
Warnings (niveau attention)#
Points à évaluer qui pourraient poser problème. Méritent une attention.
Icône : ⚠️ (triangle)
Erreurs (niveau critique)#
Configurations potentiellement dangereuses ou patterns à éviter.
Icône : ❌ (croix)
Navigation#
Chaque suggestion liste les composants concernés. Cliquez sur un nom de composant pour :
- Sélectionner le composant sur le canvas
- Centrer la vue sur ce composant
- Ouvrir son panneau de propriétés
Cette navigation rapide vous permet d'adresser chaque suggestion efficacement.
Règles de détection#
La checklist utilise des règles basées sur la structure du diagramme :
Analyse des connexions#
- Quels composants sont connectés à quoi ?
- Y a-t-il des chemins directs vers internet ?
- Les services critiques ont-ils des connexions de fallback ?
Analyse des types#
- Quels types de composants sont présents ?
- Quels types manquent pour une architecture complète ?
- Les proportions sont-elles équilibrées ?
Analyse des propriétés#
- Les propriétés sémantiques (criticité, status) sont-elles cohérentes ?
- Les métadonnées sont-elles renseignées ?
Filtrage#
Par composant sélectionné#
Quand un composant est sélectionné, la checklist affiche uniquement les suggestions liées à ce composant.
Vue globale#
Désélectionnez tout pour voir toutes les suggestions du projet.
Par sévérité#
Utilisez les toggles pour filtrer :
- Afficher les suggestions (info)
- Afficher les warnings
- Afficher les erreurs
Interpretez avec contexte#
La checklist n'est pas prescriptive. Elle suggère des bonnes pratiques courantes, mais toutes les suggestions ne s'appliquent pas à tous les contextes.
Exemples où ignorer une suggestion est justifié :
- "Replicas recommandés" sur une DB de dev : Normal de ne pas avoir de replicas en développement
- "Cache recommandé" pour un service write-heavy : Le cache n'apporte pas de bénéfice
- "WAF manquant" sur un service interne : Le WAF est au niveau edge, pas sur chaque service
Évaluez chaque suggestion selon votre contexte réel.
Désactiver une suggestion#
Pour masquer une suggestion non pertinente :
- Cliquez sur Ignorer a cote de la suggestion
- Elle disparaît de la liste
- Vous pouvez la restaurer dans les paramètres du projet
Les suggestions ignorées sont enregistrées par projet.
Ajout de composants depuis la checklist#
Certaines suggestions proposent une action directe :
- Cliquez sur Ajouter a cote de la suggestion
- Le composant recommandé est ajouté au canvas
- Positionnez-le et connectez-le
Par exemple, "Cache recommandé" peut ajouter un composant Redis pré-configuré.
Évolution#
La checklist s'adapte à l'évolution de votre architecture :
- Ajoutez un cache → La suggestion "Cache recommandé" disparaît
- Supprimez le monitoring → La suggestion réapparaît
Les suggestions sont recalculées à chaque modification.
Bonnes pratiques#
Revue régulière#
Consultez la checklist périodiquement :
- Avant une mise en production
- Lors des revues d'architecture
- Après des modifications majeures
Priorisation#
Adressez d'abord :
- Les erreurs (critiques)
- Les warnings de sécurité
- Les warnings de résilience
- Les suggestions de performance
Documentation#
Quand vous ignorez une suggestion, documentez pourquoi :
- Dans la description du projet
- Dans un commentaire sur le composant concerné
Prochaines étapes#
- Analyse d'impact pour evaluer les changements
- Propriétés sémantiques pour enrichir les données
- Templates qui intègrent déjà les bonnes pratiques