{"id":16560669,"url":"https://github.com/mathieu2301/pbsc-tracker","last_synced_at":"2025-06-10T13:05:43.034Z","repository":{"id":92266881,"uuid":"338068952","full_name":"Mathieu2301/PBSC-Tracker","owner":"Mathieu2301","description":"Expérience de tracking des vélos en libre service fonctionnants avec PBSC","archived":false,"fork":false,"pushed_at":"2023-06-03T15:00:07.000Z","size":194,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-05T03:26:56.251Z","etag":null,"topics":["ai","data-analysis","data-mining","data-science","data-visualization","libelo","machine-learning","pbsc","valence","velib-tracker"],"latest_commit_sha":null,"homepage":"https://libelotracker.colmon.fr","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Mathieu2301.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-02-11T15:29:20.000Z","updated_at":"2023-06-03T15:04:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"9ad6bcc7-e996-4f31-8ee7-af65a450fb9b","html_url":"https://github.com/Mathieu2301/PBSC-Tracker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mathieu2301%2FPBSC-Tracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mathieu2301%2FPBSC-Tracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mathieu2301%2FPBSC-Tracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mathieu2301%2FPBSC-Tracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mathieu2301","download_url":"https://codeload.github.com/Mathieu2301/PBSC-Tracker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mathieu2301%2FPBSC-Tracker/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259081015,"owners_count":22802400,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","data-analysis","data-mining","data-science","data-visualization","libelo","machine-learning","pbsc","valence","velib-tracker"],"created_at":"2024-10-11T20:29:43.070Z","updated_at":"2025-06-10T13:05:43.007Z","avatar_url":"https://github.com/Mathieu2301.png","language":"Vue","readme":"# PBSC Tracker\n\nExpérience de tracking des vélos en libre service fonctionnants avec [PBSC](https://www.pbsc.com/fr)\n\nLes données stockées sont celles de la ville de Valence dont le système utilisé est [Libélo](https://www.vrd-mobilites.fr/velo/).  \nLes résultats de cette expérience sont disponibles sur [libelotracker.colmon.fr](https://libelotracker.colmon.fr/)\n\nL'objectif de ce projet est de développer un algorithme de prédiction permettant de calculer,\nlors du retrait d'un vélo, les probabilités des différentes destinations.\n\n## Fonctionnement actuel\n\nUn serveur se charge de récupérer la liste des stations et d'enregistrer le nombre de vélos lorsqu'il y a un changement.\nEn résulte donc l'évolution des quantités de vélos de chaques stations de laquelle on peut déduire une liste d'opérations entrées/sorties de vélos.\nPour émettre des hypothèses sur les trajets on procède de la manière suivante:\n\n### **➜ Étape 1: Premier balayage des trajets courts et directs**\n\n- Pour chaque arrivée dans une station, on regarde la liste des départs qui précèdent cette arrivée.\n- On élimine les départs qui mettraient plus de temps que le trajet théorique le plus élevé\n(Pour Valence, le trajet \"Portes-lès-Valence -\u003e Romans\" a une durée théorique de 1h30)\n- Pour chaque potentielle station départ, on compare le temps passé avec le temps de trajet théorique calculé par *GMaps Directions API*.\n- On trie les hypothèses (différence \"réelle/théorique\" la plus faible = probabilité plus élevée)\n- (Si l'hypothèse correspond à dire que la vitesse moyenne du cycliste était supérieure à 30km/h, on la considère directement fausse)\n- Les hypothèses de trajets cours sont prioritaires sur les trajets longs.\n\n### **➜ Étape 2: Résoudre les conflits**\n\n- Le premier balayage créera des conflits d'hypothèses.\n- Pour un conflit dans lequel plusieurs arrivées seraient affectées au même départ, c'est l'arrivée ayant le nombre d'hypothèses\n**le plus faible** qui est prioritaire.\n\n### **➜ Étape 3: Allers-retours et grands détours**\n\n- Le premier balayage ne prend pas en compte les allers-retours et les grands détours. Ces types\nde trajets serons ceux qui restent à traiter donc, si une arrivée n'a pas trouvé d'affectation à un départ:\n- On regarde les départs qui précèdent cette arrivée et qui mettraient **plus de temps** que le trajet théorique le plus élevé.\n- Les départs potentiels associés à ces arrivées seront triées dans l'ordre du trajet le plus court au trajet le plus long en\ngardant l'hypothèse d'un aller-retour (qui sera donc le premier résultat).\n\n## Participer\n\nN'hésitez pas à créer une discussion [ici](https://github.com/Mathieu2301/PBSC-Tracker/discussions).  \n\nVous pouvez consulter:\n\n- Les résultats des expériences: [libelotracker.colmon.fr](https://libelotracker.colmon.fr/)\n- La liste des stations Libélo: [/getStations](https://libelostats.apis.colmon.fr/getStations)\n- Les données stockées en brut: [/getRawData](https://libelostats.apis.colmon.fr/getRawData)\n- Les données exploitables: [/getData](https://libelostats.apis.colmon.fr/getData)\n- Les temps de trajets théoriques: [/getPaths](https://libelostats.apis.colmon.fr/getPaths)\n\nL'API PHP est hébergée sur [libelostats.apis.colmon.fr](https://libelostats.apis.colmon.fr/) et fonctionne avec le système [Libélo](https://www.vrd-mobilites.fr/velo/) de Valence.\nL'endpoint `/update` est automatiquement appelé dès qu'un changement est détecté par le script `updater/main.js` pour assurer le suivi précis des données.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmathieu2301%2Fpbsc-tracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmathieu2301%2Fpbsc-tracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmathieu2301%2Fpbsc-tracker/lists"}