enRoute Blog
enRoute Blog

Innovation & Mobility blog by af83

Catégories


À découvrir


Suivez-nous


Innovation & Mobility blog by af83


af83 rejoint ITXPT

af83, la société qui commercialise les produits enRoute, est fière d’annoncer son adhésion à ITXPT, association internationale reconnue fédérant une multitude d’acteurs du transport, autorités publiques, opérateurs, fournisseurs de systèmes d’information et constructeurs, l’objectif étant la facilitation, l’adoption et [...]

Arnaud MerleArnaud Merle

Introduction

Chouette Core est né d’un fork de Chouette en février 2016. Initialement, le projet servait de base à IBOO, un gestionnaire de données statiques de nouvelle génération for Ile-de-France Mobilités (Qui sera utilisé pour rassembler la donnée d’offre transport public de 100 opérateurs de la région Ile-de-France)

Depuis ce fork, l’équipe af83 / enRoute a travaillé sur une mise-à-jour de grande envergure et repris le projet initial dans son intégralité. À l’heure actuelle, après 5000 commits, tous les acteurs supportant le fork Chouette ont donné leur aval à la diffusion open source de ce travail sous la même licence — Cecill-B — que l’original.

Une version « core » dédiée au développement et au fork

Le premier objectif de Chouette Core est de proposer un code propre à destination des autres projets Chouette, en expurgeant les projets sources de caractères trop spécifiques.

  • Documentation (La documentation est déplacée dans le wiki associé au projet Github)
  • Outils de déploiement et de développements (Capistrano, Docker, Guard, etc.)
  • Code, traduction i18n, et autres ressources.

Ce travail de nettoyage est toujour en cours. l’équipe af83/enRoute gère actuellement deux projets basés sur Chouette core :  IBOO Chouette, et notre propre projet en SaaS, enRoute ITS Chouette. Fork et merger un projet de 1500 fichiers n’est pas simple, mais nous essayons de le simplifier.

En plus de proposer une base de code propre, Chouette core prétend également faciliter les contributions tierces. L’équipe af83/enRoute dispose d’un système d’intégration continue permettant un retour rapide sur les propositions de contributions (pull requests). Le même process est employé en interne par l’équipe af83/enRoute, et nous travaillons de manière ouverte par des pull requests également publiques. Rendez-vous sur la rubrique « Comment contribuer » ci-dessous pour toute infirmation sur la proposition d’idées de fonctionnalités.

Si vous cherchez une version aisément déployable de Chouette, restez connecté ! Pour le moment vous pouvez utiliser Chouette Core, tout en ayant besoin de compléter certaines parties de l’application afin de le lancer et le déployer. Nous vous invitons à publier votre propre version de Chouette « facile à installer » si vous décidez de le tenter !

Deux ans de travail

Le projet Chouette Core rendu public le mois dernier est le résultat de deux ans de travaux intensifs, 20000 heures-homme, et 5000 commits. Durant tout ce temps, un nombre important d’améliorations a été fait, incluant un redesign complet de l’interface, et un nouveau [ workflow ] permettant à de multiples équipes de travailler de manière collaboratives sur leurs données.

Nouvelle Interface Utilisateur

L’interface utilisateur a été entièrement revue. L’équipe de designer d’af83 / enRoute a travaillé durant un an pour concevoir une nouvelle hiérarchie visuelle permettant au mêlme type de données transport d’être manipulée de manière beaucoup plus fluide et efficiente.

Pour donner vie à ce nouveau design, les 100 vues web ont été réécrites (Ce qui représente plus de 350 fichiers). Les interfaces les plus complexes, telles que le calendrier, le modèle de trajet (Journey Pattern) et les modifications de modèles de véhicules sont désormais rendues interactives à travers le code javascript basé sur React.

  • saisie des horaires

  • édition des calendriers

 

  • édition des itinéraires

 

Les équipes de designers et développeurs d’af83/enRoute collectent et se nourrissent en continu des retours utilisateur pour adapter, améliorer et unifier les interfaces utilisateur et le résultat (expérientiel).

Les équipes de développeurs et d’UX de af83/enRoute amassent en continue des retours utilisateurs pour adapter, améliorer et relier les interfaces utilisateurs aux expériences accumulées..

