Source

REX 2011 @PilotSystems&Libération / cockpit.rst~

Cockpit
=======

Cockpit, une application d’e-mailing (envoi massif de newsletters en ligne, 
statistiques, gestion des désabonnements, ouvertures de mails, erreurs, etc.) 
développée par Pilot Systems et utilisant la technologie Django. CaaS (Cockpit as
a Service) compte parmi ses clients l’AFDAS, la fondation Casques Rouges, l’INSIA
ou encore France Premium et Libéfood.

Je suis intervenu sur cockpit dans le cadre de l'internationalisation de l'application.
Il a fallut mettre en place le système de traduction et implémenter la traduction
anglaise.

Pour autant
j'ai du me confronté à une construction du langage extra-ordinaire le monkeypatch. En 
soit le monkeypatch n'ai pas dur à comprendre, c'est l'opération qu'il réalise
qui est importante. Pour l'occasion, le module d'administration a été monkeypatché
pour supporté l'ordonnancement des éléments du menu selon un critère défini par le 
programmeur. Ceci avait l'effet indésirable d'évaluer la chaine de caractère avant
son utilisation et donc avant que le contexte de langue soit défini et provoquait
l'affichage des éléments du menu toujours dans la langue par défaut. La solution
a été d'utilisé subtilement un proxy d'évaluation paresseuse sur l'objet en question.