Points clés
- L'application web a été conçue spécifiquement pour résoudre la confusion causée par une récente panne de métro à San Francisco.
- Le développement a largement reposé sur le « vibe coding », une méthode où les assistants IA génèrent la majorité du code source sur la base des instructions du développeur.
- Le système ingère des images en temps réel des schémas de circuit du métro, accessibles publiquement via le site web SF Muni Central.
- Un obstacle technique important a consisté à activer manuellement le support GPU de PyTorch après avoir découvert qu'il était désactivé dans le script généré par l'IA.
- Le projet complet, nommé munimet.ro, a été rendu public sous la licence open-source standard MIT.
- L'application tente de reproduire la simplicité utile du concept « Do I Need an Umbrella » pour les décisions de transport en commun.
Résumé rapide
Une récente perturbation du réseau de transport de San Francisco a suscité la création d'une nouvelle application web conçue pour répondre à une simple question de navetteur : devrais-je prendre le métro ou un bus ? Inspirée par l'utilité du site web « Do I Need an Umbrella », ce nouvel outil exploite l'apprentissage automatique pour interpréter les données du métro en temps réel.
Le projet, développé par un codeur indépendant, démontre l'application pratique de l'IA dans la mobilité urbaine. En analysant les schémas de circuit disponibles publiquement du système SF Muni Central, l'application vise à fournir des informations plus claires pour les voyageurs quotidiens naviguant dans l'infrastructure de transport complexe de la ville.
L'étincelle d'inspiration
La genèse du projet a été une expérience spécifique et frustrante : une panne de métro qui a laissé les navetteurs en attente et à la recherche de réponses. Cet incident a mis en évidence un manque d'informations de transit accessibles et prédictives. Le développeur a cherché à construire un outil qui pourrait répondre de manière proactive à la question cruciale de savoir s'il faut s'appuyer sur le système de métro à un moment donné.
En adoptant une philosophie de développement moderne, le créateur a décidé de « coder en mode vibe » l'application autant que possible. Cette approche consiste à utiliser des assistants de codage IA pour générer la majeure partie du code, permettant au développeur de se concentrer sur l'architecture de haut niveau et la résolution de problèmes plutôt que d'écrire chaque ligne de code manuellement.
- Déclenché par une interruption réelle du service de métro
- Modélisé sur la simplicité utile de « Do I Need an Umbrella »
- Concentré sur le dilemme spécifique du navetteur : métro vs bus
- Adopté une méthodologie de « vibe coding » pour un développement rapide
« Cela semblait être le bon outil pour le travail, mais cela aurait fait gagner du temps si je l'avais construit moi-même à partir de zéro. »
— Développeur, munimet.ro
Construction avec l'aide de l'IA
Le processus de développement a commencé avec Claude Code, un assistant de programmation IA, chargé de créer un script d'arrière-plan. Ce script était conçu pour télécharger automatiquement les images des schémas de circuit en temps réel disponibles via le domaine sfmunicentral.com, capturant l'état actuel du réseau de métro.
Après l'acquisition des données, l'étape suivante a consisté à créer un outil pour étiqueter ces images. L'IA a généré un étiqueteur d'images en utilisant la bibliothèque tkinter. Cependant, cette phase s'est avérée plus complexe que prévu, nécessitant une intervention manuelle substantielle avant que le processus d'étiquetage ne puisse commencer efficacement.
« Cela semblait être le bon outil pour le travail, mais cela aurait fait gagner du temps si je l'avais construit moi-même à partir de zéro. »
Malgré les obstacles initiaux avec l'outil d'étiquetage, le projet est passé à sa phase techniquement la plus intéressante : la transformation des données d'images étiquetées en prédictions exploitables en utilisant PyTorch. L'assistant IA a écrit le script initial pour ce composant d'apprentissage automatique avec une relative rapidité, bien qu'il ait encore nécessité un ajustement manuel minutieux.
Défis techniques et raffinements
Alors que le modèle d'apprentissage automatique commençait à traiter les données, le développeur a rencontré les nuances inévitables du travail avec les réseaux neuronaux. Le script généré par l'IA a signalé certaines images comme des valeurs aberrantes, incitant le développeur à s'engager dans un processus de réexamen et de révision manuelle pour garantir la précision du modèle.
Dans un moment de réalisation que de nombreux développeurs peuvent comprendre, un goulot d'étranglement de performance significatif a été découvert en profondeur du processus de développement. Le script initial généré par Claude n'avait pas activé le support GPU de PyTorch, ce qui signifiait que le traitement intensif des images s'exécutait sur le CPU au lieu de la carte graphique.
« J'avoue que j'ai été embarrassant loin avant de réaliser que Claude n'avait pas activé le support GPU de pytorch ; un vrai moment de facepalm de ma part. »
Cette omission a nécessité une correction manuelle pour débloquer la pleine puissance de calcul du matériel, une étape cruciale pour garantir que l'application puisse traiter les données efficacement et fournir des prédictions opportunes aux utilisateurs.
Disponibilité open-source
Le résultat final de ce parcours de développement est munimet.ro, une application web qui sert de page de statut basée sur l'apprentissage automatique pour le système de métro local. Le projet témoigne du potentiel de la combinaison d'outils IA avec une surveillance humaine pour résoudre des problèmes pratiques et quotidiens.
Pour ceux qui s'intéressent à la mise en œuvre technique ou souhaitent contribuer, le projet n'est pas une boîte fermée. Le code source complet a été rendu public sous une licence MIT. Cette approche open-source invite à l'examen, à la collaboration et à l'adaptation par d'autres développeurs de la communauté.
- Nom de l'application : munimet.ro
- Licence : MIT (open-source permissive)
- Dépôt : Hébergé sur GitHub
- Technologies principales : Python, PyTorch, Tkinter
Perspectives d'avenir
La création de munimet.ro illustre une tendance croissante où les développeurs individuels peuvent prototyper rapidement des applications complexes en utilisant des copilotes IA. En abordant un point de douleur spécifique dans le transport urbain, le projet dépasse un simple exercice de codage pour offrir une utilité potentielle aux navetteurs de San Francisco.
Bien que l'application soit actuellement une preuve de concept, elle met en évidence l'accessibilité des outils d'apprentissage automatique pour résoudre des problèmes de niche. La volonté de partager le code source publiquement garantit que le projet peut évoluer, inspirant potentiellement des outils similaires pour d'autres systèmes de transport ou des défis de visualisation de données entièrement différents.
« J'avoue que j'ai été embarrassant loin avant de réaliser que Claude n'avait pas activé le support GPU de pytorch ; un vrai moment de facepalm de ma part. »
— Développeur, munimet.ro
Questions fréquemment posées
Qu'est-ce que munimet.ro ?
Munimet.ro est une application web basée sur l'apprentissage automatique conçue pour prédire le statut du système de métro Muni de San Francisco. Elle analyse les images des schémas de circuit en temps réel pour aider les navetteurs à décider s'ils doivent prendre le métro ou un bus.
Continue scrolling for more










