← Retour au Dashboard Studio
ID: 002_hello_world
Statut: spec-approved
Plugin Hello World
Dernière mise à jour : 2026-07-25 | Version : 1.4
1. Spécification Produit
2. UI & Prototype Web
3. Code Production
Document de Spécification Produit
spec.md ---
id: "001_hello_world"
title: "Plugin Hello World"
stage: 1
status: "spec-approved"
last_updated: "2026-07-25"
version: "1.4"
---
# Spécification Produit : Plugin Hello World
## 1. Résumé & Objectifs Métier
- **Définition synthétique** : Script de test, de validation et de diagnostic de l'environnement d'exécution pyRevit et de l'extension ANMA. Il exécute un traitement minimaliste d'initialisation, vérifie l'intégrité du système de log et affiche la chaîne `"Hello World!"` dans la console.
- **Gain estimé** : Fournir un outil d'audit instantané pour valider l'environnement de développement et de production (chargement de l'extension ANMA, disponibilité des modules pyRevit et accès aux assemblies Revit API) sans risquer de corrompre le document activement ouvert.
## 2. Cas d'Usage & Scénarios Utilisateur
- **Acteur principal** : Développeur BIM / BIM Manager / Support Technique / Utilisateur final (pour contrôle d'installation).
- **Pré-conditions** : Autodesk Revit lancé avec le plugin pyRevit et l'extension ANMA correctement installée. Aucun modèle `.rvt` ouvert ou spécifique n'est prérequis.
- **Flux nominal** :
1. Lancement du plugin depuis le bouton dédié du ruban PyRevit ANMA.
2. Contrôle préalable des dépendances système et validation de la conformité aux exigences de sécurité (absence de secrets ou clés codés en dur).
3. Ouverture/Focus sur le panneau de console pyRevit.
4. Affichage du journal d'initialisation et du message `"Hello World!"`.
5. Libération des ressources et fermeture propre de la séquence d'exécution.
## 3. Matrice des Données & Paramètres Revit
*Ce plugin étant un script de diagnostic d'environnement, aucun paramètre ni élément du modèle Revit n'est extrait ou altéré.*
| Paramètre / Attribut | Catégorie Revit | Type de Donnée | Mode (Lecture/Écriture) |
|---|---|---|---|
| *Aucun* | *N/A* | *N/A* | *N/A* |
## 4. Règles de Gestion & Algorithme Métier
1. **Contrôle d'intégrité du code** : Vérification de la bonne résolution des dépendances API (`Autodesk.Revit.DB`, modules pyRevit) pour éviter toute erreur de type `NameError` ou `ImportError` non capturée.
2. **Initialisation de la console** : Récupération du flux de sortie via `pyrevit.script.get_output()`.
3. **Journalisation et affichage** : Écriture systématique des informations de statut dans la console et impression du message cible `"Hello World!"`.
4. **Gestion de session** : Clôture explicite du thread sans création ni ouverture de transaction sur le document Revit.
## 5. Exigences d'Ergonomie (UI/UX)
- **Déclenchement** : Bouton-poussoir (`pushbutton`) intégré dans le ruban ANMA sous une icône d'information / diagnostic.
- **Interface utilisateur** : Utilisation de la console pyRevit standard. Rendu fluide compatible avec les thèmes sombre et clair (Dark/Light mode).
- **Feedback visuel** : Affichage structuré du message avec horodatage ou statut explicite garantissant qu'aucun message ou avertissement ne reste masqué ou ignoré.
## 6. Risques, Limites & Gestion des Erreurs
- **Sécurité & Quality Gate (Conformité RFC-30 / Strict Build)** : Respect strict des règles de sécurité ANMA et validation impérative par le contrôle automatique (`prebuild.py --strict`). Tolérance zéro sur les secrets ou clés d'API en dur (`HARDCODED_SECRET` / `HARDCODED_VALUES`). Toute violation bloque l'étape de pré-build avec un code de sortie d'erreur (`EXIT CODE: 1`).
- **Isolement & Cycle de Promotion** : Le plugin réside en quarantaine sous `plugin_ideas/*/generated_code/` durant sa phase de qualification. Sa promotion dans le ruban de production `ANMA.tab/` requiert obligatoirement une Pull Request validée, sans push direct autorisé.
- **Gestion des imports & dépendances** : Encadrement des imports critiques dans un bloc d'exception contrôlé pour prévenir tout plantage silencieux.
- **Indisponibilité du composant console** : En cas d'échec d'initialisation du module `script.get_output()`, basculement automatique sur une boîte de dialogue d'urgence Revit (`TaskDialog`) indiquant le diagnostic.
- **Impact performance & stabilité** : Durée d'exécution strictly inférieure à 100 ms. Impact nul sur la mémoire et la stabilité du modèle BIM actif.
💡 Pour réviser ou valider :
Ajoutez des remarques dans spec.md en local ou passez le statut à status: "spec-approved" pour déclencher le Stage 2.
Prototype UI Web 100% Interactif
Simulateur de l'interface utilisateur WPF Revit directement dans le navigateur.
⚡ ANMA Plugin UI Simulator — Plugin Hello World
Mode Interactif Aucune maquette HTML disponible pour le moment.
Validez la spec pour déclencher l'Étape 2 (génération de l'UI).
Code Python PyRevit (script.py)
generated_code/script.pyCode non généré.
Validez l'UI (`status: "ui-approved"`) pour déclencher la génération de code PyRevit Stage 3.