{% extends 'base/layout.html' %} {% block title %}Démarrer avec le catalogue applicatif{% endblock %} {% block content %} {% comment %} Ouverture immédiate de l'assistant : on arrive ici pour déclarer une application, pas pour lire. Le lien est cliqué par script plutôt que d'appeler Bootstrap directement — c'est EXACTEMENT le chemin qu'emprunte un clic humain, donc celui qui est déjà éprouvé. « {# … #} » ne commente QU'UNE LIGNE chez Django : au-delà, le texte s'affiche tel quel dans la page. Ce défaut a déjà été livré une fois ici. {% endcomment %} assistant

Créer une fiche applicative

Ce parcours explique le modèle, puis regarde l'état réel de votre catalogue pour vous dire ce qu'il reste à faire.

{{ nb_applications }}
application{{ nb_applications|pluralize }}
{{ nb_deploiements }}
déploiement{{ nb_deploiements|pluralize }}
{{ nb_referentiels }}
valeurs de référentiel

Le principe, en une minute

Deux objets, et la distinction n'est pas administrative. Une application vit dans plusieurs environnements à la fois, et ce qui les sépare est précisément ce qui compte en exploitation.

L'application — le service

Ce qui est vrai quel que soit l'environnement.

  • son client, ses référents
  • sa criticité métier
  • ses engagements de continuité (RTO, RPO)
  • la sensibilité des données traitées

Le déploiement — une instance

Ce qui change d'un environnement à l'autre.

  • les machines qui le portent
  • sa plage de maintenance
  • son exposition à l'externe
  • son URL d'accès
Pourquoi ce partage. Porter les machines ou la plage de maintenance sur l'application supposerait que la production et la recette partagent les mêmes. L'erreur ne se voit pas à la saisie : elle se découvre le jour où l'on interrompt la production en croyant toucher la recette.

Où vous en êtes

{% for etape in etapes %}
{% if etape.faite %} {{ etape.numero }} {% else %} {{ etape.numero }} {% endif %}
{{ etape.titre }}
{% if etape.numero == 1 %}

Les listes déroulantes — criticités, environnements, authentification — sont des objets que vous gérez vous-même. Ajouter une valeur ne demande ni fichier à éditer, ni redémarrage.

Voir les environnements {% elif etape.numero == 2 %}

Ne renseignez que ce que vous savez : tout est facultatif sauf le nom. L'identifiant APP-0001 est attribué automatiquement.

Déclarer une application Formulaire complet {% elif etape.numero == 3 %}

Un déploiement par environnement où l'application tourne. Le modèle refuse deux fiches pour le même environnement.

{% if etape.reste %}
Sans aucun déploiement : {% for application in etape.reste %} {{ application.name }}{% if not forloop.last %}, {% endif %} {% endfor %}
{% endif %} Ajouter un déploiement {% elif etape.numero == 4 %}

C'est ce rattachement qui répond, en incident, à « cette machine sert à quoi ? ». Sans lui, le catalogue reste une liste sans prise sur l'infrastructure.

{% if etape.reste %}
Sans machine rattachée : {% for deploiement in etape.reste %} {{ deploiement }}{% if not forloop.last %}, {% endif %} {% endfor %}
{% endif %} {% if machines_orphelines %}
Machines rattachées à aucun déploiement : {% for machine in machines_orphelines %} {{ machine }}{% if not forloop.last %}, {% endif %} {% endfor %}
Le même oubli, vu de l'autre bout : ces machines existent sans qu'on sache ce qu'elles servent.
{% endif %} {% endif %}
{% endfor %}

Les quatre mots qui arrêtent tout le monde

RTO Combien de temps le service peut rester interrompu. Un RTO de 4 heures engage à remettre en service sous 4 heures.
RPO Combien de données on accepte de perdre. Un RPO d'une heure interdit une sauvegarde quotidienne — c'est un engagement, pas un souhait.
Horaires de service Quand il faut répondre. À ne pas confondre avec la plage de maintenance, qui dit quand on peut interrompre.
Authentification « Locale » n'est pas un détail : elle signale des comptes qui échappent à la révocation centralisée. C'est cette liste qu'on ouvre le jour où quelqu'un quitte l'organisation.

Ce que le catalogue sait répondre

Quelles applications ont des comptes hors révocation centralisée ? Qu'est-ce qui tourne en production ? Quels déploiements sont exposés à l'externe ? Lesquelles traitent des données personnelles ?
{% endblock %} {% block modals %} {% include 'inc/htmx_modal.html' %} {% endblock modals %}