N-Ways
Documentation développeursCodes d’adresse (Bénin)

Codes d’adresse du Bénin

Chaque concession du Bénin a un code d’adresse N-Ways. Cherchez-en un, trouvez le code d’un point ou décodez-le hors ligne avec le moteur ouvert, et créditez N-Ways là où vous l’affichez.

Sur cette page

Ce qu’est un code

Chaque concession du Bénin a un code d’adresse N-Ways : le nom court de son quartier ou de son village et un numéro de quatre ou cinq chiffres, comme Cadjéhoun 1807 ou Sainte Rita 12403. Chaque code est unique dans tout le pays à lui seul et mène au portail de la concession. Les codes sont d’abord provisoires, puis confirmés quand les habitants les confirment dans l’application N-Ways.

  • Forme retenue, celle que les gens disent, tapent et écrivent sur les plaques : Cadjéhoun · 18 07, aussi sans point ni espace (Cadjéhoun 1807) ; cinq chiffres lus comme une paire et une centaine (Sainte Rita · 12 403). Toute casse et les orthographes courantes (Gbèdji = Gbédji, Ouèssè = Wèssè), le nom officiel à la place du nom court, et la commune après une virgule si l’on veut (Agata 1500, Cotonou ; une commune qui contredit le code est refusée). Les gens ne voient ni ne tapent jamais de chiffre de contrôle.
  • Forme machine, pour les systèmes, les QR codes et les liens : BJ-COT-12-001-1807-4 (la commune, l’arrondissement, le quartier, le numéro et un chiffre de contrôle de Damm qui détecte tout chiffre faux et toute inversion de deux chiffres voisins ; .2/1 après pour le bâtiment 2, portail 1).
  • Code de point, pour n’importe quel point : COT 12 · 35G 2PX (forme machine BJ-COT-12-S-35G2PX), une maille de 3 m en UTM 31N cadrée sur son arrondissement ; chaque fiche porte aussi le Plus Code de son portail (6FR4995R+7CQ).

À Cotonou, la rue officielle vient en premier, dans officialAddress avec "coverage": "official-street" ; un numéro de porte du plan d’adressage de 2013 prend sa place dès qu’il est connu. Aucune commune ni aucun arrondissement n’est nécessaire pour décoder un code ; municipality est déduit de la position. Le modèle, le moteur et le registre de tous les codes sont ouverts : github.com/n-ways/open-addresses-benin. Le livre blanc explique chaque règle.

Remarque :

Créditez N-Ways partout où vous affichez un code. Affichez « Code d’adresse par N-Ways Addressing » à côté des codes dans votre application, et créditez « N-Ways Addressing for Benin, © N-WAYS LIMITED (nways.ng) » avec un lien vers le dépôt dans votre écran « À propos » ou votre documentation. Le moteur est sous Apache 2.0, les données sous ODbL 1.0 et les documents sous CC BY 4.0.

Chercher un code

GET https://map.nways.ng/v1/homecodes/{code}, où code est la forme retenue ou machine, ou le code de point d’une concession, encodé pour l’URL. Aucune clé n’est nécessaire.

