Un développeur a mis à disposition un index gratuit et consultable qui répertorie chaque port maritime et chaque aéroport de la planète — 3 804 ports et 9 640 aéroports — sans nécessiter d'inscription ni de paiement. Le site, theportindex.online, permet aux utilisateurs de parcourir les données ou de télécharger l'ensemble du jeu de données au format CSV ou JSON.

Pourquoi cet index était nécessaire

Le créateur a cherché à trouver une liste propre et à jour des ports maritimes du monde et s'est heurté à un obstacle : la plupart des offres commerciales sont protégées par des paywalls, et les listes accessibles publiquement sont souvent obsolètes de plusieurs années. S'appuyer sur des données incomplètes ou périmées oblige les analystes à passer des heures à nettoyer des feuilles de calcul, un coût qui s'accumule dans toute l'industrie. En regroupant trois sources publiques — un index des ports du gouvernement américain, un répertoire international de codes de localisation et une base de données d'aéroports issue du crowdsourcing — le développeur a assemblé une référence unique et unifiée que chacun peut utiliser instantanément.

Les sources de données en coulisses

  • NGA World Port Index – une compilation du gouvernement américain qui fournit les détails de base pour chaque port maritime reconnu.
  • UN/LOCODE – le système de codes de localisation des Nations Unies, qui ajoute des identifiants standardisés pour les ports et les aéroports.
  • OurAirports – une collection d'informations sur les aéroports maintenue par la communauté, incluant la longueur des pistes et les coordonnées.

Chaque source offre une partie du tableau, mais aucune ne fournit seule un catalogue prêt à l'emploi et consultable. Les fusionner a nécessité plus qu'un simple copier-coller ; le développeur a dû résoudre les incohérences, les doublons et les champs manquants.

Nettoyage des données : trois leçons durement apprises

  1. Les sauts de ligne intégrés cassent les parseurs naïfs – les fichiers CSV contenant des sauts de ligne à l'intérieur de champs entre guillemets ne peuvent pas être découpés avec une commande simple de type « split on newline ». Un parseur CSV approprié est essentiel pour maintenir l'intégrité des lignes.
  2. Les valeurs aberrantes cachent des erreurs – certains terminaux pétroliers affichaient des profondeurs de 900 mètres, un chiffre qui correspond à des bouées d'amarrage et non à des ports. Filtrer les chiffres invraisemblables était nécessaire pour que les classements basés sur la profondeur restent crédibles.
  3. Les zéros sont souvent des valeurs de substitution – une profondeur enregistrée comme étant de zéro signifie généralement que la mesure est inconnue, et non que l'eau est plate. Traiter le zéro comme une donnée manquante préserve l'intégrité de toute analyse dépendant de la profondeur.

Apporter de la valeur au-delà des chiffres bruts

L'index fait plus que lister des coordonnées. Pour les ports, il traduit la profondeur en classes de navires pouvant accoster en toute sécurité, transformant une simple métrique en un outil d'aide à la décision pratique. Pour les aéroports, la longueur des pistes est associée aux types d'avions pouvant y opérer, offrant aux pilotes et aux planificateurs une évaluation rapide des capacités.

Une grille spatiale relie chaque port à ses aéroports les plus proches et vice versa, transformant le site en un outil d'exploration. Les utilisateurs peuvent découvrir, par exemple, quels aéroports se trouvent à une courte distance de conduite d'un port donné — une fonctionnalité utile pour la planification du fret multimodal.

Construire un moteur de site statique à grande échelle

Tout le front-end fonctionne avec Next.js et la génération statique. Pendant le processus de build, environ 14 000 pages — une pour chaque port et aéroport — sont pré-rendues. Comme il n'y a ni base de données ni logique côté serveur, le site n'engendre aucun coût de calcul continu ; il repose sur un réseau de diffusion de contenu (CDN) qui sert les pages instantanément dans le monde entier.

Pièges SEO et correction du contenu pauvre

Le téléchargement de milliers de pages basées sur des modèles peut alerter les moteurs de recherche, qui pourraient juger le site comme ayant un « contenu pauvre » (thin content) et pénaliser son classement. Le développeur a rencontré ce problème lorsqu'une demande AdSense a été rejetée. La solution a consisté à laisser l'ensemble des pages accessibles aux visiteurs, tout en ajoutant une directive noindex à toutes les pages, sauf aux 400 pages de haute qualité les plus importantes de chaque catégorie. Cela indique aux robots d'indexation que seules les pages les plus précieuses doivent apparaître dans les résultats de recherche, préservant ainsi la crédibilité tout en offrant l'ensemble du jeu de données.

Qui en bénéficie, et quelles sont les limites

  • Les entreprises de logistique peuvent vérifier rapidement si un cargo respecte les limites de profondeur d'un port sans avoir à fouiller dans de multiples PDF.
  • Les planificateurs aériens bénéficient d'un accès instantané à la correspondance piste-avion, ce qui est utile pour les études de faisabilité des routes.
  • Les développeurs et chercheurs reçoivent un export propre et lisible par machine qui peut être importé dans des outils personnalisés.

Quelle est la suite du projet

Le créateur sollicite les retours de la communauté sur des fonctionnalités supplémentaires.

À retenir

En s'attaquant aux casse-têtes du nettoyage des données, en ajoutant des couches d'inférence et en contournant les coûts de serveur grâce à la génération statique, le développeur démontre qu'une architecture épurée peut offrir un outil d'utilité mondiale — à condition d'accepter des mises à jour périodiques et de rester attentif aux directives des moteurs de recherche.