Widget JS universel pour la declaration de bugs et stories, embeddable sur tous les sous-domaines *.d1dev.fr
Ajoutez une seule ligne dans votre HTML :
<script src="https://widget.d1dev.fr/widget.umd.js" data-auto-init
data-config='{"apiUrl":"https://kanban.d1dev.fr","features":{"testBanner":true,"chat":false}}'></script>
Ctrl+clic droit sur un element pour capturer le contexte et creer une story directement dans le Kanban.
Affichez une story existante avec ?story=26 ou un message de test avec ?test=Hello.
Ctrl+. pour toggler la visibilite du widget. Fonctionne sur toutes les pages.
Rapport automatique (DOM, user agent, story data) envoye a /api/widget-debug pour le diagnostic.
| Option | Type | Defaut | Description |
|---|---|---|---|
| apiUrl | string | https://kanban.d1dev.fr | URL du backend Kanban |
| features.testBanner | boolean | true | Activer le panneau test/story |
| features.chat | boolean | false | Activer le panneau chat (Phase 2) |
| features.humanMode | boolean | false | Mode humain : formulaire de creation toujours visible, pas de toggle/minimiser |
| features.autoAssign | 'agent' | 'human' | undefined | Forcer l'assignation (masque le toggle agent/humain) |
Le mode humain affiche directement le formulaire de creation de story, sans bouton toggle ni minimiser. Ideal pour les utilisateurs non-techniques.
<script src="https://widget.d1dev.fr/widget.umd.js" data-auto-init
data-config='{"apiUrl":"https://kanban.d1dev.fr","features":{"humanMode":true,"testBanner":false,"chat":false}}'></script>
<script src="https://widget.d1dev.fr/widget.umd.js" data-auto-init
data-config='...'></script>
<script>
window.D1_WIDGET_CONFIG = {
apiUrl: "https://kanban.d1dev.fr",
features: { testBanner: true, chat: false }
};
</script>
<script src="https://widget.d1dev.fr/widget.umd.js" data-auto-init></script>
// Monter le widget
D1Widget.mount({ apiUrl: "https://kanban.d1dev.fr", features: { testBanner: true } });
// Toggler la visibilite
D1Widget.toggle(config);
// Ouvrir avec contexte element (bug report)
D1Widget.openWithContext(config, elementContext);
// Verifier si monte / demonter
D1Widget.isMounted();
D1Widget.unmount();
| Application | URL | Statut |
|---|---|---|
| React App | app.d1dev.fr | actif |
| Search App | search.d1dev.fr | actif |
| Kanban Front | projet.d1dev.fr | actif |
| PrestaAdmin | prestadmin.d1dev.fr | actif |
# Consulter les rapports debug
curl https://kanban.d1dev.fr/api/widget-debug
# Vider les rapports
curl -X DELETE https://kanban.d1dev.fr/api/widget-debug
# Tester sur une page
https://search.d1dev.fr?story=26&debug=1
Le bundle JS utilise Cache-Control: no-cache, must-revalidate avec validation ETag. Pas de max-age pour eviter le cache stale apres deploy.
| Fichier | Taille | Description |
|---|---|---|
| widget.umd.js | ~152 KB | Bundle UMD (standalone, React inclus) |
| widget.es.js | ~223 KB | Bundle ES module |