Codes d’adresse du Sénégal
Chaque concession du Sénégal a un code d’adresse. 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 d’adresse
Chaque concession du Sénégal, dans les 46 zones, a un code d’adresse N-Ways : le nom court de son quartier, de son village ou de sa cité et un numéro court, comme Ouakam 2512 ou Touba Mosquée 22 950. 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 valident dans l’application N-Ways.
- Forme retenue, celle que les gens disent et tapent :
Ouakam 2512. Majuscules, accents, graphies française ou wolof (Wakam 2512), avec ou sans espaces. - Forme écrite, sur les plaques et les formulaires :
OUAKAM 2512 · DAKAR(avec la zone). Les gens ne voient ni ne tapent jamais de lettre de contrôle ; elle n’est que dans la forme canonique. - Forme canonique, pour les systèmes, les QR codes et les liens :
SN-DKR-0080-2512-J(zone, indice du lieu, numéro, lettre de contrôle). Personne n’a besoin de la retenir. - Les codes de point nomment tout point sans concession, calculés hors ligne sur la grille UTM 28N :
DKR 5553 1512.
Le modèle, le moteur et le registre de toutes les adresses sont ouverts : github.com/n-ways/open-addresses-senegal. Le livre blanc explique chaque règle.
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 citez « N-Ways Addressing for Senegal, © 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 l’une des formes ci-dessus, encodée pour l’URL. Aucune clé n’est nécessaire.
curl "https://map.nways.ng/v1/homecodes/Ouakam%202512"{
"country": "SN",
"home": "Ouakam 2512",
"machine": "SN-DKR-0080-2512-J",
"name": "Ouakam",
"nameProvisional": false,
"municipality": "Dakar",
"fullLine": "OUAKAM 2512 · DAKAR",
"spoken": "Ouakam, vingt-cinq, douze",
"status": "provisional",
"issued": "bulk",
"entrance": { "lat": 14.7247067, "lng": -17.4849374, "kind": "centre", "source": "map" },
"location": { "lat": 14.7247067, "lng": -17.4849374 },
"plusCode": "7C64PGF8+V2P",
"lote": { "use": "residential", "class": "res.maison", "kind": "un_batiment", "structures": 1, "floorAreaM2": 32.7, "enclosed": false },
"credit": "N-Ways Addressing for Senegal, © N-WAYS LIMITED (nways.ng)",
"creditUrl": "https://github.com/n-ways/open-addresses-senegal"
}| Champ | Description |
|---|---|
home, machine | Les formes retenue et canonique. Montrez home aux gens ; enregistrez machine. |
fullLine | La forme écrite, comme sur une plaque : avec la zone. La lettre de contrôle est dans la forme canonique, pour les systèmes seulement. |
officialName | Le nom complet du lieu, en petit (S.I.C.A.P. Liberté Six pour Liberté 6). Absent quand il est égal à name. |
coverage, officialAddress | Là où la commune a numéroté la porte : official et son adresse telle qu’écrite (à montrer en premier, le code à côté) ; official-pending dans les quartiers du programme d’adressage municipal dont les numéros ne sont pas encore partagés. Absent ailleurs. |
nameProvisional | La commune doit encore choisir le nom court. Le numéro ne change jamais ; le nom peut changer une fois. |
status | provisional, confirmed (les habitants l’ont validé) ou retired (plus de logement ; le numéro n’est jamais réutilisé). |
entrance, location | Où aller : le portail s’il est cartographié, sinon le bâtiment principal de la concession. Calculez l’itinéraire vers ce point. |
postcode | Le code postal de La Poste, seulement là où il est cartographié, pour le contexte. Il n’est jamais tiré du code. |
lote, structures | Le profil de la concession et de chaque bâtiment : classe (res.maison, com.boutique…), taille, niveaux, é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’aucun lieu ne porte, un numéro hors de tout bloc, une mauvaise lettre de contrôle).
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 "https://map.nways.ng/v1/homecodes/at?lat=14.7247&lng=-17.4849"Recherche
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 toutes les formes, vérifie la lettre de contrôle, et code et décode les codes de point sans réseau : python3 engine/reference/sn_engine.py find "Ouakam 2512". Ses vecteurs de test sont le test de conformité de votre propre implémentation, et registry/ contient toutes les adresses attribuées, un fichier gzip par zone.
Hébergez-les vous-même
Vous pouvez servir les codes du Sénégal 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-senegal
cd open-addresses-senegal
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 Senegal, © 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.