Guide pratique · Modèles de décision
Quatre usages, les vingt questions fermées prêtes à copier, et la règle de formulation qui compte plus que le choix du modèle. Un tri, pas une promesse de classement.
Écrire un article ne coûte presque plus rien. Décider s'il peut partir en ligne, quelle page garder, laquelle réécrire, coûte encore le temps de quelqu'un. Et personne, ou presque, n'a automatisé cette décision.
C'est pourtant elle qui sépare un site qui avance d'un site qui s'encombre. Ce guide s'attaque à elle, et seulement à elle.
La méthode vient en premier, l'outil en second. L'outil s'appelle aujourd'hui Jev. Son nom, ses tarifs, ses limites peuvent changer dans six mois. La méthode, elle, marche avec n'importe quel modèle de décision, et la dernière partie te donne des alternatives.
Chaque information porte une étiquette, pour que tu saches d'où elle vient.
Un modèle qui génère, c'est ChatGPT ou Claude : tu lui donnes une consigne, il écrit. Il peut être brillant, il peut aussi inventer, et tu ne sais jamais à quel point il est sûr de lui.
Un modèle qui décide fait l'inverse. Tu lui donnes un texte et une question fermée : oui ou non, ou choisir parmi quelques options. Il n'écrit rien. Il te renvoie un nombre : la probabilité de chaque réponse.
Pense à un correcteur qui ne sait que cocher des cases, mais qui te dit, case par case, à quel point il est sûr de son coup. Tu ne lui demandes pas son avis, tu lui demandes un tri. Et tu fixes toi-même la règle : en dessous de tel niveau de certitude, c'est un humain qui tranche.
Jev est un modèle de ce type. Son éditeur, TypeSafe, ne le présente pas comme un « modèle de classification » mais comme un « modèle de décision » (il parle de « System One »).S1 Il renvoie des réponses typées, avec une probabilité, et n'écrit ni texte libre ni justification.S7S17 Pour ce guide, la nuance ne change rien.
Le vrai goulot du SEO n'est donc plus d'écrire. C'est de décider, vite, partout, sur chaque page et chaque requête. C'est exactement ce qu'un tel modèle sait faire.
Avant de parler d'outil, voici ce qui décide de la qualité de tout le reste : comment tu poses la question.
Un exemple de découpage. Une étude indépendante sur la détection d'e-mails d'hameçonnage a obtenu 62,6 % de bonnes réponses avec une seule question globale, et 95,0 % en la découpant en cinq signaux simples, sur 2 000 messages. C'est un autre domaine que le SEO, mais le mécanisme est le même.Source tierceS18
Pour une question oui ou non, le modèle renvoie un nombre entre 0 et 1 : la probabilité que la réponse soit oui. Proche de 1, un oui net. Proche de 0, un non net. Autour de 0,5, il hésite.DocumentéS6
Pour un choix entre options, il renvoie une probabilité par option, et une « confiance » entre 0 et 1 calculée sur l'étalement de ces probabilités : concentrées sur une option, la confiance monte ; réparties, elle tombe.DocumentéS5
L'éditeur entraîne le modèle pour que ces probabilités soient calibrées : sur beaucoup de réponses à 0,8, environ huit sur dix doivent être justes.DocumentéS8 C'est un objectif d'entraînement, pas une garantie sur ton contenu. Une évaluation universitaire indépendante trouve les probabilités de choix bien calibrées en moyenne, mais note que les probabilités oui ou non sont mal placées par rapport à un seuil fixe de 0,5.Source tierceS19
Ce que la probabilité ne dit jamais : pourquoi. Elle mesure la certitude du modèle sur une étiquette. On y revient plus bas, parce que c'est l'erreur la plus répandue.
Le seuil, c'est le niveau de certitude à partir duquel tu laisses la machine décider. Trois zones suffisent : au-dessus du seuil haut, la décision est ferme ; en dessous du seuil bas, elle est ferme dans l'autre sens ; entre les deux, un humain regarde.
L'éditeur donne des valeurs de départ dans ses exemples (0,8 pour le oui, 0,2 pour le non), et précise lui-même que ce sont des exemples à évaluer, pas des normes.DocumentéS6S9 Le bon seuil dépend du prix de l'erreur : plus il est cher de laisser passer une faute, plus tu montes le seuil.
Trop haut, il ne rend pas le tri plus sûr : il le rend inutile. Si tu exiges 0,99 partout, presque tout tombe dans la zone « un humain regarde », ta file de relecture déborde, et tu as reconstruit le goulot que tu voulais supprimer. Le cas des vingt-neuf options, plus bas, en est l'illustration extrême.
Pour régler le tien, prends une vingtaine de pages que tu as déjà jugées toi-même, passe-les, et regarde où le modèle se trompe avec assurance. Hypothèse de praticien Dans une évaluation indépendante, régler le seuil sur des données d'entraînement a fait passer un score (micro-F1) de 0,499 à 0,748 sur un jeu de conditions d'utilisation : un domaine juridique, pas du SEO, mais l'ordre de grandeur de l'enjeu.Source tierceS19
Mesuré par PL Mêmes données, même modèle. Seul le nombre d'options de la question change. La mesure compte les décisions fermes, c'est-à-dire celles qui franchissent le seuil de décision. [Date du test, et valeur exacte du seuil utilisé : à renseigner par PL avant publication.]
37 % de décisions fermes.
Le taux de décisions fermes remonte. [Valeur exacte : à renseigner par PL.]
Zéro décision ferme, alors que la réponse renvoyée reste stable et correcte.
Le dernier cas est le plus instructif. Le modèle ne se trompait pas : sa réponse était la bonne, à chaque fois. Mais avec un seuil standard, aucune n'aurait été retenue, et tout serait parti en relecture. La question était mal posée, pas le modèle mauvais.
Un point de méthode, sans arbitrer. La documentation de l'éditeur autorise jusqu'à 255 options dans une question et conseille de donner la liste complète plutôt qu'un raccourci.DocumentéS3 Les mesures de PL ne portent pas sur la même chose : elles comptent la fermeté de la décision, pas son exactitude. Teste sur tes propres données, et ne généralise pas ces deux mesures en loi.
Une hypothèse de mécanisme, non testée : la confiance se calcule sur l'étalement des probabilités, donc un seuil réglé pour trois options ne se transpose pas tel quel à vingt-neuf.Hypothèse de praticien
La fiche ci-dessous est relevée à la source le 1er octobre 2026. Là où les sources se contredisent ou se taisent, c'est écrit.
| Point | Ce qui est établi |
|---|---|
| Nom et version | Jev. Version actuelle jev-1.13.0, alias jev-latest.S1 |
| Éditeur | TypeSafe AI. Documentation officielle : docs.typesafe.ai.S1 |
| Date de sortie | [Mi-septembre 2026. Les sources donnent le 14, le 15 ou le 16 septembre, et la page du blog de l'éditeur affiche le 28 septembre. Date exacte non tranchée.]S17S13 |
| Nature | Modèle de décision, pas de génération de texte. Entraîné pour renvoyer des décisions et des probabilités calibrées (méthode que l'éditeur nomme RLCD).S8 |
| Ce qu'il renvoie | Trois types de questions. Choice : l'option retenue, une probabilité par option, une confiance. Score : une note sur une échelle, avec ses probabilités. Noul : la probabilité du oui, entre 0 et 1. Pas de log-probabilités exposées dans la documentation consultée.S2 |
| Français | L'éditeur : l'anglais est la langue principale et là où la précision est la meilleure ; les autres langues sont traitées, pas aussi bien, et il faut tester sur ses propres contenus.S1 [Aucun chiffre publié par l'éditeur pour le français.] Trois mesures tierces, qui ne disent pas la même chose, sont détaillées juste après. |
| Taille d'entrée | Texte seul. 64 000 jetons par requête, dont 32 000 au maximum pour le texte soumis plus la plus longue question.S1 |
| Accès | API (POST api.typesafe.ai/v1/systemone) ; interface web « Playground » sur console.typesafe.ai ; bibliothèques Python et JavaScript ;S2 nœud « TypeSafe AI » dans n8n ;S14 pas d'application native dans Zapier, passage par « API by Zapier » ;S15 [Make : aucune intégration native trouvée ; son module HTTP générique devrait suffire, non vérifié.] |
| Coût | 0,042 $ par million de jetons d'entrée, soit 42 $ par milliard. Les jetons de sortie sont gratuits.S1 |
| Palier gratuit | [Contradiction : 5 $ de crédit offerts à l'inscription, une seule fois selon une source, chaque mois selon une autre.]S16S15 Sur n8n Cloud, Jev est gratuit jusqu'au 10 octobre 2026 à 23 h 59 (UTC).S14 La page de tarifs typesafe.ai/pricing renvoie une erreur 404 : vérifie ton crédit dans la console. |
| Débit | 100 000 jetons par seconde et 40 requêtes par seconde, limites que l'éditeur dit pouvoir modifier sans préavis.S1 |
| Données | L'éditeur affirme ne pas entraîner Jev sur les requêtes des clients, et propose un accord de traitement des données.S1 N'envoie pas de données personnelles. |
Le coût d'une requête est le nombre de jetons d'entrée multiplié par 0,042 $, divisé par un million.S1 La réponse te renvoie ce nombre dans le champ usage.input_tokens, donc tu peux le vérifier avant de passer à l'échelle.
Un calcul à partir de l'exemple de la documentation, qui compte 392 jetons d'entrée : 392 × 0,042 ÷ 1 000 000 = 0,0000165 $ pour une requête.S2 Retiens la méthode plutôt que ce chiffre : le texte soumis domine en général le prix, et il n'est facturé qu'une fois même avec vingt questions, parce qu'il est lu une fois pour toutes les questions.S1S10
Le texte soumis plus la plus longue question ne doit pas dépasser 32 000 jetons.S1 Un article de blog ordinaire tient très probablement largement dans cette limite. Hypothèse de praticien Vérifie avec usage.input_tokens. Plus important que la taille : la précision baisse quand le texte contient beaucoup de détail sans rapport avec la question.S7 Envoie le corps de l'article, pas la page avec son menu.
Le réel cite 67,8 % contre 73,1 %. Les deux chiffres sont exacts : ils figurent sur la page d'évaluation de l'éditeur, qui moyenne quatre tâches (incidents de sécurité, traces d'agent, traitement de factures, service client).S12 Voici le contexte qui va avec, et que tu dois connaître avant de le répéter :
C'est une évaluation publiée par l'éditeur lui-même. Elle dit où se situe le modèle sur ces quatre tâches, pas ce qu'il vaudra sur tes pages.
C'est le point bloquant pour toi, donc voici tout ce que j'ai trouvé, sans arbitrer. Trois mesures tierces, sur des échantillons petits, qui ne vont pas dans le même sens :
L'éditeur publie lui-même une page de limites, mise à jour le 17 septembre 2026.S7 À retenir pour nous : il lit au pied de la lettre ; il est mauvais en calcul, en comptage et en comparaison de dates ; il perd en précision quand le texte est long et plein de détails inutiles ; il peut être influencé par un contenu écrit pour le manipuler ; il ne génère pas de texte. Et deux questions qui se ressemblent (un oui ou non posé comme Noul et comme Choice) ne donnent pas des valeurs comparables : ne reporte pas un seuil de l'une sur l'autre.
À quoi ça sert. Chaque brouillon passe par les mêmes vingt questions fermées. Ce qui est validé part en ligne. Ce qui est retoqué part en relecture, avec la liste des questions fautives. La relecture humaine reste, mais elle se concentre sur ce qui pose problème, et sur les faits.
Ce qu'il faut préparer. Un « dossier » par brouillon, avec sept éléments : la requête visée, l'intention attendue (informationnelle ou transactionnelle), le titre SEO, le H1, le texte du brouillon, le brief en quelques lignes, et la liste de tes pages internes avec leur sujet.
{
"requete": "[la requête visée]",
"intention_attendue": "[informationnelle ou transactionnelle]",
"titre_seo": "[le titre SEO]",
"h1": "[le H1]",
"brouillon": "[le texte du brouillon, sans menu ni pied de page]",
"brief": "[3 à 5 lignes : sujet, ton et personne, points obligatoires, sujets interdits]",
"urls_internes": [
{
"url": "[adresse d'une de tes pages]",
"sujet": "[son sujet en une phrase]"
}
]
}Chacune est fermée, tient sur une seule dimension, et dit exactement ce qu'elle cherche. La colonne « attendu » indique la réponse qui laisse passer le brouillon. La question 3 dépend de l'intention du brief : « non » pour une page informationnelle, « oui » pour une page transactionnelle.
| N° | Question | Attendu | Sinon |
|---|---|---|---|
| Intention et utilité | |||
| 1 | Les deux premiers paragraphes du champ brouillon répondent-ils directement à la question que pose la requête du champ requete ? | oui | Réécrire l'ouverture avant toute autre relecture. |
| 2 | Le champ brouillon traite-t-il principalement un autre sujet que celui de la requête du champ requete ? | non | Retoqué. Reprendre le brief, pas la forme. |
| 3 | Le champ brouillon invite-t-il le lecteur à acheter, à réserver ou à demander un devis avant sa dernière section ? | selon le brief | Écart avec l'intention du brief : déplacer l'appel à l'action ou changer le format de la page. |
| 4 | Le champ brouillon contient-il au moins un exemple concret, c'est-à-dire un cas nommé, une situation précise ou un chiffre accompagné de sa source ? | oui | Ajouter un exemple. Sans lui, le texte est générique. |
| Structure | |||
| 5 | Le champ brouillon est-il découpé en sections qui commencent chacune par un intertitre ? | oui | Ajouter les intertitres. |
| 6 | Un paragraphe du champ brouillon traite-t-il deux sujets distincts à la fois ? | non | Couper le paragraphe en deux. |
| 7 | Le champ brouillon développe-t-il la même idée dans deux sections différentes ? | non | Fusionner les deux passages ou supprimer le doublon. |
| 8 | Le champ brouillon se termine-t-il par une conclusion ou par une prochaine étape clairement indiquée au lecteur ? | oui | Ajouter une fin qui dit au lecteur quoi faire ensuite. |
| Affirmations non sourcées | |||
| 9 | Le champ brouillon contient-il un chiffre (pourcentage, montant, durée, effectif) dont la source n'est pas nommée dans la même phrase ou dans la suivante ? | non | Sourcer le chiffre ou le supprimer. Vérification humaine obligatoire. |
| 10 | Le champ brouillon cite-t-il « une étude », « des experts » ou « des chercheurs » sans les nommer ? | non | Nommer la source ou retirer l'affirmation. |
| 11 | Le champ brouillon promet-il un résultat garanti (classement, trafic, chiffre d'affaires ou délai) ? | non | Retirer la promesse. Aucun texte publié ne garantit un classement. |
| 12 | Le champ brouillon présente-t-il comme actuelle une information qui change avec le temps (tarif, version d'un outil, règle légale) sans en donner la date ? | non | Ajouter la date ou reformuler au passé. |
| Cohérence entre le titre et le H1 | |||
| 13 | Le champ titre_seo et le champ h1 annoncent-ils le même sujet ? | oui | Aligner les deux, ou choisir lequel est faux. |
| 14 | Le champ brouillon tient-il la promesse faite par le champ h1 ? | oui | Changer le H1 ou compléter le texte. |
| 15 | Le champ titre_seo contient-il la requête du champ requete, ou une variante directe de celle-ci ? | oui | Réécrire le titre. |
| Maillage interne | |||
| 16 | Un lien interne du champ brouillon a-t-il pour texte « cliquez ici », « en savoir plus » ou « cet article » ? | non | Remplacer par un texte qui décrit la page visée. |
| 17 | Le champ brouillon aborde-t-il un sujet couvert par une page de la liste du champ urls_internes sans renvoyer vers cette page ? | non | Ajouter le lien. |
| 18 | Un lien interne du champ brouillon pointe-t-il vers une page dont le sujet n'a rien à voir avec le passage où il apparaît ? | non | Retirer ou déplacer le lien. |
| Conformité au brief | |||
| 19 | Le champ brouillon respecte-t-il le ton et la personne grammaticale (tutoiement ou vouvoiement) demandés dans le champ brief ? | oui | Réécrire dans le registre demandé. |
| 20 | Le champ brouillon aborde-t-il un sujet que le champ brief interdit explicitement ? | non | Retirer le passage. |
{
"q01_reponse_directe": {
"type": "noul",
"instructions": "Les deux premiers paragraphes du champ brouillon répondent-ils directement à la question que pose la requête du champ requete ?"
},
"q02_hors_sujet": {
"type": "noul",
"instructions": "Le champ brouillon traite-t-il principalement un autre sujet que celui de la requête du champ requete ?"
},
"q03_vente_precoce": {
"type": "noul",
"instructions": "Le champ brouillon invite-t-il le lecteur à acheter, à réserver ou à demander un devis avant sa dernière section ?"
},
"q04_exemple_concret": {
"type": "noul",
"instructions": "Le champ brouillon contient-il au moins un exemple concret, c'est-à-dire un cas nommé, une situation précise ou un chiffre accompagné de sa source ?"
},
"q05_intertitres": {
"type": "noul",
"instructions": "Le champ brouillon est-il découpé en sections qui commencent chacune par un intertitre ?"
},
"q06_paragraphe_melange": {
"type": "noul",
"instructions": "Un paragraphe du champ brouillon traite-t-il deux sujets distincts à la fois ?"
},
"q07_repetition": {
"type": "noul",
"instructions": "Le champ brouillon développe-t-il la même idée dans deux sections différentes ?"
},
"q08_conclusion": {
"type": "noul",
"instructions": "Le champ brouillon se termine-t-il par une conclusion ou par une prochaine étape clairement indiquée au lecteur ?"
},
"q09_chiffre_sans_source": {
"type": "noul",
"instructions": "Le champ brouillon contient-il un chiffre (pourcentage, montant, durée, effectif) dont la source n'est pas nommée dans la même phrase ou dans la suivante ?"
},
"q10_etude_anonyme": {
"type": "noul",
"instructions": "Le champ brouillon cite-t-il « une étude », « des experts » ou « des chercheurs » sans les nommer ?"
},
"q11_promesse_resultat": {
"type": "noul",
"instructions": "Le champ brouillon promet-il un résultat garanti (classement, trafic, chiffre d'affaires ou délai) ?"
},
"q12_info_datee": {
"type": "noul",
"instructions": "Le champ brouillon présente-t-il comme actuelle une information qui change avec le temps (tarif, version d'un outil, règle légale) sans en donner la date ?"
},
"q13_meme_sujet": {
"type": "noul",
"instructions": "Le champ titre_seo et le champ h1 annoncent-ils le même sujet ?"
},
"q14_h1_tenu": {
"type": "noul",
"instructions": "Le champ brouillon tient-il la promesse faite par le champ h1 ?"
},
"q15_requete_dans_titre": {
"type": "noul",
"instructions": "Le champ titre_seo contient-il la requête du champ requete, ou une variante directe de celle-ci ?"
},
"q16_ancre_vide": {
"type": "noul",
"instructions": "Un lien interne du champ brouillon a-t-il pour texte « cliquez ici », « en savoir plus » ou « cet article » ?"
},
"q17_lien_manquant": {
"type": "noul",
"instructions": "Le champ brouillon aborde-t-il un sujet couvert par une page de la liste du champ urls_internes sans renvoyer vers cette page ?"
},
"q18_lien_hors_sujet": {
"type": "noul",
"instructions": "Un lien interne du champ brouillon pointe-t-il vers une page dont le sujet n'a rien à voir avec le passage où il apparaît ?"
},
"q19_ton": {
"type": "noul",
"instructions": "Le champ brouillon respecte-t-il le ton et la personne grammaticale (tutoiement ou vouvoiement) demandés dans le champ brief ?"
},
"q20_interdit": {
"type": "noul",
"instructions": "Le champ brouillon aborde-t-il un sujet que le champ brief interdit explicitement ?"
}
}Le bloc ci-dessus est du JSON : c'est le format que l'outil attend. Tu le colles tel quel. Les noms de champs (brouillon, requete…) sont ceux du dossier plus haut : ne les change pas d'un côté sans les changer de l'autre.
Exemple concret Exemple fictif. Atelier Duval, menuisier à Nantes, a un brouillon sur « escalier sur mesure ». Le brief demande une page informationnelle, au tutoiement. Les vingt questions sont passées. Dix-huit sont tranchées dans le bon sens. La question 3 (appel à acheter avant la dernière section) tombe à « oui » alors qu'on attendait « non », et la question 9 (chiffre sans source) est à « oui ». Résultat : relecture, avec ces deux numéros en tête. La personne qui relit sait où regarder, et vérifie le chiffre à la main.
À quoi ça sert. Dans la Search Console, on lit en général les quarante premières lignes. Le reste, souvent l'essentiel de la longue traîne, n'est jamais regardé. Ici, chaque requête reçoit trois étiquettes : son intention, marque ou non, et surtout sa correspondance avec ce que l'entreprise vend. Cette troisième étiquette sépare le trafic qui sert du trafic qui flatte.
Ce qu'il faut préparer. L'export des requêtes de la Search Console (requête, clics, impressions, position), une description de ton offre en trois ou quatre phrases (ce que tu vends, à qui, où), et la liste des noms de marque, avec les fautes de frappe courantes.
{
"requete": "[une requête de la Search Console]",
"offre": "[ton offre en 3 ou 4 phrases : quoi, pour qui, où]",
"marques": [
"[ton nom de marque]",
"[une variante ou faute courante]"
]
}{
"intention": {
"type": "choice",
"instructions": "Quelle est l'intention de la personne qui tape la requête du champ requete ?",
"criteria": {
"informationnelle": "Elle cherche à comprendre ou à apprendre quelque chose",
"comparaison": "Elle compare des solutions ou des fournisseurs avant de choisir",
"transactionnelle": "Elle veut acheter, réserver, obtenir un prix ou un devis",
"navigationnelle": "Elle cherche un site ou une marque précise"
}
},
"marque": {
"type": "noul",
"instructions": "La requête du champ requete contient-elle le nom d'une marque de la liste du champ marques, ou une faute de frappe évidente de l'un de ces noms ?"
},
"correspond": {
"type": "noul",
"instructions": "La requête du champ requete décrit-elle un besoin que l'offre décrite dans le champ offre satisfait directement ?"
}
}Remarque : la question d'intention a quatre options, pas plus, d'après la règle de formulation. Si certaines requêtes n'entrent dans aucune case, ajoute une cinquième option « autre » plutôt que d'en forcer une.S3
| Étiquettes | Lecture |
|---|---|
| Marque | À sortir des analyses de performance : elle mesure ta notoriété, pas ton référencement. Hypothèse de praticien |
| Hors marque, correspond à l'offre, intention transactionnelle ou de comparaison | Les pages à travailler d'abord. Hypothèse de praticien |
| Hors marque, correspond à l'offre, intention informationnelle | Du contenu qui nourrit le haut de ton parcours. À traiter après. Hypothèse de praticien |
| Hors marque, ne correspond pas à l'offre, beaucoup d'impressions | Du trafic qui ne sert pas ton activité. À ne pas poursuivre, même s'il flatte les courbes. Hypothèse de praticien |
Exemple concret Exemple fictif. Atelier Duval exporte ses requêtes. Une fois étiquetées, une large part du trafic s'avère être des gens qui cherchent « plan d'escalier à télécharger » : ils ne correspondent pas à l'offre. Les requêtes « escalier sur mesure nantes » et « devis escalier bois », peu visibles dans les quarante premières lignes, passent au premier plan.
À quoi ça sert. Avant d'écrire une page, tu veux savoir si elle a une chance. Pour chaque requête cible, tu étiquettes les dix premiers résultats : de quel type de site s'agit-il ? Tu comptes ensuite combien de places sont tenues par des acteurs que tu peux raisonnablement dépasser.
Ce qu'il faut préparer. Pour chaque requête cible, les dix premiers résultats avec leur position, leur domaine, leur titre et leur extrait. Tu peux les copier à la main depuis Google, ou les récupérer avec un outil de suivi de positions ou une API de pages de résultats. Et ta description d'offre.
{
"offre": "[ton offre en 3 ou 4 phrases]",
"requete_cible": "[la requête]",
"resultats": [
{
"position": 1,
"domaine": "[domaine]",
"titre": "[titre affiché]",
"extrait": "[extrait affiché]"
},
{
"position": 2,
"domaine": "[…]",
"titre": "[…]",
"extrait": "[…]"
},
"[… jusqu'à la position 10]"
]
}{
"r01": {
"type": "choice",
"instructions": "Quel est le type de site du résultat numéro 1 du champ resultats, celui dont la position vaut 1 ?",
"criteria": {
"concurrent_direct": "Site d'une entreprise qui vend la même chose que l'offre du champ offre",
"plateforme": "Annuaire, comparateur ou place de marché qui regroupe plusieurs vendeurs",
"contenu_utilisateur": "Forum, réseau social ou contenu écrit par des internautes",
"media_institution": "Média d'actualité, site public, encyclopédie ou autre institution"
}
},
"r02": {
"type": "choice",
"instructions": "Quel est le type de site du résultat numéro 2 du champ resultats, celui dont la position vaut 2 ?",
"criteria": {
"concurrent_direct": "Site d'une entreprise qui vend la même chose que l'offre du champ offre",
"plateforme": "Annuaire, comparateur ou place de marché qui regroupe plusieurs vendeurs",
"contenu_utilisateur": "Forum, réseau social ou contenu écrit par des internautes",
"media_institution": "Média d'actualité, site public, encyclopédie ou autre institution"
}
},
"r03": {
"type": "choice",
"instructions": "Quel est le type de site du résultat numéro 3 du champ resultats, celui dont la position vaut 3 ?",
"criteria": {
"concurrent_direct": "Site d'une entreprise qui vend la même chose que l'offre du champ offre",
"plateforme": "Annuaire, comparateur ou place de marché qui regroupe plusieurs vendeurs",
"contenu_utilisateur": "Forum, réseau social ou contenu écrit par des internautes",
"media_institution": "Média d'actualité, site public, encyclopédie ou autre institution"
}
},
"r04": {
"type": "choice",
"instructions": "Quel est le type de site du résultat numéro 4 du champ resultats, celui dont la position vaut 4 ?",
"criteria": {
"concurrent_direct": "Site d'une entreprise qui vend la même chose que l'offre du champ offre",
"plateforme": "Annuaire, comparateur ou place de marché qui regroupe plusieurs vendeurs",
"contenu_utilisateur": "Forum, réseau social ou contenu écrit par des internautes",
"media_institution": "Média d'actualité, site public, encyclopédie ou autre institution"
}
},
"r05": {
"type": "choice",
"instructions": "Quel est le type de site du résultat numéro 5 du champ resultats, celui dont la position vaut 5 ?",
"criteria": {
"concurrent_direct": "Site d'une entreprise qui vend la même chose que l'offre du champ offre",
"plateforme": "Annuaire, comparateur ou place de marché qui regroupe plusieurs vendeurs",
"contenu_utilisateur": "Forum, réseau social ou contenu écrit par des internautes",
"media_institution": "Média d'actualité, site public, encyclopédie ou autre institution"
}
},
"r06": {
"type": "choice",
"instructions": "Quel est le type de site du résultat numéro 6 du champ resultats, celui dont la position vaut 6 ?",
"criteria": {
"concurrent_direct": "Site d'une entreprise qui vend la même chose que l'offre du champ offre",
"plateforme": "Annuaire, comparateur ou place de marché qui regroupe plusieurs vendeurs",
"contenu_utilisateur": "Forum, réseau social ou contenu écrit par des internautes",
"media_institution": "Média d'actualité, site public, encyclopédie ou autre institution"
}
},
"r07": {
"type": "choice",
"instructions": "Quel est le type de site du résultat numéro 7 du champ resultats, celui dont la position vaut 7 ?",
"criteria": {
"concurrent_direct": "Site d'une entreprise qui vend la même chose que l'offre du champ offre",
"plateforme": "Annuaire, comparateur ou place de marché qui regroupe plusieurs vendeurs",
"contenu_utilisateur": "Forum, réseau social ou contenu écrit par des internautes",
"media_institution": "Média d'actualité, site public, encyclopédie ou autre institution"
}
},
"r08": {
"type": "choice",
"instructions": "Quel est le type de site du résultat numéro 8 du champ resultats, celui dont la position vaut 8 ?",
"criteria": {
"concurrent_direct": "Site d'une entreprise qui vend la même chose que l'offre du champ offre",
"plateforme": "Annuaire, comparateur ou place de marché qui regroupe plusieurs vendeurs",
"contenu_utilisateur": "Forum, réseau social ou contenu écrit par des internautes",
"media_institution": "Média d'actualité, site public, encyclopédie ou autre institution"
}
},
"r09": {
"type": "choice",
"instructions": "Quel est le type de site du résultat numéro 9 du champ resultats, celui dont la position vaut 9 ?",
"criteria": {
"concurrent_direct": "Site d'une entreprise qui vend la même chose que l'offre du champ offre",
"plateforme": "Annuaire, comparateur ou place de marché qui regroupe plusieurs vendeurs",
"contenu_utilisateur": "Forum, réseau social ou contenu écrit par des internautes",
"media_institution": "Média d'actualité, site public, encyclopédie ou autre institution"
}
},
"r10": {
"type": "choice",
"instructions": "Quel est le type de site du résultat numéro 10 du champ resultats, celui dont la position vaut 10 ?",
"criteria": {
"concurrent_direct": "Site d'une entreprise qui vend la même chose que l'offre du champ offre",
"plateforme": "Annuaire, comparateur ou place de marché qui regroupe plusieurs vendeurs",
"contenu_utilisateur": "Forum, réseau social ou contenu écrit par des internautes",
"media_institution": "Média d'actualité, site public, encyclopédie ou autre institution"
}
}
}Ma définition de départ d'une place « prenable » : un résultat de type « concurrent direct ». Les plateformes, les contenus d'utilisateurs, les médias et institutions ne le sont pas, en général.Hypothèse de praticien Elle est à ajuster à ton marché, et c'est ton code ou ton tableur qui l'applique, pas le modèle. Le modèle ne fait qu'étiqueter.
Exemple concret Exemple fictif. Sur « escalier sur mesure nantes », trois résultats sont des annuaires, un est un forum, et le reste des menuisiers. Les places tenues par des menuisiers sont les seules que tu peux viser. Sur « prix escalier », la page est occupée par des plateformes : tu changes de requête, tu ne te bats pas.
À quoi ça sert. Une refonte, ce sont des centaines de décisions : où renvoyer chaque ancienne page, quelles pages se parlent entre elles, quoi garder, réécrire, fusionner ou supprimer. Mal faite, elle fait perdre de la visibilité, et ça arrive. Les trois décisions se prennent page par page, avec les mêmes étiquettes.
Ce qu'il faut préparer. L'export des anciennes pages (adresse, titre, H1, début du texte), les clics de chaque page dans la Search Console, la nouvelle arborescence avec ses titres, et ta description d'offre.
Pour chaque ancienne page, ton code présélectionne trois pages candidates dans le nouveau site (par ressemblance de texte). Le modèle choisit parmi ces trois et une option « aucune ». Quatre options, pas plus : c'est la règle. Pour un très gros site, descends par niveaux (d'abord la rubrique, puis la page), c'est le principe d'un exemple publié par l'éditeur.S11
{
"ancienne_page": {
"adresse": "[ancienne adresse]",
"titre": "[titre]",
"h1": "[H1]",
"extrait": "[début du texte]"
}
}{
"redirection": {
"type": "choice",
"instructions": "Quelle page du nouveau site reprend le mieux le sujet de la page du champ ancienne_page ?",
"criteria": {
"A": "[titre et adresse de la candidate A]",
"B": "[titre et adresse de la candidate B]",
"C": "[titre et adresse de la candidate C]",
"aucune": "Aucune de ces pages ne traite le même sujet"
}
}
}Une redirection n'est posée sans relecture que si la probabilité de l'option retenue franchit ton seuil. Sinon, la ligne va dans la file humaine.
Pour chaque page, ton code propose quelques pages liées possibles. Pour chaque couple, une question oui ou non : « la page cible est-elle la suite logique pour le lecteur de la page source ? ». Tu gardes les liens dont la valeur franchit ton seuil, classés du plus fort au plus faible.
{
"page_source": {
"titre": "[titre]",
"extrait": "[texte]"
},
"page_cible": {
"titre": "[titre]",
"extrait": "[texte]"
}
}{
"suite_logique": {
"type": "noul",
"instructions": "Un lecteur arrivé au bout du texte du champ page_source trouverait-il dans le sujet du champ page_cible la suite logique de sa lecture ?"
}
}Ici, le modèle ne décide pas du sort de la page. Il pose trois étiquettes, et c'est ta règle qui tranche, à partir de ces étiquettes et des chiffres de la Search Console, que ton code lit sans l'aide du modèle.
{
"offre": "[ton offre en 3 ou 4 phrases]",
"page": {
"titre": "[titre]",
"h1": "[H1]",
"texte": "[texte]"
},
"page_voisine": {
"titre": "[titre]",
"h1": "[H1]",
"texte": "[texte]"
}
}{
"pertinence": {
"type": "noul",
"instructions": "Le sujet de la page du champ page répond-il à un besoin que l'offre du champ offre satisfait directement ?"
},
"doublon": {
"type": "noul",
"instructions": "Le champ page traite-t-il le même sujet, avec la même intention, que le champ page_voisine ?"
},
"contenu_creux": {
"type": "noul",
"instructions": "Le champ page se limite-t-il à des généralités, sans exemple concret, sans cas nommé et sans chiffre sourcé ?"
}
}| Si | Alors |
|---|---|
| Répond à un besoin de l'offre, pas de doublon, la page attire des clics | Garder. |
| Répond à un besoin de l'offre, mais peu de clics ou texte creux | Réécrire. |
| Doublon d'une page voisine | Fusionner avec la voisine, et rediriger. |
| Ne répond pas à l'offre et n'attire aucun clic | Supprimer, avec une redirection vers la rubrique parente. |
Cette grille est une proposition de départ : à ajuster à ton cas. Hypothèse de praticien Les seuils de « beaucoup » et « peu » de clics sont les tiens, et ils vivent dans ton code, pas dans une question.
La voie simple. Fais l'exercice sur dix pages dans le Playground, pour voir si les étiquettes collent à ton jugement. Pour tout le site, passe par n8n ou un développeur : à trois cents pages, la main ne suit pas.
Exemple concret Exemple fictif. Atelier Duval a deux pages quasi identiques, « escalier bois » et « escalier en chêne ». Le modèle étiquette la seconde comme doublon de la première. La grille dit : fusionner, avec une redirection de l'ancienne vers l'autre. Aucune des deux n'est perdue.
Elle tient en une phrase. La probabilité dit à quel point le modèle est sûr de son étiquette. Elle ne dit jamais pourquoi un site se positionne.
La tentation est forte : tu as un outil qui répond avec des chiffres, alors tu lui demandes « cette page est-elle première à cause de ses liens entrants ? ». Il te renvoie 0,81. Ça ressemble à une analyse. Ce n'est qu'un nombre sorti d'une question dont le modèle n'a pas les éléments : il n'a pas vu les liens, ni l'historique du site, ni l'algorithme.
L'éditeur est clair sur deux points. Jev ne produit aucune explication écrite.S7S17 Et une valeur oui ou non n'est pas une mesure d'intensité : ce n'est pas « à quel point », c'est « probabilité du oui ».S6 Une évaluation tierce a aussi relevé que, sur des questions sans réponse possible, la confiance moyenne restait à 0,74 : il ne sait pas dire « je ne sais pas ».Source tierceS18
Le schéma naît de l'addition des étiquettes, pas d'une question posée au modèle. Tu étiquettes mille requêtes, dix résultats par requête, cent pages. Ce sont tes tableaux, croisés, qui te disent où sont les places prenables, quel trafic est inutile, quelles pages sont des doublons. Le modèle étiquette. Tu additionnes. Tu décides.
La méthode ne dépend pas de lui. Les mêmes vingt questions, la même règle de formulation, les mêmes seuils fonctionnent avec n'importe quel modèle capable de répondre à une question fermée par une probabilité. Trois pistes, à tester sur ton contenu :
| Option | Ce qu'elle fait | À savoir |
|---|---|---|
| mDeBERTa-v3 XNLI (Hugging Face) | Classification « zero-shot » : tu lui donnes un texte et des étiquettes, il renvoie une probabilité par étiquette.S23 | Multilingue, dont le français (82,3 % sur le sous-ensemble français d'un test d'inférence standard, ce qui n'est pas une mesure sur tes pages). Licence MIT. Tourne chez toi.S23 |
| openjev (Hugging Face) | Modèle libre qui lit un texte et une hypothèse, et renvoie trois probabilités (accord, contradiction, neutre). Ses options sont traitées sans effet d'ordre.S22 | Anglais seulement, d'après sa fiche. Sans lien avec TypeSafe d'après cette fiche. Son auteur précise qu'il vient en complément de vérifications déterministes, pas à leur place.S22 |
| Un modèle généraliste en sortie contrainte | Un assistant classique forcé à répondre par une option, interrogé plusieurs fois, avec un vote. | Hypothèse de praticien Méthode décrite par ce guide, [non évaluée ici : aucune source consultée, aucun chiffre.] Plus lent et plus cher que Jev, d'après la table de l'éditeur.S12 |
Les références S1, S2… dans le texte renvoient à cette liste. Les pages de l'éditeur sont la référence pour tout ce qui est étiqueté « Documenté ». Les pages tierces sont signalées comme telles.
| Réf. | Source | Ce qu'elle établit |
|---|---|---|
| S1 | Éditeur Documentation TypeSafe, Models | Nom et version, prix, débit, taille d'entrée, langues, données. |
| S2 | Éditeur Documentation TypeSafe, Quick start | Accès (API, Playground, SDK), format de requête et de réponse, exemple à 392 jetons. |
| S3 | Éditeur Documentation TypeSafe, API et Choice | Jusqu'à 255 options par Choice ; conseil de donner la liste complète et une option « autre ». |
| S4 | Éditeur Documentation TypeSafe, How to build | Conseil de questions étroites, explicites et atomiques. |
| S5 | Éditeur Documentation TypeSafe, Confidence | La confiance est calculée sur l'étalement des probabilités ; trois zones d'action. |
| S6 | Éditeur Documentation TypeSafe, Noul | Valeur de 0 à 1 = probabilité du oui ; seuils d'exemple 0,8 et 0,2 ; une question, une condition. |
| S7 | Éditeur Documentation TypeSafe, Jev 1.13 jaggedness (revue le 17/09/2026) | Limites : lecture littérale, calcul, dates, texte trop long, contenu adverse, génération. |
| S8 | Éditeur Documentation TypeSafe, AI primer | Entraînement RLCD, objectif de calibration des probabilités. |
| S9 | Éditeur TypeSafe, SKILL.md (GitHub) | Les seuils des exemples sont à évaluer, pas universels. |
| S10 | Éditeur Documentation TypeSafe, Speculative fan-out et Parallel questions | Plusieurs questions dans une requête, le texte n'est facturé qu'une fois. |
| S11 | Éditeur Documentation TypeSafe, index (llms.txt) | Résumé de l'exemple de classification hiérarchique par niveaux. |
| S12 | Éditeur TypeSafe, Workflow evals | Table : Jev 67,8 % ; Claude Opus 5 73,1 % en workflow et 64,8 % en prompt ; référence = moyenne GPT-6 Astra et Claude Fable 5.1 ; quatre tâches ; sans date. |
| S13 | Éditeur TypeSafe, billet « Introducing System One Models & Jev » | Date affichée : 28 septembre 2026 ; prix d'entrée 0,042 $ par million de jetons. |
| S14 | Tiers n8n Community, « TypeSafe's Jev is now in n8n » (30/09/2026) | Nœud « TypeSafe AI », gratuit sur Cloud jusqu'au 10 octobre 2026 à 23 h 59 UTC. |
| S15 | Tiers Zapier, « What Is Jev? » | Pas d'application native ; passage par API by Zapier ; « 5 $ de crédit chaque mois ». |
| S16 | Tiers ExplainX, « Jev General Availability » (21/09/2026) | Fin de la liste d'attente ; 5 $ de crédit à l'inscription, présentés comme uniques. |
| S17 | Tiers DataCamp, « Jev: TypeSafe's System One Model » (16/09/2026) | Présentation, 67,8 % contre 73,1 %, pas de justification écrite, liste d'attente à la mi-septembre. |
| S18 | Tiers Pebblous, analyse du coût de Jev | Évaluations indépendantes citées : hameçonnage 62,6 % contre 95,0 % (jev-phishing-bench, 17/09/2026) ; confiance moyenne de 0,74 sur des questions sans réponse. |
| S19 | Tiers Deußer, Sparrenberg, Sifa, « Evaluating and Benchmarking the System One Model Jev » (arXiv, 29/09/2026) | Calibration, seuil fixe de 0,5, AfriXNLI anglais 90,5 % et français 82,7 %, limites de l'étude. |
| S20 | Tiers Ottopilote, « Jev testé en français » (24/09/2026) | 60 décisions correctes sur 60 en français ; une consigne cachée a trompé le modèle (confiance 0,27). |
| S21 | Tiers La Refonte (L. Perrigon), « Jev en français » (20/09/2026) | 30 messages français, 21 sur 30 au bon service ; erreurs à haute confiance. |
| S22 | Tiers Hugging Face, AlexWortega/openjev | Alternative libre, trois probabilités, anglais, MIT, sans lien avec TypeSafe. |
| S23 | Tiers Hugging Face, MoritzLaurer/mDeBERTa-v3-base-xnli-multilingual-nli-2mil7 | Classification zero-shot multilingue, français à 82,3 % sur XNLI, MIT. |