Genin · démo privée

Accès protégé — entrez le mot de passe.

Mot de passe incorrect.

Récupération du catalogue JCB — méthode & conditions

Documentation projet Genin agricole · 29/07/2026 · complément de la doc Kramp

Cette page documente comment on récupère les machines JCB pour le site Genin, ce qu'on stocke en base, et ce que les mentions légales de JCB autorisent ou non. Pour la partie Kramp (pièces), voir la doc dédiée kramp-integration.html.

Sommaire
1. Ce qu'on récupère de JCB
2. Comment on le récupère (la méthode technique)
3. Le contenu détaillé : specs & onglets
4. Ce qui est stocké en base
5. Mentions légales JCB — ce qu'on peut / ne peut pas faire
6. En résumé — la checklist

1. Ce qu'on récupère de JCB

jcb.com est un site vitrine (CMS Optimizely/EPiServer) : il présente les gammes de machines (mini-pelles, chargeuses-pelleteuses, télescopiques, tracteurs, nacelles…), sans prix ni stock (la vente passe par les concessionnaires). JCB nous sert donc à enrichir les fiches (descriptions, photos, caractéristiques), pas à connaître la disponibilité — ça, ce sera CARFAC.

2. Comment on le récupère (la méthode technique)

Deux idées clés, découvertes en analysant les pages :

👉 Pas d'API publique, mais PAS besoin de navigateur « headless » non plus. Au premier regard, les specs et le texte des onglets semblent chargés par JavaScript (invisibles dans le texte brut). En réalité, tout est déjà présent dans le HTML téléchargé — juste rangé pour un affichage côté client. Un simple téléchargement de page (l'équivalent d'un cfhttp) suffit donc, avec un bon décodage.

On procède en deux passes (deux petits scripts Python) :

ScriptRôle
jcb_scraper.py Passe 1 — lit le sitemap, liste les fiches machines, récupère le socle : titre, description courte, images, catégorie, origine, URL.
jcb_enrich.py Passe 2 — ouvre chaque fiche et extrait le contenu détaillé : caractéristiques techniques (specs) + texte des onglets, en préservant le formatage.
Où se cache la donnée ? Deux endroits dans le HTML :

3. Le contenu détaillé : specs & onglets

Les caractéristiques (specs)

Extraites du JSON data-item-object et stockées de façon structurée (clé → valeur). Exemple, la nacelle A60E :

{
  "Hauteur de travail maxi": "20.3 m",
  "Portée maximale": "11.9 m",
  "Type de motorisation": "Électrique",
  "Hauteur maximum de la plateforme": "18.3 m",
  "Type de flèche": "Articulé"
}

La méthode lit le JSON, pas la mise en page — elle est donc robuste aux fiches présentées différemment (validée sur nacelle, tracteur, chargeuse-pelleteuse, pelle sur pneus : chacune a un jeu de specs différent). En moyenne ~5,6 specs par machine.

Les onglets descriptifs

Chaque fiche a des onglets du type « Toujours plus haut en matière d'efficacité / de sécurité / de surveillance et d'entretien / de longévité ». On les stocke en préservant le formatage (paragraphes, listes à puces, gras/italique s'il y en a), sous forme d'une liste titre + HTML propre :

[
  { "title": "Toujours plus haut en matière d'efficacité",
    "html": "<p>Chez JCB, le passage à l'électrique…</p><ul><li>Le contrôle
             fonctionnel de la vitesse…</li>…</ul>" },
  { "title": "Toujours plus haut en matière de sécurité", "html": "…" }
]
Pourquoi garder le HTML plutôt que du texte brut ? Pour un beau rendu plus tard sur le site : on conserve les paragraphes et les listes à puces au lieu d'un pavé de texte. Le HTML est nettoyé (on ne garde que <p> <ul> <li> <strong> <em> …, sans classes ni styles JCB), donc réutilisable proprement dans notre propre design.

Ce qu'on ne récupère pas (par conception du site JCB)

4. Ce qui est stocké en base

Tout va dans la base commune (table products), partagée avec les futures sources (Kramp, CARFAC), chaque ligne portant son origine. Pour JCB :

ChampContenu
source / source_urljcb + l'URL fr-BE d'origine
source_refle SKU / code modèle (ex. A60E, 3CX)
brand / category / category_labelJCB + catégorie
title / descriptiontitre + intro courte et propre
specs (JSON)les caractéristiques structurées
sections (JSON)les onglets : [{title, html}], formatage préservé
images (JSON)URLs des photos produit
documents (JSON)brochures PDF — vide pour l'instant

Une page HTML d'aperçu (catalogue.html) permet de vérifier visuellement toutes ces données (bouton « toutes les données » sur chaque fiche → specs en tableau, onglets formatés).

Lecture des Legal Notices officielles de JCB (jcb.com). Points clés :

SujetCe que disent les mentions légalesImpact pour nous
Propriété (Copyright) « Le site et tous les droits d'auteur appartiennent à JCB. » Textes, images, specs = propriété de JCB.
Copie / réutilisation ⚠️ Copie autorisée pour usage personnel uniquement ; aucune reproduction, publication, transmission, modification ou distribution sans autorisation écrite de JCB. Le point clé. Republier le contenu JCB sur le site Genin nécessite un accord écrit de JCB (comme Kramp avec son Art. 11.2).
Marques & logos Non détaillé dans les mentions légales, mais encadré par la charte graphique JCB (logo/emblème non modifiables, police Bamford, jaune #FCB026, validation via designworks@jcb.com). Usage du logo/branding JCB = strictement encadré → passer par la charte + l'accord concessionnaire.
Droit applicable Site régi par le droit anglais ; juridiction exclusive des tribunaux anglais. À savoir en cas de litige ; ne change pas la marche à suivre.
Liens « Les liens vers ce site sont interdits. » (clause large, courante et rarement opposable, mais à noter). On ne fait pas que « lier » : on reproduit du contenu → c'est le copyright qui compte, pas cette clause.

En pratique : ✅ / ⛔

À sécuriser avant la mise en ligne publique Comme pour Kramp, obtenir de JCB (via le cadre concessionnaire) un accord écrit autorisant l'usage de leur contenu et de leur marque sur le site Genin. Récupérer la donnée est une chose ; avoir le droit de la republier en est une autre. Le plus propre : fiches enrichies / réécrites plutôt que copie brute, logo utilisé selon la charte (contact designworks@jcb.com pour validation).
Kramp vs JCB — même logique juridique Les deux fournisseurs gardent la propriété de leur contenu et exigent une autorisation écrite pour le republier. Dans les deux cas, c'est la relation commerciale (revendeur / concessionnaire) qui ouvre légitimement l'usage. On récupère techniquement les données ; on formalise séparément le droit de les publier.

6. En résumé — la checklist

Note : lecture pédagogique des documents publics de JCB (mentions légales, charte graphique) au 29/07/2026 — pas un avis juridique. Pour l'accord final, faire valider le texte par la personne compétente et le contact concessionnaire JCB.