Files
manus-dashboard/APP_MANIFEST.md
Santinova Deploy 692762674b
All checks were successful
Validation Dashboard / Tests backend et build frontend (push) Successful in 1m7s
fix: rétablir le dashboard production et ses moteurs IA
2026-09-05 14:21:53 +00:00

2.7 KiB
Raw Blame History

Contrat app.json

Le dashboard et le portail applicatif utilisent exclusivement le manifeste placé dans le dossier de chaque application déployée :

/opt/manus-deploy/apps/<dossier-technique>/app.json

Une application sans manifeste valide n’est pas considérée comme déployée. Elle n’apparaît donc ni dans le dashboard ni dans le portail.

Schéma minimal

{
  "id": "itinova-contacts",
  "name": "Itinova Contacts",
  "category": "ITINOVA",
  "containerName": "itinova-contacts",
  "giteaRepo": "itinova-contacts",
  "giteaOwner": "manus-admin",
  "image": "images/itinova-contacts.png",
  "ai": {
    "engines": [
      {
        "provider": "Google Gemini",
        "model": "gemini-2.5-flash",
        "role": "Assistant conversationnel"
      }
    ]
  },
  "urls": {
    "recette": "https://contacts.recette.santinova-soft.org",
    "prod": "https://contacts.santinova-soft.org"
  }
}
Champ Rôle Règle
id Identifiant stable de l’application Minuscules, chiffres et tirets uniquement.
name Libellé affiché Chaîne non vide.
category Emplacement dans le portail ITINOVA, SANTINOVA ou INFRA. Les applications INFRA restent visibles dans le dashboard mais sont exclues du portail.
containerName Conteneur géré par Docker Obligatoire pour le contrôle de démarrage et de statut. À défaut, le dashboard utilise id.
giteaRepo Dépôt source Sert au webhook CI/CD et à l’inventaire.
giteaOwner Organisation/propriétaire Gitea Facultatif si la valeur par défaut suffit.
image Image locale du portail Chemin relatif à portail-santinova/images/.
ai.engines Moteurs IA déclarés Tableau optionnel de métadonnées publiques : provider, model et role optionnel. Ne jamais y mettre une clé, un jeton ni un endpoint privé.
urls.recette URL de recette Obligatoire et HTTPS pour un dashboard recette.
urls.prod URL de production Obligatoire et HTTPS pour un dashboard de production.

Règles de déploiement

Chaque premier déploiement doit créer ou mettre à jour le manifeste dans le même commit que le docker-compose.yml et les éléments nécessaires à l’application. Lorsqu’une application est promue, son manifeste de production doit contenir l’URL de production avant le démarrage du dashboard. Lorsque l’application utilise un moteur IA, le même commit renseigne ai.engines avec des informations descriptives vérifiées, jamais avec des secrets.

Le dashboard ne maintient plus de liste statique d’applications, et le portail ne maintient plus de tuiles codées en dur. Cette règle élimine les écarts de version, d’URL, de catégorie et de statut entre les deux interfaces.