Documentation
Extension WordPress
L’extension « Gaspard Assistant » : le widget sur tout le site, une page de réglages, un code court et un bloc.
Extension WordPress officielle qui ajoute Gaspard, l'assistant IA de HubMix, à n'importe quel
site WordPress. Elle charge le widget gaspard.js servi par le service et affiche une seule balise
<gaspard-assistant> par page ; elle n'appelle jamais l'API depuis PHP.
- WordPress 6.0 ou plus récent, PHP 7.4 ou plus récent.
- Licence GPL-2.0-or-later (exigée par WordPress.org ; les autres SDK sont sous MIT).
- Aucun suivi, aucune requête depuis le serveur, aucune donnée stockée en dehors des réglages.
Obtenir une clé #
- Demandez votre accès sur https://hubmix.dealmood-solutions.com/assistant-ia en donnant l'adresse de votre
site (par exemple
https://www.mon-site.ch, avec et sanswwwsi les deux existent). - L'équipe HubMix crée votre client widget, configure Gaspard IA et vous remet la clé publiable.
- Copiez la clé publiable
vcp_live_…. Elle est faite pour être visible dans vos pages, mais ne fonctionne que depuis les adresses déclarées. Ne mettez jamais une clé secrètevck_live_…dans WordPress : l'extension la refuse.
Installation #
- Téléchargez
gaspard-assistant-1.0.0.zip(ou construisez-le, voir plus bas). - Dans WordPress : Extensions → Ajouter → Téléverser une extension, choisissez le zip, installez, puis Activez.
- Ouvrez Réglages → Gaspard, collez la clé publiable, enregistrez. Gaspard apparaît en bas à droite de vos pages.
Tant qu'aucune clé n'est enregistrée, une notice sur le tableau de bord et la page des extensions rappelle d'en ajouter une, avec un lien vers le formulaire de demande.
Réglages (Réglages → Gaspard) #
| Réglage | Effet |
|---|---|
| Clé publiable | vcp_live_ suivi de lettres, chiffres, - ou _. Une valeur invalide est refusée et l'ancienne conservée. |
| Adresse du service | https://hubmix.dealmood-solutions.com par défaut. https:// obligatoire (http:// seulement pour localhost). Le script est chargé depuis <adresse>/widget/gaspard.js. |
| Langue | Langue de la page (attribut lang du thème), français, allemand ou anglais. |
| Questions suggérées | Une par ligne, quatre au maximum. Vide : celles de Gaspard. |
| Afficher Gaspard sur toutes les pages | Coché par défaut. Décoché : Gaspard n'apparaît que sur les pages qui contiennent le bloc ou le code court. |
| Pages exclues | Identifiants séparés par des virgules. |
| Types de contenu exclus | Gaspard n'apparaît ni sur les contenus de ces types, ni sur leurs archives. |
Un bloc ou un code court affiche Gaspard même sur une page exclue. Le tout est stocké dans une seule option
gaspard_assistant_settings, supprimée à la désinstallation.
Code court [gaspard] #
[gaspard]
[gaspard locale="de" page="Kontakt" suggestions="Wie melde ich mich an?|Wo finde ich eine Wohnung?"]
[gaspard button="1" label="Une question ? Demandez à Gaspard"]| Attribut | Effet |
|---|---|
locale |
fr, de ou en pour cette page. |
page |
Contexte transmis à Gaspard (80 caractères au maximum). |
suggestions |
Questions séparées par ` |
button |
1 : affiche un bouton accessible « Poser une question à Gaspard » qui ouvre la fenêtre. |
label |
Texte du bouton. |
Même avec plusieurs codes courts ou blocs, la page ne contient qu'un élément <gaspard-assistant> ;
les options du premier s'appliquent. Le bouton est relié à Gaspard.open() par un petit script chargé à
part (assets/js/gaspard-button.js) : aucun script en ligne, compatible avec une CSP stricte.
Bloc « Gaspard » #
Dans l'éditeur, ajoutez le bloc Gaspard (catégorie Widgets). Le panneau latéral propose les mêmes options que le code court : langue, contexte, questions suggérées, bouton et son texte. Le bloc est dynamique : son rendu côté serveur réutilise celui du code court. Le script de l'éditeur est écrit en ES5 sans étape de compilation.
Ce qui est imprimé dans la page #
<script src="https://hubmix.dealmood-solutions.com/widget/gaspard.js?ver=1.0.0" id="gaspard-assistant-widget-js" defer data-wp-strategy="defer"></script>
<gaspard-assistant data-key="vcp_live_…" data-api="https://hubmix.dealmood-solutions.com" data-locale="fr"></gaspard-assistant>Toutes les valeurs passent par esc_attr. Pour aller plus loin :
- filtre
gaspard_assistant_enabled(booléen) pour masquer Gaspard sur certaines pages par du code ; - filtre
gaspard_assistant_element_attributes(tableau) pour ajouter des attributs, par exempledata-app-url; seuls les attributsdata-*sont imprimés ; - en JavaScript :
Gaspard.open(),Gaspard.close(),Gaspard.ask("…").
Confidentialité #
L'extension propose un texte pour la politique de confidentialité du site (Réglages → Confidentialité) : les conversations sont conservées par HubMix en Suisse après masquage, le consentement est demandé par le widget, et l'export ou l'effacement des données se font depuis le menu du widget.
Développement #
Les outils de développement sont en dehors du dossier de l'extension et ne sont pas livrés.
composer install
vendor/bin/phpunit # tests unitaires (PHPUnit + Brain Monkey)
vendor/bin/phpcs # WordPress Coding Standards + PHPCompatibilityWP (PHP 7.4+)
bash tools/build-zip.sh # dist/gaspard-assistant-1.0.0.zip (dossier de l'extension seulement)Pour essayer l'extension dans un vrai WordPress (Docker) :
docker compose -f dev/docker-compose.yml up -d
docker compose -f dev/docker-compose.yml run --rm cli wp core install --url=http://localhost:8089 \
--title=Gaspard --admin_user=admin --admin_password=admin --admin_email=admin@example.com --skip-email
docker compose -f dev/docker-compose.yml run --rm cli wp plugin activate gaspard-assistant
# Ouvrir http://localhost:8089/wp-admin/options-general.php?page=gaspard-assistant
docker compose -f dev/docker-compose.yml down -vLa clé doit être déclarée pour http://localhost:8089 côté service pour que le widget réponde.
Vérifié dans un vrai WordPress #
Le 13 octobre 2026, sur WordPress 7.1.3 (PHP 8.5, base SQLite) : réglages enregistrés par la
page « Réglages → Gaspard » (une clé secrète vck_live_… refusée avec un message, la clé valide
gardée), un seul <gaspard-assistant> par page malgré l'affichage global et deux codes courts, le
script chargé en defer, puis dans Chromium : le bouton « Poser une question à Gaspard » ouvre le
widget, l'accord est donné, la question « Quelle est la capitale du Valais ? » reçoit sa réponse de
Gaspard, sans erreur dans la console. Reste à vérifier sur un hébergement en PHP 7.4.