ARTICLE

    Comment stocker vos codes-barres en base de données

    Publié le 19 mai 2026Mis à jour le 19 mai 20265 min de lecture

    Stocker des codes-barres en base de données paraît trivial — c'est juste du texte. Mais quelques choix techniques évitent des bugs fréquents : zéros initiaux qui disparaissent, indexation lente, doublons logiques non détectés.

    Toujours stocker en VARCHAR, jamais en INTEGER

    Un EAN-13 commence parfois par 0 (préfixe 000-019 pour les codes convertis depuis UPC). Stocké en entier, ce zéro disparaît et le code devient invalide. Utilisez systématiquement VARCHAR(14) ou TEXT.

    Validation à l'insertion

    • Vérifier la longueur exacte (8, 12, 13 ou 14 selon le format)
    • Vérifier que tous les caractères sont des chiffres (regex ^[0-9]+$)
    • Recalculer la clé de contrôle et la comparer au dernier chiffre
    • Rejeter si invalide plutôt que corriger silencieusement

    Indexation et contrainte unique

    Ajoutez un index UNIQUE sur la colonne du code pour empêcher les doublons et accélérer les recherches en caisse ou en stock. Dans la plupart des SGBD (PostgreSQL, MySQL, SQLite), l'index B-tree par défaut est optimal.

    Questions fréquentes

    Faut-il chiffrer les codes-barres ?

    Non, ce ne sont pas des données sensibles. Sauf cas particulier (numéros de série liés à une licence).

    Peut-on stocker l'image SVG en base ?

    Possible mais déconseillé. Regénérez l'image à la volée à partir du code texte, c'est plus léger et toujours à jour.