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 :

  1. Cliquez sur l'icône Checklist (liste à cocher) dans la toolbar supérieure
  2. Le panneau s'ouvre à droite avec les suggestions
  3. Un badge indique le nombre de suggestions en attente

Checklist intelligente avec suggestionsChecklist 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 :

SuggestionConditionAction
HTTPS manquantBackend sans connexion depuis CDN/LBAjoutez une terminaison TLS
Auth absenteBackend accessible sans composant AuthAjoutez l'authentification
WAF recommandéServices exposés sans WAFAjoutez un Web Application Firewall
Secrets non sécurisésPas de Vault dans l'architectureUtilisez un gestionnaire de secrets

Résilience#

Recommandations pour la haute disponibilité :

SuggestionConditionAction
Replicas manquantsDatabase sans replicasConfigurez la replication
Single point of failureService critique sans redundanceAjoutez des instances
Load balancer absentMultiple backends sans LBAjoutez la répartition de charge
DR non configuréPas de région secondairePlanifiez le disaster recovery

Performance#

Recommandations pour l'optimisation :

SuggestionConditionAction
Cache recommandéBackend avec beaucoup de lectures DBAjoutez Redis/Memcached
CDN manquantFrontend sans CDNAjoutez un CDN pour les assets
Async recommandéProcessus longs synchronesUtilisez une queue

Observabilité#

Recommandations pour le monitoring :

SuggestionConditionAction
Monitoring absentServices sans composant MonitoringAjoutez Prometheus/Datadog
Logs centralisésPas de système de logsAjoutez ELK/Loki
Tracing manquantMicroservices sans tracingImplémentez OpenTelemetry
Alerting absentMonitoring sans alertesConfigurez 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)

Chaque suggestion liste les composants concernés. Cliquez sur un nom de composant pour :

  1. Sélectionner le composant sur le canvas
  2. Centrer la vue sur ce composant
  3. 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 :

  1. Cliquez sur Ignorer a cote de la suggestion
  2. Elle disparaît de la liste
  3. 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 :

  1. Cliquez sur Ajouter a cote de la suggestion
  2. Le composant recommandé est ajouté au canvas
  3. 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 :

  1. Les erreurs (critiques)
  2. Les warnings de sécurité
  3. Les warnings de résilience
  4. 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#