Vérifier le langage inclusif d’une offre d’emploi
Une offre d’emploi peut involontairement décourager des personnes qualifiées lorsque des expressions courantes suggèrent une préférence de genre, d’âge, d’origine, de capacité ou de personnalité.
Lancer gratuitement
Cet outil compare votre annonce à la liste de termes signalés que vous fournissez, repère chaque occurrence et l’associe à l’alternative neutre choisie. Le résultat indique le texte exact ainsi que sa ligne, sa colonne et sa position, ce qui simplifie même la révision d’une longue annonce. Le contrôle est déterministe : il n’invente aucun problème, ne réécrit pas le poste et n’envoie pas le texte à un modèle.
Établissez une liste conforme à votre politique de recrutement
Les recommandations sur le langage inclusif varient selon les organisations, les pays, les fonctions et les publics. L’outil n’impose donc aucun dictionnaire universel dissimulé. Fournissez la liste des termes que vos équipes de recrutement ou juridiques signalent habituellement et associez chacun d’eux à une alternative neutre approuvée. Une liste peut relier « vendeur » à « responsable des ventes », « président » à « personne chargée de la présidence » ou « natif du numérique » à « personne maîtrisant les outils numériques ». Les expressions littérales comme les mots isolés sont acceptés. La recherche ignore les majuscules, tout en conservant exactement le texte trouvé. Choisissez des alternatives assez précises pour préserver les véritables exigences du poste. Remplacer « jeune » par « en début de carrière », par exemple, peut rester inadapté si l’âge n’est pas pertinent ; préciser directement l’expérience ou la compétence attendue est souvent plus clair. Considérez cette liste comme une règle éditoriale à maintenir, et non comme un verdict exhaustif sur l’inclusion. Réexaminez-la régulièrement avec des spécialistes du droit du travail, de l’accessibilité et des publics que vous souhaitez toucher. Chaque résultat reste ainsi explicable, car tout signalement provient directement d’un terme et d’une alternative définis par votre équipe avant le contrôle.
Lisez chaque occurrence dans son contexte d’origine
Collez l’intégralité de l’offre, notamment l’intitulé, les missions, les critères, les avantages et les modalités de candidature. Le résultat précise si l’annonce satisfait au contrôle fourni, combien de termes ont été examinés, combien de termes signalés distincts ont été trouvés et combien d’occurrences existent au total. Chaque occurrence contient le terme configuré, la graphie exacte rencontrée, l’alternative neutre proposée, un indice de caractère commençant à zéro ainsi que des numéros de ligne et de colonne commençant à un. Les limites des mots sont respectées lorsqu’un terme débute ou se termine par une lettre ou un chiffre, afin qu’une entrée courte ne soit pas détectée au milieu d’un mot sans rapport. L’outil signale les passages sans effectuer de remplacement automatique. Le contexte peut modifier le sens, des expressions qui se chevauchent peuvent entrer en concurrence et une substitution mécanique peut rendre la phrase incorrecte. Ouvrez l’annonce à l’emplacement indiqué, relisez la phrase entière et vérifiez que l’alternative conserve la mission ou la qualification voulue. Relancez ensuite la même liste. Un résultat positif signifie seulement qu’aucun terme configuré ne subsiste, et non que toute barrière possible a disparu.
Intégrez ce contrôle à une révision plus large
L’analyse du vocabulaire est particulièrement utile dans un processus de publication reproductible. Lancez-la à la fin du premier brouillon, après toute modification des critères par la personne responsable du recrutement, puis juste avant la publication. Conservez la liste des termes avec vos normes éditoriales afin que les différentes équipes obtiennent des constats cohérents. La version dans le navigateur convient aux annonces individuelles, tandis que l’API, facturée $0.002 par requête, peut contrôler les textes exportés d’un outil de suivi des candidatures ou intégrés à un circuit de validation. Aucun service réseau, modèle de langage, choix aléatoire ni date courante n’influence le résultat : une entrée identique produit donc une sortie identique. Cette stabilité facilite les tests et les audits, sans remplacer le jugement humain. Examinez également les diplômes non indispensables, les seuils rigides d’années d’expérience, l’accessibilité de la candidature, la transparence de la rémunération, le lieu de travail et la distinction entre missions essentielles et simples préférences. Demandez aussi à des personnes aux parcours variés de relire l’annonce finale. L’outil localise fidèlement le vocabulaire d’une liste connue ; les personnes restent responsables du ton, du contexte, de la conformité juridique et de l’accessibilité réelle de l’emploi.
Cas d’usage
Relire un brouillon de recrutement
Repérez chaque expression configurée avant la validation, grâce à des positions précises qui accélèrent les corrections.
Appliquer une liste éditoriale
Utilisez les mêmes termes et alternatives approuvés dans les annonces rédigées par différentes équipes.
Contrôler avant publication
Ajoutez une étape déterministe de langage inclusif à un processus automatisé d’offres ou de candidatures.
Questions fréquentes
L’outil possède-t-il sa propre liste de termes biaisés ?
Non. Vous fournissez les termes signalés et les alternatives neutres ; le contrôle suit donc les recommandations validées de votre organisation.
La recherche distingue-t-elle les majuscules ?
Non. La casse est ignorée pendant la recherche, mais la graphie exacte reste présente dans chaque occurrence.
Les mots seront-ils remplacés automatiquement ?
Non. Une alternative neutre est proposée pour chaque occurrence, mais une personne doit vérifier son adéquation à la phrase et au contexte.
Que signifie un résultat positif ?
Cela signifie qu’aucun terme fourni n’apparaît comme mot ou expression complète. Il ne certifie ni l’inclusion totale ni la conformité juridique de l’offre.
Une expression peut-elle être trouvée plusieurs fois ?
Oui. Chaque occurrence qui ne se chevauche pas est renvoyée avec son indice de caractère, sa ligne et sa colonne.
Quel est le tarif de l’API ?
L’API coûte $0.002 par requête. Le même contrôle déterministe peut aussi être exécuté gratuitement dans le navigateur.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/biz/job-posting-readability-check \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"We need a confident salesman and a young digital native to manage our growing customer list.","flagged_terms":[{"term":"salesman","alternative":"sales representative"},{"term":"young","alternative":"early-career"},{"term":"digital native","alternative":"digitally proficient professional"}]}'const res = await fetch("https://api.kit.forhosting.com/biz/job-posting-readability-check", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "We need a confident salesman and a young digital native to manage our growing customer list.",
"flagged_terms": [
{
"term": "salesman",
"alternative": "sales representative"
},
{
"term": "young",
"alternative": "early-career"
},
{
"term": "digital native",
"alternative": "digitally proficient professional"
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/biz/job-posting-readability-check",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "We need a confident salesman and a young digital native to manage our growing customer list.",
"flagged_terms": [
{
"term": "salesman",
"alternative": "sales representative"
},
{
"term": "young",
"alternative": "early-career"
},
{
"term": "digital native",
"alternative": "digitally proficient professional"
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/biz/job-posting-readability-check", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"We need a confident salesman and a young digital native to manage our growing customer list.","flagged_terms":[{"term":"salesman","alternative":"sales representative"},{"term":"young","alternative":"early-career"},{"term":"digital native","alternative":"digitally proficient professional"}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"We need a confident salesman and a young digital native to manage our growing customer list.","flagged_terms":[{"term":"salesman","alternative":"sales representative"},{"term":"young","alternative":"early-career"},{"term":"digital native","alternative":"digitally proficient professional"}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/biz/job-posting-readability-check", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"text": "We need a confident salesman and a young digital native to manage our growing customer list.",
"flagged_terms": [
{
"term": "salesman",
"alternative": "sales representative"
},
{
"term": "young",
"alternative": "early-career"
},
{
"term": "digital native",
"alternative": "digitally proficient professional"
}
]
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "biz.job_posting_readability_check",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_text_chars | 200000 |
max_flagged_terms | 500 |
max_term_chars | 200 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |