Météo France Sports
Plateforme web de prévisions météo pour la F1
Bilan projet au 30/11/2017
Mathieu DARTIGUES
Sommaire
- Contexte
- Equipe de départ
- Réalisation
- Rétro planning
- Infra - Technos - Qualité
- Démo
- Leçons
- Ce qui n’a pas marché
- Ce qui a marché
- Finances
- Demain
La grande histoire...
1 Contexte
Météo France Sport
- Service technico-commercial sport de Météo France
- Vend presta d’assistance et prévision auprès d’organisateurs d’événements sportifs
- Tennis : 3 des 4 tournois du Grand Chelem
- Formule 1
- Rallyes et courses d’endurance partout dans le monde
- Voile : assistances voile et routages (Vendée Globe, Transat Jacques Vabre, Tour de France à la Voile…)
- Football : matches de Ligue 1 et 2
FiA
- Client du client
- Organisateur du championnat de Formule 1 (mais pas que)
- Renouvelle le marché de la p/f de prévision F1 / F2
- P/F utilisée par la FiA et les écuries automobiles
Prestation
- P/F générique pouvant être déclinée sur différents événements sportifs
- Première application = Formule 1
Réaliser une plate-forme web de mise à disposition des prévisions météo à l’attention des clients professionnels de MFS
2 Equipe de départ
eco: tuteur
mda: front
jec: back
afi: webdesign
ebr: consultant
3 Réalisation
Rétroplanning
- Début projet Novembre 2016
- 1er GP Australie 25 Mars 2017
- 1ers essais à Barcelone en Février 2017
- 1ère démo le 21 Novembre 2016
- Livraison première version début Décembre 2016
- P/F livrable Janvier 2017
Infrastructure
Deux zones de déploiements
- On Track = sur le circuit, 2 VMs, sans accès SSH (TeamViewer)
- Off Track = chez OVH, 1 VM, avec accès SSH
Technos
- Backend
- Django REST Framework
- PostGreSQL
- Nginx
- Swagger
- Frontend
- React
- Redux
- Axios
- Plotly
- Leaflet
- Monitoring : New Relic
Qualité
IC / DC
- Déploiement continu de la partie front sur surge.sh avec 2 environnements dev & staging
- Infra préprod° mise à dispo par MFS
- Pas de tests implémentés ni front ni back…
Démo
Forecast by week
Forecast by day
Nowcasting (zoom)
Observations
Pipelines gitlab
Réeloplanning
- Début projet Novembre 2016
- 1er GP Australie 25 Mars 2017
- 1ers essais à Barcelone en Février 2017
- 1ère démo le 21 Novembre 2017
- Livraison première version début Décembre 2017
- P/F
livrable Janvierlivrée mi Mars 2017 - Problèmes de performances en Avril / Mai / Juin 2017
- Ajout monitoring en Juin 2017
- Stabilisation de la p/f et prise en charge des déploiements en Juin 2017
- Ajout du monitoring sur les 3 p/f et mise en place d’alertes à l’été 2017
4 Leçons
Ce qui n'a pas marché
- Faire confiance à un serveur WMS...
- des requêtes WMS via du Django qui fait proxy… => proxy nginx
- une latence du serveur WMS => cache nginx (ou autre)
- Utiliser le cache Django avec beaucoup d’utilisateurs => cache nginx
- S’arrêter à une prestation de développement dans un contexte aussi sensible que la F1 => prise en charge de la maintenance
- Sous estimer la performance => tests de charge
Ce qui a marché
- Etre accompagné sur une nouvelle techno au départ => tutorat indispensable !
- Avoir des maquettes d’Antonio => cap à atteindre
- Etre réactif en cas de coup dur côté client => confiance + prise sur soi
- Mobiliser les expertises Makina => confiance
- Développer la p/f dans un délai court => challenge...
- Ne pas prendre parti avec les formats de données fournis par le client côté backend => pérennité
- Proposer des alternatives à un client à l’écoute => confiance
- Monitorer l’infra et l’application grâce à New Relic => gestion du risque
- Faire participer le client avec la vision du board gitlab
- Documenter l'API via un swagger ou autre
En résumé
- Humainement - client
- Instaurer la confiance avec le client
- Etre force de proposition
- Faire participer le client
- Humainement - makina
- Accompagner les développeurs par d'autres dévs
- Mobiliser les expertises Makina
- Techniquement
- Se méfier de l'archi en place côté client
- Cacher tout ce qui peut l'être
- Ne pas négliger la performance
- Monitorer infra & applicatif
5 Finances
Finances
- Client acceptant avenants et propositions d’évolutions bénéfiques
- Régularisation du temps d'assistance
- Bypass WMS
- New Relic
- Rapport de confiance établi favorable à de nouvelles opportunités
6 Demain
Evolutions
- MFS poursuit le projet avec la FiA, et avec nous !
- Démarche collaborative pour définir l'évolution de la p/f
- Evolutions à venir
- Réduction du temps entre arrivée donnée MFS et affichage à l'utilisateur
- Critiquer UX & refondre la navigation archive
- Déployer la p/f sur un autre événement
- Performer le cache
- Améliorer la connaissance du comportement utilisateur (piwik / GA)
- Avoir un rendu 3D du terrain et de l’imagerie radar
- Avoir une application mobile (PWA?)
La petite histoire...
1 Photo finish
2 Le point bonus
Merci !
mfs-bilan-projet-2017
By mdartic
mfs-bilan-projet-2017
- 634