Qu’est-ce que le code RNE ou UAI ?

38 | (actualisé le )

Depuis 1978, chaque établissement scolaire (écoles, collèges, lycées, CFA, enseignement supérieur, public ou privé) possède un code unique dans le répertoire national des établissements, aussi appelé RNE.

En 1996, le « RNE » a changé de nom et s’intitule désormais « UAI » pour Unité Administrative Immatriculée qui concerne 135 000 établissements.

Chaque établissement scolaire bénéficie d’un code UAI (ex-RNE) composé de 7 chiffres et d’une lettre (par exemple 0951099D) :

  • 3 premiers chiffres (095) qui correspondent au département (par exemple 012 pour l’Aveyron, 095 pour le Val-d’Oise, 974 pour la Réunion...) ;
  • 4 chiffres (1099) qui permettent d’identifier un établissement de façon unique dans le département ;
  • 1 lettre (D) qui sert de checksum (ou somme de contrôle) pour vérifier la bonne saisie du code.

Pour trouver le code UAI (ex-RNE) d’un établissement, consultez l’annuaire des établissements, sur le site du ministère

Cette dernière lettre est calculée ainsi :

  • on prend le nombre composé par les 7 premiers chiffres (exemple : 0951099) ;
  • on divise ce nombre par 23 et on garde le reste (exemple : reste de (0951099/23) = 3) ;
  • on prend ensuite les lettres de l’alphabet auxquelles on a enlevé les I, O et Q soient 23 lettres (a,b,c,d,e,f,g,h,j,k,l,m,n,p,r,s,t,u,v,w,x,y,z) ;
  • la lettre choisie est celle de la position reste + 1 (exemple : position 3+1=4, soit la lettre D).

Exemple d’utilisation dans un script PHP

Vous trouverez ci-dessous une fonction écrite en langage PHP qui teste la validité d’un code UAI.

  1. // Cette fonction vérifie la validité d'un code UAI donné en variable
  2. // et elle retourne TRUE si le code UAI est correct, sinon FALSE
  3.  
  4. function verifier_code_uai($code_uai)
  5. {
  6.         // alphabet pris en compte (23 lettres, sans I, O et Q)
  7.         $alphabet_23 = array("a", "b", "c", "d", "e", "f", "g", "h", "j", "k", "l", "m", "n", "p", "r", "s", "t", "u", "v", "w", "x", "y", "z");
  8.        
  9.         // On supprime les espaces et on met tout en minuscules
  10.         $code_uai_propre = strtolower(trim($code_uai));
  11.  
  12.         // On récupère les chiffres et les lettres dans des variables séparées
  13.         $code_uai_propre_chiffres = substr($code_uai_propre, 0, 7);
  14.         $code_uai_propre_lettre = substr($code_uai_propre, 7, 1);
  15.  
  16.         // Le rang de la lettre correspond au reste de la division par 23
  17.         $rang_calcule = $code_uai_propre_chiffres % 23 ;
  18.        
  19.         // On récupère la lettre calculée dans l'alphabet
  20.         $lettre_calculee = $alphabet_23[$rang_calcule] ;
  21.  
  22.         // On compare la lettre du code UAI à la lettre calculée et on retourne TRUE ou FALSE
  23.         if ($code_uai_propre_lettre == $lettre_calculee) {return TRUE;} else {return FALSE;}
  24. }
  25.  
  26. // Exemple d'utilisation de cette fonction
  27. if (verifier_code_uai("0951099D")) {echo "<br />Le code UAI est CORRECT";} else {echo "<br /> Attention, le code UAI est incorrect !";}

Télécharger