Réferéntial

Ce que Chouette v1 appelait une base de données a désormais été déplacée dans un groupement de données que nous appelons un Referential, ce qui autorise des manœuvres plus fluide sur des jeux de données.

Les Referentials sont utilisés pour stocker:

  • Des données partielles (que l’on appelle jeux de données) ou des données intégrales fusionnées depuis un Workbench (Espace de travail) or agrégées depuis un Workgroup (Espace de travail) )
  • Des données importées
  • Des données créées et modifiées via l’interface

On utilise les Referentials pour fournir:

  • Une opération de fusion pour créer au fur et à mesure un jeu de données intégrales depuis des données partielles
  • Une opération de duplication pour reproduire des jeux de données passés, ou pour créer des sauvegardes
  • Productions de versions différentes (TODO) pour revenir instantanément à un état antérieur (pour des données de Workbench ou Workgroup par exemple)

La fusion

L’opération de fusion est une nouvelle caractéristique qui donne aux équipes un moyen de travailler sur leurs données morceau par morceau.

Alice peut entrer les trois prochains mois de données planifiées de la ligne A à partir de rien. Elle pourrait aussi dupliquer un jeu de données précédent à un nouveau laps de temps, ne faisant que les modifications nécessaires pour le garder à jour.

Bob peut importer un fichier GTFS avec des données des lignes B et C dans un nouveau jeu de données.

Ces jeux de données sont stockés dans le workbench d’Alice et Bob. Chaque jeu de donnée est indépendant et peut être modifié, dupliqué, archivé et manipulé séparément.

Pour travailler ensemble, Alice & Bob peuvent mettre à jour leur workbench avec des données finalisées en fusionnant leur jeux de données respectifs quand l’un et l’autre sont prêts. Les jeux de données fusionnées d’Alice fourniront de la donnée pour la ligne A pendant un laps de temps précis, et Bob fournira des données pour les lignes B et C.

Puis, Bob (ou Alice) pourrait récupérer le jeu de données utilisé pour la ligne A, faire une modification, et fusionner ces données modifiées. Les nouvelles mises à jour écraseront les données antérieures de la ligne A.

En utilisant ces opérations de fusion, les données finales du Workbench contiendront toujours les dernières meilleures avancées du travail d’Alice et Bob.

Chouette effectue la fusion en inspectant scrupuleusement les données fournies. Par exemple, des nouveaux itinéraires seraient créés, ceux déjà en place seraient gardés, ceux mis à jour seraient créés à nouveaux, et les itinéraires désuets seraient supprimés.

Un nouveau concept de “signature commerciale” est maintenant présente dans chaque modèle de données dans l’application (par exemple, Route, JourneyPattern, RoutingConstraintZone, Footnote). Chaque modèle a maintenant une signature calculée par Chouette basée sur les informations pertinentes de ceux-ci. Pendant une fusion, on considère deux itinéraires différents avec la même signature comme le “même” itinéraire.

L’opération de fusion influence ces signatures pour comprendre quelles données doivent êtres changées pour correspondre au dernier jeu de données fourni. Les utilisateurs n’auront plus besoin d’effectuer cette tâche eux-mêmes, et peuvent préparer leurs données indépendamment.

Workbench, workgroup

L’équipe d’Alice et Bob travaille dans un Workbench dédié. Ils peuvent en plus collaborer avec d’autres équipes qui partage le même Workgroup.

Chaque équipe est responsable de son Workbench et des données finales produites. Ils peuvent fusionner de nouvelles données ou revenir instantanément à un état final précédent pour fournir le jeu de données le plus précis au Workgroup.

Plusieurs équipes peuvent fournir des données pour les mêmes lignes. Dans ce cas, chaque équipe pourra voir les jeux de données des autres équipes pour les lignes partagées. Avec de la coordination, cela encourage un travail collaboratif entre les équipes d’un Workgroup.

Les données complètes d’un Workgroup sont créées en agrégeant les données finales actuelles dans chaque Workbench.

L’administrateur du Workgroup contrôle la création des données du Workgroup. Si jamais il y a un problème, ils peuvent revenir instantanément à une version antérieure pour agréger les données. Un jeu de données antérieur peut aussi être choisi depuis le Workbench d’une équipe précise pour contourner des erreurs jusqu’à ce qu’elles soient corrigées.