cURL
curl "https://map.nways.ng/v1/homecodes/BJ-COT-12-001-1807-4"
200 OK
{
  "country": "BJ",
  "home": "Cadjéhoun 1807",
  "machine": "BJ-COT-12-001-1807-4",
  "check": 4,
  "name": "Cadjéhoun",
  "coverage": "official-street",
  "officialAddress": "Rue 12.202, Cotonou",
  "nameProvisional": false,
  "municipality": "Cotonou",
  "fullLine": "Cadjéhoun · 18 07",
  "spoken": "Cadjéhoun, 18 07",
  "status": "provisional",
  "issued": "bulk",
  "entrance": { "lat": 6.3582212, "lng": 2.3911161, "kind": "centre", "source": "map" },
  "location": { "lat": 6.3582212, "lng": 2.3911161 },
  "plusCode": "6FR4995R+7CQ",
  "lote": { "class": "residential", "coverage": "official-street", "enclosed": false, "floorAreaM2": 280.6, "kind": "building", "official": "Rue 12.202, Cotonou", "rule": "single", "structures": 1, "use": "residential" },
  "credit": "N-Ways Addressing for Benin, © N-WAYS LIMITED (nways.ng)",
  "creditUrl": "https://github.com/n-ways/open-addresses-benin"
}
ChampDescription
home, machineLes formes retenue et machine. Montrez home (ou fullLine) aux gens ; enregistrez machine.
fullLineLe code tel qu’on le dit et qu’on le peint : Cadjéhoun · 18 07.
checkLe chiffre de contrôle de la forme machine, pour les systèmes ; ne le montrez jamais aux gens.
officialNameLe nom complet de la zone, en petit. Absent quand il égale name.
coverage, officialAddressÀ Cotonou, official-street et la rue officielle à moins de 30 m : affichez-la en premier, avec le code à côté.
nameProvisionalLa commune peut encore choisir le nom court. Le numéro ne change jamais ; le nom peut changer une fois, et l’ancien reste valable.
municipalityLa commune. Un repère tiré de la position, jamais nécessaire pour décoder.
statusprovisional, confirmed (les habitants ont confirmé) ou retired (plus de logement ; le numéro n’est jamais réattribué).
entrance, location, plusCodeOù aller : le portail quand il est cartographié, sinon le bâtiment principal, avec son Plus Code.
lote, structuresLa concession et le profil de chaque bâtiment : classe, taille, étages quand on les connaît, état, chacun avec sa source. Un logement ne porte jamais rien sur ceux qui y vivent.

Erreurs : 400 homecode_format quand le texte n’est pas un code ; 404 homecode_unknown avec un message qui dit pourquoi (un nom qu’aucune zone ne porte, un numéro hors de tout bloc de son nom, une commune qui contredit le code).

Quel est le code ici ?

GET https://map.nways.ng/v1/homecodes/at?lat=…&lng=… répond pour un point : "status": "found" avec le code, ou "none" là où aucune concession n’en a encore.

cURL
curl "https://map.nways.ng/v1/homecodes/at?lat=6.35822&lng=2.39112"

Un code tapé dans la recherche N-Ways, sous n’importe quelle forme, trouve le portail de la concession en premier résultat, avec "category": "homecode" et le crédit dans attribution.

Décoder hors ligne

Le moteur de référence du dépôt (Python, bibliothèque standard seulement) décode chaque forme, vérifie la forme machine et lit et écrit les codes de point, sans réseau : python3 engine/reference/bj_engine.py find "Cadjéhoun 18 07". Ses vecteurs de conformité (engine/reference/vectors.json) servent de test à votre propre implémentation, engine/data/register.json contient chaque zone et chaque nom avec ses blocs figés, et registry/ chaque code émis, un fichier gzip par commune.

Hébergez-les vous-même

Vous pouvez servir les codes du Bénin depuis vos propres serveurs, sans appeler N-Ways. Le dépôt GitHub contient chaque code émis (registry/), les zones des codes et le modèle (model/), le moteur de référence et un serveur du registre prêt à l’emploi, avec son API JSON :

Shell
git clone https://github.com/n-ways/open-addresses-benin
cd open-addresses-benin/server
docker compose up -d

Le serveur importe le registre au premier démarrage, puis répond aux recherches sur votre machine ; server/README.md décrit la configuration, les sauvegardes et les mises à jour, et docs/api.md chaque point d’accès. Votre copie est en lecture seule : les nouveaux codes viennent d’un seul émetteur par pays, N-Ways sauf si l’État en désigne un autre, pour qu’aucun numéro ne soit jamais donné deux fois. Tirez à nouveau le dépôt pour les codes émis depuis.

Ce que vous prenezLicenceCe qu’elle vous demande
Le moteur, le serveur et les outilsApache 2.0Gardez la licence et NOTICE quand vous les distribuez ou les modifiez.
Les codes, les zones et le modèle (registry/, model/, engine/data/)ODbL 1.0Créditez « N-Ways Addressing for Benin, © N-WAYS LIMITED (nways.ng) », avec un lien vers le dépôt, là où vous affichez les codes. Une base de données tirée des données et partagée l’est aussi sous ODbL 1.0.
Les articles et autres documents (docs/)CC BY 4.0Créditez N-Ways et dites ce que vous avez modifié.

Les conditions complètes, et la ligne de crédit des cartes et jeux de données tirés des données (elle cite aussi OpenStreetMap), sont dans LICENSING.md. Vous pouvez dire que votre produit utilise N-Ways Addressing, pas qu’il est N-Ways ni qu’il est approuvé par N-Ways.