EN
Copied
Modules

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 :

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 :