Pattern 03
Widget embarqué sur votre site
Une ligne de JavaScript ajoutée à une page existante de votre site — Jobydoo rend les résultats inline, en respectant la largeur disponible et la palette CSS de la page hôte. Idéal pour les sites associatifs ou les job boards de niche qui veulent compléter leur catalogue d'annonces propres avec une couverture européenne large.
Pour qui
- Job boards de niche (sectoriels, régionaux) qui veulent compléter leur inventaire
- Sites associatifs aidant à l'insertion ou à la mobilité
- Plateformes communautaires (alumnis, syndicats professionnels)
- Pages carrière d'ETI qui veulent afficher des offres d'entreprises partenaires
Installation — une ligne
<!-- Quelque part dans votre HTML -->
<div id="jobydoo-widget"
data-key="jdy_pub_…"
data-default-q="data engineer"
data-default-country="FR"
data-max-results="10"></div>
<script src="https://widget.jobydoo.io/v1/embed.js" async></script>Le widget se rend automatiquement à l'emplacement du <div id="jobydoo-widget">. Il prend la largeur du conteneur parent (responsive) et hérite des polices CSS du parent quand c'est cohérent.
Clé publique vs clé serveur
Le widget utilise une clé publique (préfixe jdy_pub_) — distincte de la clé serveur jdy_live_que vous gardez en lieu sûr côté back-end. La clé publique a un quota propre et un domaine autorisé : si elle fuit, l'impact est limité à votre domaine.
Pour générer une clé publique : tableau de bord → Clés API → cliquer + Nouvelle clé → cocher Type : public, restreinte au domaine → entrer example.com.
Attributs disponibles
data-key(requis) — votre clé publiquedata-default-q— recherche pré-rempliedata-default-country— pays ISO-2 (défautFR)data-default-city— ville pré-rempliedata-max-results— nombre de résultats à afficher (1–50, défaut 10)data-show-search(true | false) — afficher ou non la barre de recherchedata-theme(light | dark | auto) — défaut auto (suitprefers-color-scheme)data-locale(fr | en | de | es) — défaut auto
Personnalisation CSS
Le widget expose une dizaine de variables CSS que vous pouvez surcharger depuis votre feuille de style globale :
#jobydoo-widget {
--jdy-accent: #D67050; /* couleur d'accent (Postuler, score) */
--jdy-text: #0A0A0A;
--jdy-text-mute: #707070;
--jdy-border: #EAE2D6;
--jdy-bg: #FFFFFF;
--jdy-radius: 2px;
--jdy-font: inherit; /* hérite de la page hôte */
}Performance
- Bundle initial < 30 KB gzippé
- Chargement asynchrone — n'impacte pas le LCP de votre page
- Aucun cookie déposé sans consentement — le widget respecte la directive ePrivacy
Quotas
Chaque recherche déclenchée depuis le widget consomme votre quota d'appels au même titre qu'une requête API. Plafonnez avec data-max-resultspour contrôler l'impact sur vos crédits.
Sécurité
La clé publique est restreinte par domaine — un appel depuis un domaine non autorisé reçoit un 403. Configuration au moment de la création de la clé. Les sources payantes (x-ray) sont forcées off pour les appels widget, indépendamment du plan : une fuite de la clé ne peut donc pas générer de coûts tiers.
Endpoint brut (sans le bundle JS)
Si vous préférez orchestrer le rendu côté client vous-même — framework custom, SPA, App Router — appelez directement l'endpoint widget avec votre clé publique :
POST https://www.jobydoo.io/api/v1/widget/jobs?key=jdy_pub_…
Content-Type: application/json
Origin: https://votre-domaine.com // doit matcher l'allowlist
{
"q": "data engineer",
"country": "FR",
"city": "Paris",
"max_results": 10
}L'Origin envoyé par le navigateur est confronté à la liste des domaines autorisés sur la clé. Le format de réponse est un sous-ensemble de /api/v1/jobs — pas de description_text, pas de fit_score, seulement ce qui est nécessaire au rendu d'une carte.
Questions de la communauté
0 question
Connectez-vous pour poser une question ou répondre.
Personne n'a encore posé de question sur ce pattern. Soyez le premier.