$r['identifiant_de_l_etablissement'] ?? null, 'nom' => $r['nom_etablissement'] ?? null, 'type' => $r['type_etablissement'] ?? null, 'stat' => $r['statut_public_prive'] ?? null, 'reg' => $r['libelle_region'] ?? null, 'aca' => $r['libelle_academie'] ?? null, 'dep' => $r['libelle_departement'] ?? null, 'depc' => $r['code_departement'] ?? null, 'com' => $r['nom_commune'] ?? null, 'cp' => $r['code_postal'] ?? null, 'adr' => $r['adresse_1'] ?? null, 'tel' => $r['telephone'] ?? null, 'mail' => $r['mail'] ?? null, 'web' => $r['web'] ?? null, 'etat' => $r['etat'] ?? null, 'circ' => $r['nom_circonscription'] ?? null, 'lat' => round((float) $lat, 5), 'lon' => round((float) $lon, 5), ]; // Options : flag stocke seulement quand l'option est presente (1), pour alleger. $options = [ 'rest' => 'restauration', 'heb' => 'hebergement', // internat 'ulis' => 'ulis', 'segp' => 'segpa', 'appr' => 'apprentissage', ]; foreach ($options as $key => $field) { if ((int) ($r[$field] ?? 0) === 1) { $rec[$key] = 1; } } $out[] = $rec; } file_put_contents($dst, json_encode($out, JSON_UNESCAPED_UNICODE)); $count = count($out); $size = round(filesize($dst) / 1048576, 1); fwrite(STDERR, "OK : $count etablissements ecrits ($size Mo), $skipped sans geoloc ignores.\n"); fwrite(STDERR, "Fichier : $dst\n");