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.
- // Cette fonction vérifie la validité d'un code UAI donné en variable
- // et elle retourne TRUE si le code UAI est correct, sinon FALSE
- function verifier_code_uai($code_uai)
- {
- // alphabet pris en compte (23 lettres, sans I, O et Q)
- $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");
- // On supprime les espaces et on met tout en minuscules
- // On récupère les chiffres et les lettres dans des variables séparées
- // Le rang de la lettre correspond au reste de la division par 23
- $rang_calcule = $code_uai_propre_chiffres % 23 ;
- // On récupère la lettre calculée dans l'alphabet
- $lettre_calculee = $alphabet_23[$rang_calcule] ;
- // On compare la lettre du code UAI à la lettre calculée et on retourne TRUE ou FALSE
- if ($code_uai_propre_lettre == $lettre_calculee) {return TRUE;} else {return FALSE;}
- }
- // Exemple d'utilisation de cette fonction
- if (verifier_code_uai("0951099D")) {echo "<br />Le code UAI est CORRECT";} else {echo "<br /> Attention, le code UAI est incorrect !";}