Stack technique
Stack technique
Détecte les technologies qui alimentent le site de chaque prospect (CMS, frameworks JavaScript, suites analytics, processeurs de paiement, hébergement et CDN) et retourne une ligne structurée par site.
Cas d'usage typiques :
- Qualifier les prospects par maturité (build sur mesure vs constructeur drag-and-drop).
- Filtrer par signal d'achat (analytics payant déjà en place, paiement par carte déjà actif).
- Router les leads vers la bonne offre selon la plateforme exploitée.
Entrées
Les items sans site_web résolu sont écartés avant facturation.
| Champ | Type | Requis | Notes |
|---|---|---|---|
items |
array | oui | 1 à 10 000 lignes de POI |
items[].site_web |
string | oui | URL HTTP(S) du site à empreinter |
source_job_id |
string | non | UUID d'un job amont à chaîner |
Sorties
Chaque ligne d'entrée garde ses colonnes d'origine et reçoit les colonnes ci-dessous. La détection est au mieux : une cellule peut être vide si le signal est absent ou ambigu. Les cellules à plusieurs valeurs sont séparées par \|.
| Colonne | Description |
|---|---|
status |
Joignabilité du site, mêmes valeurs que dead_check (alive, stale, dead, unknown, aggregator). |
cms, cms_version |
Système de gestion de contenu ou constructeur de site, et sa version quand elle est exposée. |
cms_outdated |
yes, no, unknown ou n/a. |
page_builder |
Constructeur de pages (pour les sites WordPress, par exemple). |
frameworks_js, frameworks_css |
Frameworks JavaScript et CSS. |
analytics |
Outils de mesure d'audience. |
marketing_crm |
Outils d'automatisation marketing et CRM. |
chat |
Widgets de chat. |
payment, ecommerce |
Solutions de paiement et plateformes e-commerce. |
hosting_cdn |
Hébergeur et CDN. |
tag_manager, ab_testing |
Gestionnaires de balises et outils d'A/B test. |
compliance |
Outils de consentement et de conformité. |
ad_pixels |
Pixels publicitaires. |
wp_plugins |
Extensions et thèmes WordPress détectés. |
schema_types |
Types schema.org trouvés sur la page. |
schema_telephone, schema_address, schema_opening_hours |
Valeurs déclarées dans les données structurées du site lui-même. |
tech_alerts |
Alertes techniques notables (CMS obsolète, par exemple). |
tech_all_json |
Détection complète au format JSON, une entrée par technologie. |
Le rapport complet par site (hiérarchie à trois niveaux, signaux business, métadonnées techniques) est disponible sur la page de détail du job. Le registre liste tech_cms, tech_analytics et tech_ads_pixels sous produces : ce sont des signaux qui correspondent aux colonnes cms, analytics et ad_pixels ci-dessus.
Le fichier contient aussi cms_version, frameworks_css, ecommerce, ab_testing, schema_address et schema_opening_hours (adresse et horaires déclarés dans les données structurées du site, quand ils existent).
Cycle de vie
Cycle de vie standard des jobs outsend ; voir /docs/fr/concepts/jobs-lifecycle. La progression est reportée par site, en unité sites.
Pipeline
needs: [site_web]
produces: [tech_cms, tech_analytics, tech_ads_pixels]
Tout module amont qui émet site_web (scrap étant la source canonique) peut alimenter techstack.
Endpoints
Créer un job
POST /api/jobs/techstack
{
"items": [
{ "site_web": "https://example.com" },
{ "site_web": "https://another.example" }
],
"source_job_id": "8b3e…optional"
}
Retourne le job créé avec son id et son statut initial pending.
Inspecter un job
GET /api/jobs/{job_id}
Suivre la progression
GET /api/jobs/{job_id}/stream
Événements server-sent, un par site traité plus les transitions de statut terminal.
Télécharger les résultats
GET /api/jobs/{job_id}/download
Retourne la liste enrichie. Chaque ligne porte les champs POI d'origine plus les colonnes documentées dans Sorties.
Limites
Voir /docs/fr/concepts/limits pour les limites globales. Le schéma d'URL doit être http:// ou https://. Un job avec zéro item valide après filtrage de site_web est rejeté en 400.
Erreurs
| HTTP | Code / message | Quand |
|---|---|---|
| 400 | Aucun établissement avec site web |
Aucun item du payload n'a de site_web exploitable. |
| 400 | Quota dépassé |
Le coût EF du job dépasse MAX_EF_PER_JOB. |
| 400 | Erreur de validation | Forme du payload invalide (taille, champs manquants, types). |
Les erreurs sont renvoyées en JSON avec un champ detail. Une fois le job en cours, les échecs par item apparaissent dans la ligne de résultat (colonnes vides) plutôt qu'en erreur HTTP.
Pour aller plus loin
La sortie techstack se compose naturellement avec :
pricing: extrait les tarifs publiés et les plans depuis les mêmes sites.ads_intelligence: profile la maturité marketing (pixels, retargeting, CMP, CRM).pagespeed: mesure la performance réelle et les Core Web Vitals.