Paquet npm
Toute la hiérarchie en paquet typé. Il marche hors ligne et n’a aucune dépendance.
Installer
npm install morocco-communesUtiliser
import { regions, provincesOf, communesOf, getCommune } from "morocco-communes";
regions[0].name.fr; // "Tanger-Tétouan-Al Hoceima"
provincesOf("01"); // ses 8 provinces et préfectures
communesOf("01.511"); // les 12 communes de Tanger-Assilah
getCommune("tanger"); // { code: "01.511.01.0", type: "urban", population: 1275428, ... }Chaque liste est aussi un module à part : une liste de régions n’embarque pas toutes les communes.
import regions from "morocco-communes/regions";Enregistrements
| Liste | Champs |
|---|---|
| regions | code, name, population |
| provinces | code, name, type, region, population |
| cercles | code, name, region, province, population |
| communes | code, slug, name, type, region, province, cercle, population, population2014 |
| arrondissements | code, name, commune, population |
name vaut { fr, ar } et population est le total du recensement de 2024. Un parent est donné par son code, et le cercle d’une commune urbaine est null.
Fonctions
getCommune(codeOrSlug)trouve une commune par01.511.01.0outanger.provincesOf(region),cerclesOf(province)etarrondissementsOf(commune)listent les enfants d’une unité.communesOf(code)prend une région, une province ou un cercle.versionest la version du jeu de données, qui est aussi celle du paquet.
Ce qu’il laisse de côté
Les limites, et tout ce qui en est tiré (centroïde, emprise, identifiant OpenStreetMap, superficie et densité), sont sous ODbL : elles restent dans les téléchargements et l’API. Les ménages et la répartition entre Marocains et étrangers aussi.
Licence
Le code est sous MIT. Les données viennent du Haut-Commissariat au Plan (RGPH 2024 et 2014) ; citez-le quand vous les publiez.