Widget · documentation
Technique et sécurité
Ce que votre service informatique ou votre prestataire voudra savoir avant d'autoriser le widget, et ce qu'il fait exactement dans votre page.
HTTPS
Le script et le widget sont servis en HTTPS. Votre page doit l’être aussi : un navigateur refuse de charger un script sécurisé depuis une page qui ne l’est pas.
Politique de sécurité de contenu (CSP)
Si votre site déclare une politique de sécurité de contenu, elle doit autoriser notre domaine pour les scripts et pour les cadres :
script-src 'self' https://annuairesolidaire.fr;
frame-src https://annuairesolidaire.fr;
Rien d’autre n’est nécessaire : les données sont chargées par le cadre lui-même, depuis notre domaine, jamais par votre page. Aucune directive connect-src, img-src ou style-src n’est requise côté hôte. Si vous utilisez encore child-src ou default-src seul, ajoutez-y notre domaine.
Ce que le script fait, et ne fait pas
Le script /widget/v1.js pèse 1,5 Ko compressé, n’a aucune dépendance et n’utilise aucune bibliothèque. Dans votre page, il crée un div.annuaire-widget contenant l’iframe et le paragraphe de crédit, à la place de la balise, et écoute les messages de l’iframe pour ajuster sa hauteur. Il ne lit rien d’autre de votre page, ne pose ni cookie ni stockage local, n’appelle aucun service tiers et n’envoie rien chez nous.
Pour les développeurs, les messages échangés entre le cadre et la page (API postMessage) sont les suivants ; le script vérifie l’origine et la source de chacun :
| Message | Sens | Contenu |
|---|---|---|
annuaire:height |
cadre vers page | { type, value }, hauteur du contenu en pixels, à chaque changement |
annuaire:focus |
cadre vers page | { type }, à l’ouverture d’une fiche, pour ramener le cadre à l’écran si la page avait défilé |
Isolation
Le widget vit dans son cadre : vos feuilles de style ne l’atteignent pas, les siennes ne touchent pas votre page. Seule la ligne de crédit, posée dans votre page, hérite de votre typographie. Aucun style n’est imposé à votre page au-delà du cadre lui-même (display:block; width:100%; border:0).
Hauteur et largeur
Le widget occupe toute la largeur de son conteneur et sa hauteur suit le contenu : liste, fiche ouverte, filtres. Ne fixez pas de hauteur au cadre, ne le placez pas dans un autre cadre, ne lui donnez pas de conteneur à hauteur fixe avec ascenseur. Il reste lisible à partir de 320 pixels de large.
Données personnelles
Le widget ne pose aucun cookie, n’embarque aucun traceur, aucune mesure d’audience, et n’envoie rien à personne : la configuration est lue dans votre page, les données sont téléchargées depuis notre domaine, tout le reste se passe dans le navigateur du visiteur.
Comme pour toute ressource chargée depuis un autre domaine (police, carte, vidéo), notre hébergeur, Cloudflare, voit l’adresse IP du visiteur au chargement des fichiers, sans que nous la conservions ni l’exploitions. Votre politique de confidentialité peut le mentionner au même titre que vos autres ressources externes. Les coordonnées affichées dans les fiches (téléphones, courriels, référents) proviennent du référentiel public data·inclusion, où elles sont publiées par les structures elles-mêmes dans un cadre professionnel.
Performance
| Ressource | Poids compressé | Quand |
|---|---|---|
Script /widget/v1.js |
1,5 Ko | au chargement de votre page, en async |
| Application du cadre (script et styles) | environ 15 Ko | à l’affichage du cadre, chargé en différé (loading="lazy") |
| Index de la zone | de 5 à 30 Ko pour une commune, jusqu’à quelques centaines de Ko pour un grand département ou une métropole | à l’ouverture du widget |
| Fiche | de 2 à 10 Ko | à l’ouverture d’une fiche |
Tous ces fichiers sont statiques, servis par un réseau de diffusion (CDN) avec cache, et n’exécutent aucun code chez nous. Le script n’ayant pas d’effet bloquant, le widget n’entre pas dans le temps de rendu de votre page.
Navigateurs
Le widget est prévu pour les versions courantes des navigateurs des deux dernières années (Firefox, Chrome, Edge, Safari, et leurs équivalents mobiles). Internet Explorer n’est pas pris en charge. Sans JavaScript, le cadre affiche une phrase qui renvoie vers l’annuaire.
Hébergement et disponibilité
Le widget, ses données et cette documentation sont hébergés comme fichiers statiques chez Cloudflare, sans serveur applicatif. Il s’agit d’une initiative citoyenne indépendante : aucun engagement contractuel de disponibilité n’est pris, ce que rappellent les conditions d’utilisation. En cas d’indisponibilité, le cadre affiche un message sobre, jamais un bloc cassé dans votre page.
Une question sans réponse ici : contact@annuairesolidaire.fr. Indiquez l'adresse de la page concernée et, si possible, collez votre extrait.