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

20 | (actualisé le ) par Julien Delmas

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