Autolib’, un SI d'entreprise avec Django

Service, architecture, organisation et outils

img/avenue-foch.jpg

Presenter Notes

Le service Autolib’

Location de véhicules électriques :

  • de courte durée
  • en libre service 24/7
  • en trace directe
img/autolib-et-borne-abonnement.jpg

Presenter Notes

Le service Autolib’

img/suivez-le-guide_1_jeMabonne_1.jpg

À la borne d'abonnement, en visioconférence.

(Ou bien sur le site web.)

Presenter Notes

Le service Autolib’

img/suivez-le-guide_2_jeLoue_1.jpg

À la borne de location, avec mon badge RFID.

Presenter Notes

Le service Autolib’

img/suivez-le-guide_3_jeRoule_1.jpg

La voiture me connaît, et je peux appeler le centre opérationnel.

Presenter Notes

Le service Autolib’

img/suivez-le-guide_4_jePasse_1.jpg

À la borne de charge, avec mon badge RFID.

Presenter Notes

Feuille de route

  • 16/12/10 : Bolloré remporte l'appel d'offres pour Autolib’
  • 01/02/11 : début des travaux sur le service
  • 01/03/11 : 2 développeurs
  • 01/04/11 : 4 développeurs
  • 01/06/11 : 10 développeurs
  • 26/06/11 : proof-of-concept
  • 02/10/11 : beta test
  • 05/12/11 : ouverture au grand public
  • ??/04/12 : ouverture aux entreprises
  • et beaucoup de projets à venir !

Presenter Notes

Rôle de Polyconseil

  • Cadrage stratégique, définition et spécification du service
  • Développement du système d'information métier et du site web
  • Télécoms, hébergement, exploitation, supervision, déploiement, etc.
img/role_de_polyconseil.png

Presenter Notes

Architecture technique générale

img/schema_si_autolib.png

Presenter Notes

Architecture du SI métier

img/applis_si_autolib.png

Presenter Notes

Librairies

  • Django, PostGIS, South
  • django-cms, django-cms-search, haystack, whoosh
  • piston
  • soaplib, suds
  • django-resto, django-xworkflows, django-ajax-selects
  • django_compressor
  • Google Maps
  • etc.

Presenter Notes

Outils

  • Mercurial (15 000 commits)
  • Trac (2 000 tickets)
  • Jenkins (5 000 builds)
  • unittest (1 800 tests), lettuce (1 200 tests)
  • factory_boy, fudge
  • pylint, coverage
  • Sphinx (170 pages)
  • Sentry

Presenter Notes

Organisation

Contact client

  • Spécifications légères et travail itératif
  • Ré-orientations fréquentes des priorités
  • "Gardes du corps" : AMOA et helpdesk

Développement

  • Une ou deux personnes par sujet
  • Review des commits avant chaque release

Mise en production

  • Une release par semaine
  • Passage de dév en prod sans recette (!)

Presenter Notes

Pour la route

Ne pas dériver sur :

  • les coding rules,
  • la couverture de tests,
  • l'organisation du code,
  • l'ambiance de l'équipe.

Presenter Notes

Questions ?

Presenter Notes