Choisir une symbologie de code-barres selon l'usage
Choisir un code-barres ne revient pas simplement à retenir le motif le plus esthétique.
Lancer gratuitement
La bonne symbologie dépend de la personne qui le lira, de l'identifiant à encoder et de la norme sectorielle applicable au processus. Ce moteur déterministe associe quatre usages courants — produit vendu au détail, étiquette d'expédition, suivi de stock et livre de bibliothèque — au code-barres unidimensionnel généralement employé. Il explique aussi l'identifiant et la norme qui motivent ce choix, afin que vous distinguiez une convention sectorielle d'une solution seulement lisible par un scanner.
Partez de l'écosystème de lecture, pas du graphisme
Une symbologie définit la représentation des caractères par des barres et des espaces, mais un déploiement réussi ne dépend pas uniquement de la possibilité technique d'encoder des données. Une caisse de magasin attend des identifiants gérés selon les règles GS1, tandis qu'un entrepôt privé peut se contenter d'un code interne compact. Déterminez d'abord qui attribue les données, où le symbole sera lu et si une autre organisation doit le comprendre sans accord privé. Pour un produit de grande consommation, EAN-13 est la recommandation mondiale habituelle, car il porte un GTIN-13 et est reconnu par les équipements de point de vente. Sur les marchés utilisant surtout des GTIN à 12 chiffres, UPC-A reste courant et appartient au même système d'identification GS1. Le résultat présente donc la norme usuelle sans prétendre que tous les pays, partenaires ou lecteurs imposent des exigences identiques. Confirmez le propriétaire des données et le cahier des charges du partenaire commercial avant tout tirage de production. Un symbole parfaitement lisible reste inutilisable s'il contient un identifiant non autorisé, possède de mauvaises dimensions ou se trouve au mauvais endroit.
Distinguez la structure des données de leur support
L'identifiant et son support imprimé sont liés, mais ils ne se confondent pas. Code 128 est une symbologie générale qui encode efficacement un vaste jeu de caractères. GS1-128 emploie ce support avec des règles GS1 supplémentaires, notamment un caractère de fonction initial et des identifiants d'application qui définissent le sens et la longueur des éléments. Cette différence explique le choix de GS1-128 pour une étiquette d'expédition et de Code 128 simple pour le suivi d'un stock interne. Une étiquette logistique peut contenir un code séquentiel de colis, une date, un numéro de lot ou un autre champ structuré que les systèmes destinataires interprètent de manière cohérente. Une étiquette interne a souvent besoin uniquement d'un SKU ou d'un identifiant d'actif défini par l'organisation, ce qui rend Code 128 plus simple et largement compatible. N'ajoutez pas une syntaxe GS1 uniquement parce que l'imprimante propose cette option : les identifiants doivent être attribués et formatés correctement. N'utilisez pas non plus une chaîne Code 128 libre si un transporteur, un distributeur ou un client impose des données GS1.
Considérez le résultat comme un point de départ normatif
La réponse indique la convention généralement associée à l'usage choisi, ainsi que la norme, l'identifiant encodé et la justification. Pour un livre de bibliothèque, elle recommande EAN-13 portant un ISBN-13, souvent appelé Bookland EAN. Ce choix identifie une édition publiée ; la bibliothèque peut néanmoins ajouter un code distinct pour repérer chaque exemplaire dans son système de prêt. Des réserves comparables valent dans les autres cas. Un programme de stock peut devoir utiliser des identifiants GS1, une norme militaire ou un symbole bidimensionnel à cause des exigences d'un client ou d'un espace réduit. Un transporteur peut imposer une étiquette comprenant plusieurs symboles plutôt qu'un code générique. Un emballage de détail doit aussi respecter des contraintes de qualité d'impression, de zones de silence, de taille, de couleur et de position. Utilisez le résultat pour choisir la famille de normes habituelle et préparer vos questions au fournisseur, à l'imprimeur, au partenaire ou à l'organisme de normalisation. Avant le déploiement, vérifiez le format et les dimensions, testez les lecteurs réels et obtenez les identifiants auprès de l'autorité compétente.
Cas d’usage
Préparer un emballage de vente
Identifiez le support GS1 habituel avant de réserver une zone graphique ou de demander un GTIN pour un produit de consommation.
Concevoir des étiquettes opérationnelles
Distinguez les données logistiques GS1 structurées d'un identifiant Code 128 privé utilisé uniquement dans un stock interne.
Étiqueter un fonds de bibliothèque
Confirmez le support conventionnel de l'ISBN-13 tout en prévoyant, si nécessaire, un code distinct pour chaque exemplaire prêté.
Questions fréquentes
Quel est le prix de la recommandation ?
Chaque appel API coûte $0.002 ; la même recherche déterministe peut également s'exécuter dans le navigateur.
Pourquoi EAN-13 est-il recommandé pour la vente au détail ?
EAN-13 est le support habituel d'un GTIN-13 GS1 et fonctionne avec les systèmes de caisse du monde entier. UPC-A reste courant pour les GTIN-12 sur certains marchés.
Quelle différence existe-t-il entre Code 128 et GS1-128 ?
Code 128 désigne la symbologie. GS1-128 ajoute les règles et identifiants d'application GS1 afin que les partenaires comprennent les champs structurés.
Un livre de bibliothèque a-t-il seulement besoin de son ISBN ?
Pas toujours. ISBN-13 identifie l'édition publiée ; la bibliothèque peut ajouter un autre code pour distinguer chaque exemplaire en circulation.
Ce résultat remplace-t-il le cahier des charges d'un partenaire ?
Non. Il indique la symbologie typique d'un usage général. Un partenaire peut imposer identifiants, dimensions, position, qualité d'impression ou symboles supplémentaires.
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/doc/barcode-symbology-recommend \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"use_case":"retail_product"}'const res = await fetch("https://api.kit.forhosting.com/doc/barcode-symbology-recommend", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"use_case": "retail_product"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/doc/barcode-symbology-recommend",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"use_case": "retail_product"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/doc/barcode-symbology-recommend", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"use_case":"retail_product"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"use_case":"retail_product"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/doc/barcode-symbology-recommend", 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
{
"use_case": "retail_product"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "doc.barcode_symbology_recommend",
"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_mb | 25 |
max_pages | 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. |