Validation 2.0

L’outil de validation dans Chouette a été remanié.

Le moteur de validation est à présent totalement modulable. Les utilisateurs peuvent construire des ensembles de règles en sélectionnant des règles fournies par Chouette (environ 30 en ce moment). Chaque règle peut être modifiées individuellement. La description, la rigueur, et des caractéristiques spécialisées (comme la vitesse ou le format) peuvent être définies par l’utilisateur.

Des rapports de validation sont stockés dans la base de données et fournissent des résultats détaillés (même pour des millions de messages si nécessaire).

Les validations peuvent être mises en place pour fonctionner automatiquement dans le flux de travail d’un Workgroup. Les administrateurs des Workbench et des Workgroup peuvent définir les ensembles de règles des validations à utiliser à chaque étape du flux:

  • Après une importation
  • Avant une opération de fusion d’un Workbench
  • Après une fusion sur les données finalisées
  • Après une opération de regroupement sur tout le jeu de données résultant
  • Une vérification nocturne pour valider régulièrement des données d’un workbench non-modifié

D’autres versions de Chouette

L’AFIMB 3.4 original

Chouette Core est un fork de Chouette 3.2 apparu  en février 2016 (référence à l’étiquette “afimb-master” dans les archive de Chouette Core). La plupart des caractéristiques d’origines de Chouette sont maintenues, améliorées et enrichies. Certaines caractéristiques sont cachées ou désactivées (voir les détails ci-dessous). Gardez votre instance open-source 3.4 si vous considérez ces caractéristiques comme primordiales. On a effectué pas mal de travail depuis neuf mois pour faire de Chouette Core un substitut fluide. Notre objectif est de réactiver la plupart des caractéristiques de la version 3.4 Par exemple, nous travaillons sur des caractéristiques d’appui de GTFS. Le REPO publique de Chouette Core est une étape importante dans ce parcour, et vos contributions sont les bienvenues.

Références : https://github.com/afimb/chouette2

EnTur

Cette équipe norvégienne a intégré Chouette avec succès dans leur gestionnaire de données statiques nationale. Au mois d’avril, les équipes d’EnTur et d’af83/enRoute se sont rencontrées et ont créé une feuille de route pour intégrer des caractéristiques dont Entur avait besoin dans Chouette Core.

Références : https://github.com/entur and https://en-tur.no

Comment contribuer

Chouette est une application très large qui essaye de gérer des besoins commerciaux divers et variés. Évaluer un témoignage utilisateur et l’intégrer dans son ensemble dans le contexte de l’application prend plus de temps que de développer la caractéristique correspondante.

Rédigez une description de votre caractéristiques ou votre besoin, même si vous avez les moyens de le développer et postez votre description sur la liste de diffusion/le forum. La liste de diffusion dédiée à Chouette Core est disponible pour échanger sur des nouveaux points dans Chouette Core et étudier la meilleure solution (avant de commencer à coder).

 

Chouette Core | En Live

Introduction Chouette Core est né d’un fork de Chouette en février 2016. Initialement, le projet servait de base à IBOO, un gestionnaire de données statiques de nouvelle génération for Ile-de-France Mobilités (Qui sera utilisé pour rassembler la donnée d’offre transport public de 100 opérateurs de la région Ile-de-France) [...]

Arnaud MerleArnaud Merle

Chouette Core Open Source !

En 2016, Ile-de-France Mobilité initiait le développement de son concentrateur d’offre planifiée régional sur un socle open source, baptisé Chouette. Nous avons eu l’occasion de présenter cette solution en janvier, à l’occasion de la réunion trimestrielle dédiée aux acteurs du transport et des nouvelles mobilités : le Club Utilisateurs. [...]

Arnaud MerleArnaud Merle

Club Utilisateurs Chouette

Tout — ou presque ! — est affaire de design. L’orchestration numérique de la mobilité intelligente et de ses transformations ne fait pas exception. Ainsi, af83 conçoit et développe pour Ile-de-France Mobilité un aggrégateur de l’offre de transport régionale, destinée à être redistribuée en open data. Ce projet constitue une contribution [...]

Arnaud MerleArnaud Merle