Valider les numéros SIRET avec l’algorithme de Luhn via Google Apps Script

Dans l’univers des entreprises françaises, le numéro SIRET est un élément d’identification unique et crucial. Composé de 14 chiffres, il permet non seulement de vérifier l’existence légale d’une entreprise mais également de s’assurer de sa localisation géographique précise.

Un outil essentiel pour l’administration, les partenaires commerciaux, et même les développeurs d’applications, le numéro SIRET doit être valide pour être opérationnel.

C’est ici qu’intervient l’algorithme de Luhn, une méthode simple mais efficace pour vérifier la validité de diverses séquences numériques, dont le numéro SIRET.

L’algorithme de Luhn : une brève introduction

Développé par Hans Peter Luhn dans les années 1950, l’algorithme de Luhn est largement utilisé dans la vérification des numéros de carte de crédit, des numéros de sécurité sociale et, bien sûr, des numéros SIRET. Le principe est simple : chaque chiffre du numéro est soumis à une série d’opérations mathématiques, et si le résultat final respecte une certaine condition (souvent, il doit être divisible par 10), le numéro est considéré comme valide.

Vérification des numéros SIRET avec Google Apps Script

Google Apps Script, basé sur JavaScript, offre une plateforme flexible pour automatiser et étendre les fonctionnalités des applications Google et créer des outils personnalisés pour des tâches spécifiques, telles que la validation des numéros SIRET. En utilisant l’algorithme de Luhn, nous pouvons rapidement créer un script pour vérifier la validité de ces numéros. Voici comment :

  1. Définition de la fonction de calcul : La première étape consiste à transposer l’algorithme de Luhn en Google Apps Script, permettant de calculer la clé de contrôle d’une chaîne de chiffres qui ne contient pas encore cette clé.
  2. Validation du numéro SIRET : Avec la fonction de calcul en place, nous pouvons ensuite créer une fonction spécifique pour valider les numéros SIRET, en nous assurant qu’ils ont la longueur appropriée (13 chiffres sans la clé de contrôle) avant d’appliquer l’algorithme.
  3. Intégration et utilisation : Ce script peut être intégré dans des projets Google Apps Script variés, tels que la validation des numéros SIRET dans des formulaires Google, des feuilles de calcul, ou même des applications Google Workspace personnalisées.

Avantages et applications

L’utilisation de Google Apps Script pour valider les numéros SIRET avec l’algorithme de Luhn présente plusieurs avantages :

  • Automatisation : Automatiser la validation des numéros SIRET réduit le risque d’erreur humaine et améliore l’efficacité des processus administratifs.
  • Sécurité : En validant la structure des numéros SIRET, vous pouvez contribuer à prévenir la fraude et garantir que les informations d’entreprise traitées sont légitimes.
  • Flexibilité : Google Apps Script peut être facilement intégré à d’autres services Google, offrant ainsi une large gamme d’applications potentielles.

Le code Google Apps Script

/**
 * Algorithme de Luhn applicable aux numéros SIREN et SIRET
 */

/**
 * Calcule la clef de contrôle d'une chaîne (qui ne contient pas la clef) selon l'algorithme de Luhn
 *
 * @param {string} chaine La chaîne de caractères représentant le numéro sans la clef de contrôle
 * @return {number} La clef de contrôle calculée selon l'algorithme de Luhn
 */
function calculeClefLuhn(chaine) {
  // Calcule le nombre de caractères de la chaîne
  var longueurChaine = chaine.length;
  
  var addition = 0;
  var position = 0;
  
  // Parcourt chaque chiffre de la variable chaine de droite à gauche
  for (var i = longueurChaine - 1; i >= 0; i--) {
    position += 1;
    
    // Lit le chiffre en cours (position i dans la chaine)
    var chiffre = parseInt(chaine.charAt(i), 10);
    
    // Si la position est paire (à partir de la droite), multiplier par 2
    if (position % 2 !== 0) { // Dans JavaScript, les indices commencent à 0, donc la logique est inversée par rapport à VBA
      chiffre *= 2;
      // Si le résultat de la multiplication est supérieur à 9, soustraire 9
      if (chiffre > 9) {
        chiffre -= 9;
      }
    }
    
    // Additionne les chiffres au fur et à mesure de l'exécution de la boucle
    addition += chiffre;
  }
  
  // Calcule la clef de contrôle
  return (10 - (addition % 10)) % 10;
}

/**
 * Calcule la clef d'un numéro SIRET (13 caractères)
 *
 * @param {string} chaine La chaîne de caractères représentant le numéro SIRET sans la clef de contrôle
 * @return {number} La clef de contrôle calculée ou -1 si la longueur du numéro SIRET fourni sans clef de contrôle est différente de 13
 */
function calculeClefLuhnSIRET(chaine) {
  if (chaine.length === 13) {
    return calculeClefLuhn(chaine);
  } else {
    return -1;
  }
}

En conclusion, la validation des numéros SIRET à l’aide de l’algorithme de Luhn et Google Apps Script est un moyen efficace d’assurer l’intégrité des données d’entreprise dans vos applications et workflows. Avec quelques lignes de code, vous pouvez renforcer la fiabilité de vos systèmes et contribuer à la sécurité du paysage commercial français.

Laisser un commentaire