Documentation – Harmonisation des nom de voies (Fonction `beautify`) - BaseAdresseNationale/ban-plateforme GitHub Wiki

Documentation – Embellissement des nom de voies (Fonction beautify)

La fonction beautify est utilisée pour harmoniser et améliorer la présentation des noms de voies dans la Base Adresse Locale (BAL).

🔍 Objectifs

  • Uniformiser la casse (capitalisation intelligente)
  • Nettoyer les caractères indésirables
  • Harmoniser la typographie (apostrophes, espaces)
  • Respecter les usages liés aux adresses françaises

🛠️ Étapes de transformation

  1. Nettoyage

    • Suppression des espaces, tirets et apostrophes en début/fin de chaîne
    • Remplacement des formes comme D → D’ (ex. D ALLEMAGNE → D’ALLEMAGNE)
  2. Typographie

    • Passage en minuscules
    • Uniformisation des apostrophes (' ou ’) en apostrophe typographique suivie d’un espace (’ )
  3. Segmentation

    • Séparation en mots
    • Chaque mot est ensuite découpé en sous-parties via les tirets
  4. Capitalisation conditionnelle

    • Si le mot est un mot-outil (liste prédéfinie comme la, de, à…), il est laissé en minuscule
    • Si le mot est un acronyme (ZA, ZAC…) ou un chiffre romain, il est entièrement mis en majuscules
    • Tous les autres mots sont capitalisés (1ère lettre en majuscule)
  5. Recomposition

    • Reconstitution du nom de voie avec gestion propre des tirets et espaces
    • Nettoyage final des espaces superflus après apostrophes

📋 Exemples

Entrée brute Résultat embelli
" RUE DE LA ZA du 8 mai 1945 " Rue de la ZA du 8 Mai 1945
"L AIGLE D OR" L’Aigle d’Or
"AVENUE CHARLES DE GAULLE" Avenue Charles de Gaulle
"ALLEE DES ROMAINS III" Allée des Romains III

📦 Dépendance

  • lodash.trim (pour le nettoyage des bordures)