Codes d’adresse du Cameroun
Chaque concession du Cameroun a un code d’adresse N-Ways. Cherchez-en un, trouvez le code d’un point, décodez-le hors ligne avec le moteur ouvert ou hébergez le registre vous-même, et créditez N-Ways là où vous l’affichez.
Sur cette page
Ce qu’est un code
Chaque concession du Cameroun a un code d’adresse N-Ways : le nom court de son quartier ou de son village et un numéro de trois à cinq chiffres, comme Intendance 137 ou Bonapriso 1401. Chaque code est unique dans tout le pays à lui seul et mène au portail de la concession. Les codes commencent provisoires et deviennent confirmés quand les habitants sont d’accord dans l’application N-Ways.
- Forme retenue, celle que les gens disent, tapent et écrivent sur les plaques :
Bonapriso 14 01, aussi sans l’espace (Bonapriso 1401) ; cinq chiffres se lisent comme une paire et une centaine (Mokolo 18 834). Toute casse, avec ou sans accents, et le nom officiel à la place du nom court (Carrefour Intendance 137). Les noms sont en français ou en anglais, la langue de l’arrondissement. 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 :
CM-YDE1-011-137-5(l’arrondissement, la zone, le numéro et un chiffre de contrôle de Damm qui détecte tout chiffre faux et toute inversion de deux chiffres voisins). - Code de point, pour n’importe quel point :
CM-DLA1 E0449 N0268, une maille de 10 m de la grille de son arrondissement ; chaque fiche porte aussi le Plus Code de son portail (6FMHVG89+H53).
Sur une rue codifiée de Yaoundé ou de Douala, la rue officielle vient en premier, dans officialAddress avec "coverage": "official-street" ; un numéro de porte du plan des communes la remplace dès qu’il est connu, et les adresses de Campost remplissent un champ réservé le jour où elles sont publiées. Aucun arrondissement n’est nécessaire pour décoder un code ; municipality est déduit de la position. Le modèle, le moteur, le registre de tous les codes et un serveur prêt à l’emploi sont ouverts : github.com/n-ways/open-addresses-cameroon. L’article de recherche explique chaque règle.
Créditez N-Ways partout où vous affichez un code. Affichez « Codes by N-Ways Addressing » à côté des codes dans votre application, et créditez « N-Ways Addressing for Cameroon, © 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 un code de point sur une concession, encodé pour l’URL. Aucune clé n’est nécessaire.
curl "https://map.nways.ng/v1/homecodes/CM-YDE1-011-137-5"{
"country": "CM",
"home": "Intendance 137",
"machine": "CM-YDE1-011-137-5",
"check": 5,
"name": "Intendance",
"officialName": "Carrefour Intendance",
"coverage": "official-street",
"officialAddress": "Rue 1.014, Yaoundé",
"nameProvisional": false,
"municipality": "Yaoundé I",
"fullLine": "Intendance 137",
"spoken": "Intendance, 137",
"status": "provisional",
"issued": "bulk",
"entrance": { "lat": 3.8663911, "lng": 11.5179308, "kind": "centre", "source": "map" },
"location": { "lat": 3.8663911, "lng": 11.5179308 },
"plusCode": "6FMHVG89+H53",
"lote": { "class": "residential", "coverage": "official-street", "enclosed": false, "floorAreaM2": 169.5, "kind": "building", "official": "Rue 1.014, Yaoundé", "rule": "single", "structures": 1, "use": "residential" },
"credit": "N-Ways Addressing for Cameroon, © N-WAYS LIMITED (nways.ng)",
"creditUrl": "https://github.com/n-ways/open-addresses-cameroon"
}| Champ | Description |
|---|---|
home, machine | Les formes retenue et machine. Montrez home (ou fullLine) aux gens ; gardez machine. |
fullLine | Le code tel qu’on le dit et le peint : Intendance 137, Bonapriso 14 01. |
check | Le chiffre de contrôle de la forme machine, pour les systèmes ; ne le montrez jamais aux gens. |
officialName | Le nom complet de la zone, en petits caractères. Absent quand il est égal à name. |
coverage, officialAddress | Sur une rue codifiée de Yaoundé ou de Douala, official-street et la rue de la commune : affichez-la d’abord, avec le code à côté. |
nameProvisional | La commune peut encore choisir le nom court. Le numéro ne change jamais ; le nom peut changer une fois, et l’ancien reste valable. |
municipality | L’arrondissement. Contexte seulement, déduit de la position : jamais nécessaire pour décoder. |
status | provisional, confirmed (les habitants sont d’accord) ou retired (plus de logement à cet endroit ; le numéro n’est jamais réutilisé). |
entrance, location, plusCode | Où aller : le portail quand il est cartographié, sinon le bâtiment principal, avec son Plus Code. |
lote, structures | La concession et le profil de chaque bâtiment : classe, taille, étages quand on les connaît, état, chacun avec sa source. Les logements ne portent jamais rien sur les personnes 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 dans aucun bloc de son nom).
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. Un point de Douala I répond Douala Bar 1215.
curl "https://map.nways.ng/v1/homecodes/at?lat=4.05&lng=9.70"Recherche
Un code tapé dans la recherche N-Ways, sous n’importe laquelle de ses formes, 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 toutes les formes, vérifie la forme machine et lit et écrit les codes de point, sans réseau : python3 engine/reference/cm_engine.py resolve Bonapriso 14 01. Ses vecteurs de conformité (engine/reference/vectors.json) sont le test de votre propre implémentation, et engine/data/register.json contient chaque zone et chaque nom avec ses blocs figés. registry/ contient chaque code émis, un fichier par arrondissement, et le serveur du registre dans server/ le sert depuis votre propre machine.
Hébergez-les vous-même
Vous pouvez servir les codes du Cameroun 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 :
git clone https://github.com/n-ways/open-addresses-cameroon
cd open-addresses-cameroon/server
docker compose up -dLe 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 prenez | Licence | Ce qu’elle vous demande |
|---|---|---|
| Le moteur, le serveur et les outils | Apache 2.0 | Gardez 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.0 | Créditez « N-Ways Addressing for Cameroon, © 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.0 | Cré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.