Widget D1DEV

Widget JS universel pour la declaration de bugs et stories, embeddable sur tous les sous-domaines *.d1dev.fr

Vite + React 18 + TypeScript

Installation

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>

Fonctionnalites

🐛

Declaration de bugs

Ctrl+clic droit sur un element pour capturer le contexte et creer une story directement dans le Kanban.

📋

Test Banner

Affichez une story existante avec ?story=26 ou un message de test avec ?test=Hello.

⌨️

Raccourcis clavier

Ctrl+. pour toggler la visibilite du widget. Fonctionne sur toutes les pages.

🔍

Debug Report

Rapport automatique (DOM, user agent, story data) envoye a /api/widget-debug pour le diagnostic.

Configuration

OptionTypeDefautDescription
apiUrlstringhttps://kanban.d1dev.frURL du backend Kanban
features.testBannerbooleantrueActiver le panneau test/story
features.chatbooleanfalseActiver le panneau chat (Phase 2)
features.humanModebooleanfalseMode humain : formulaire de creation toujours visible, pas de toggle/minimiser
features.autoAssign'agent' | 'human'undefinedForcer l'assignation (masque le toggle agent/humain)

Mode 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>

Methodes d'initialisation

1. Auto-init (recommande)

<script src="https://widget.d1dev.fr/widget.umd.js" data-auto-init
  data-config='...'></script>

2. Config globale

<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>

3. API programmatique

// 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();

Apps integrees

ApplicationURLStatut
React Appapp.d1dev.fractif
Search Appsearch.d1dev.fractif
Kanban Frontprojet.d1dev.fractif
PrestaAdminprestadmin.d1dev.fractif

Debug

# 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

Cache

Le bundle JS utilise Cache-Control: no-cache, must-revalidate avec validation ETag. Pas de max-age pour eviter le cache stale apres deploy.

Fichiers

FichierTailleDescription
widget.umd.js~152 KBBundle UMD (standalone, React inclus)
widget.es.js~223 KBBundle ES module