Hi, I’m Manu.

I used to have a blog a couple of years ago. I have to admit that I missed it a little, so I decided to go back at it in 2014. I write about a bunch of different topics.

Why “plothole.net”? As defined on wikipedia,

a plot hole, or plothole is a gap or inconsistency in a storyline that goes against the flow of logic established by the story’s plot, or constitutes a blatant omission of relevant information regarding the plot, sometimes even contradicting itself. These include such things as unlikely behaviour or actions of characters, illogical or impossible events, events happening for no apparent reason, or, statements or events that contradict earlier events in the storyline.

This definition suits my life pretty well.

Here are a couple of links if you want to know more about me:

And last but not least, here is my resume.

Thanks for reading.

N.B. this site has been tested on the most recent versions of Safari and Chrome on Mac OS X, as well as Safari on iOS. If something seems broken on one of those browsers, shoot me an email. If you’re using another browser, I’m sorry. I don’t find fixing browser quirks very interesting, I do enough of it professionnally.

9 ans chez ELCA

Afin de rédiger un certificat de travail, mon employeur ELCA Informatique SA m’avait demandé de faire une liste des tâches accomplies. Sur une période de quasiment 9 ans, autant dire que les heures de travail se cumulent. Heureusement je suis parvenu à retrouver la plupart des informations grâce au système interne de notation de l’occupation, appelé “imputations”. Le résultat est une liste un peu indigeste, mais ça me sert principalement de référence, voire de complément à mon CV.

Développement

Mon activité principale a été le développement web, d’abord en PHP donc principalement côté serveur, puis en JavaScript côté client.

Plus de détails ici.

Offres

Avant qu’on m’assigne à des projets, j’ai participé à la rédaction d’offres.

Quelques exemples d’offres:

Plus de détails ici.

Spécifications

Quelqu’un chez ELCA avait jugé que j’avais de bonnes qualités rédactionnelles. On m’a donc demandé de rédiger des spécifications, une tâche que je n’ai pas trouvée très intéressante. Par contre, la création de maquettes graphiques m’a beaucoup plu.

Plus de détails ici.

Cours internes

Contrairement à d’autres entreprises, ELCA n’encourage malheureusement pas beaucoup la formation continue ou la visite de conférences. J’ai eu l’occasion de suivre 2 cours donnés par des collègues:

Depuis 2 ans, en dehors des heures de travail et avec aucun soutient financier de la part d’ELCA, j’ai commencé à aller à des meetups de JS Romandie, UX Romandie, Creative Mornings voire même Geneva RB.

Divers

Puisque je suis bilingue, on m’a à quelques occasion demandé de traduire des logiciels du français à l’allemand.

Mon bureau en 2005: grand bureau, petit écran, matériel beige, stylos, papier, post-its
Mon bureau en 2005: grand bureau, petit écran, matériel beige, stylos, papier, post-its
Mon bureau en 2012: petit bureau, grand écran (je n’aime pas le dual-screen), matériel noir, clavier US personnel, pas de papier
Mon bureau en 2012: petit bureau, grand écran (je n’aime pas le dual-screen), matériel noir, clavier US personnel, pas de papier

Détail

Voici les informations brutes, groupées par année.

2004

Tâches Clients Technologies Responsable1 Durée en semaines
recherche de solutions open-source pour un album photo en ligne. Choix des technologies, schémas techniques, prototypage Fotolabo (offre) Oracle AS 10g Portal JMB 2
installation du webmail interne ELCA PHP, IMP/Horde JMB  
tests de charge de la solution d’impression SecuTix pour l’impression en masse de PDFs La Poste (offre) JSP, Struts, FOP, XSL-FO, Tomcat, Grinder, rtf2fo JMB 7
rédaction d’un document de spécifications pour un éditeur de maquettes de billets SecuTix   SSI 3
tests de signature de PDFs Administration cantonale genevoise (offre) CAS, Tomcat, SSL JMB 2
réécriture de Elcard Cont’n’Shop2 de PHP en JSP ELCA PHP, JSP, Oracle, WSDL, Soap, Apache Axis JMB 5
maintenance de sites dans Cont’n’Shop Engelberg PHP FDD 1
site web Paléo 2005: galerie photo, player multimédia, sondage Paléo Flash, PHP, HTML, CSS FDD/JJE 2
intégration du nouveau “payment center” dans la boutique de produits dérivés Paléo PHP SRE/JJE 5

2005

Tâches Clients Technologies Responsable Durée en semaines
(suite) maintenance de sites Cont’n’Shop GAVI, CIDA, Engelberg, IAM, 4Winds, Palexpo, ELCA (intranet) PHP FDD 4
(suite) intégration du nouveau “payment center” dans la boutique de produits dérivés Paléo PHP SRE/JJE 2
(suite) site web Paléo 2005: séances avec le client, rédaction de PV, concours, espace presse, bourse d’échange de billets, support sur site Paléo PHP FDD/JJE 8
évolution Cont’n’Shop: intégration avec Dreamweaver via WebDAV ELCA WebDAV, PHP LHA 4
réécriture du noyau de Cont’n’Shop: gestion des rôles, domaines et droits d’accès, moteur de publication (zip, xml, rollback), système de fiches de données, support utf8, édition d’une page en mode “wysiwig”, gestion des ressources, gestion multi-sites, upload FTP, installeur etc. ELCA PHP LHA 18
prototypage et rédaction de spécifications pour une application web pour la gestion des dossiers de rentiers AI Centrale de Compensation XPF PMI 7

2006

Tâches Clients Technologies Responsable Durée en semaines
(suite) réécriture du noyau de Cont’n’Shop: possibilité de créer des modules/plugins, optimisation des requêtes MySQL ELCA PHP, SQL LHA 11
évaluation de la faisabilité technique d’une application pour PDA CHUV (offre) Java CGA 1
(suite) site web Paléo 2005: interfaçage de la bourse d’échange de billets avec le “payment center” Paléo PHP JJE 1
site web dans Cont’n’Shop: rédaction de la spécifications de l’importations des articles sous forme de fichiers XML, implémentation du site, forum phpBB GHI PHP JJE 9
prototypage et implémentation du nouveau frontend du ticketshop SecuTix SecuTix PHP, HTML, CSS LHA 12
(suite) maintenance de sites Cont’n’Shop Engelberg PHP - 1
implémentation d’un plugin pour Cont’n’Shop pour la création d’une boutique de produits dérivés ELCA PHP LHA 6
support à la création de sites Cont’n’Shop Kaeserberg, ELCA, Parc Astérix PHP, HTML - 1

2007

Tâches Clients Technologies Responsable Durée en semaines
(suite) implémentation d’un plugin pour Cont’n’Shop pour la création d’une boutique de produits dérivés ELCA PHP LHA 6
adaptation du ticketshop SecuTix pour les parcs d’exposition Messe Berlin PHP LHA 3
(suite) support à la création de www.elca.ch ELCA PHP, HTML CJD 1
(suite) tests de charge et corrections du nouveau ticketshop SecuTix avant la vente Paléo SecuTix PHP, HTML, CSS LHA 5
(suite) réécriture du noyau de Cont’n’Shop: corrections ELCA PHP LHA 3
prototypage d’une applet de plan de salle SecuTix Java, JMS, ActiveMQ VLA 3
support du site web Paléo, y compris sur site pendant le festival Paléo PHP CJD 1
SSO SecuTix SecuTix YUI, JavaScript NRE 2
(suite) maintenance de sites Cont’n’Shop GHI PHP - 1
framework SecuTix 2.0: prototypage, affichage de listes et de formulaires, widgets, menus, onglets (tabs), popups, gestion de la communication inter-widget, drag’n’drop SecuTix YUI-Ext, Ext2, JavaScript, JSP (.tag) VLA/VPA/EMA 13
framework SecuTix 2.0: amélioration des performances avec la création de sprites, concaténation et minification de fichiers, diminution du nombre de requêtes SecuTix JavaScript, HTML VLA 3
création d’un guichet de vente de billets: prototype, drag’n’drop, calendrier SecuTix JavaScript EMA 5

2008

Tâches Clients Technologies Responsable Durée en semaines
(suite) framework SecuTix 2.0 SecuTix JavaScript, JSP (.tag) EMA 6
(suite) création d’un guichet de vente de billets: interfaces AJAX, spécifications et implémentation de la communication avec le backend, design du panier, communication JavaScript-Applet, gestion des paiements et remboursements (en liquide, par carte, paiements multiples, paiements échelonnés etc.), ajout de nouveaux types de produits (packages, abonnements, réservations/reprise/options), sécurité applicative SecuTix JavaScript, DWR, Java EMA 44

2009

Tâches Clients Technologies Responsable Durée en semaines
(suite) création d’un guichet de vente de billets: ajout de nouvelles fonctionnalités, support de prod, gestion d’une petite équipe de développeurs SecuTix JavaScript - 43

2010

Tâches Clients Technologies Responsable Durée en semaines
(suite) création d’un guichet de vente de billets: ajout de nouvelles fonctionnalités et produits (visites, documents, envois) SecuTix JavaScript - 38
création d’une application web pour iPhone SecuTix jQuery Mobile, JavaScript LHA 1

2011

Tâches Clients Technologies Responsable Durée en semaines
(suite) création d’un guichet de vente de billets SecuTix JavaScript - 3
(suite) création d’une application web pour iPhone SecuTix Sencha Touch, JavaScript, PHP, Java (Jersey, Selenium) - 36
analyse des performances d’une application web Firmenich JavaScript ? 1
possibilité de changer facilement l’aspect visuel du ticketshop: support du “Responsive Web Design”, amélioration du build (minification, compression et analyse syntaxique des fichiers) SecuTix Compass, Maven, JSLint, CSS SVA 4

2012

Tâches Clients Technologies Responsable Durée en semaines
(suite) création d’une application web pour iPhone: migration Sencha Touch 1 à Sencha Touch 2, séances avec l’Opéra National de Paris, tests Selenium, tests d’intégration avec une application native, tests de performance SecuTix Sencha Touch 2, JavaScript, PHP, Java (Jersey, Selenium) - 35
(suite) possibilité de changer facilement l’aspect visuel du ticketshop: refactoring, simplification, intégration de Google Analytics SecuTix JavaScript, HTML, Compass, CSS SVA 10

Absences

Si je me souviens bien, j’ai pris mon premier jour pour maladie au bout de 6 ans. Au total, j’aurai été absent 80 heures environ. Sur près de 9 ans, c’est raisonnable je trouve. La plupart des jours d’absence sont en fait dus à un accident en 2010.

    • JMB = Jean-Marc Bost
    • SSI = Stéphane Siegfried
    • FDD = Fabio De Donato
    • JJE = Jérôme Jenni
    • SRE = Sébastien Renaud
    • LHA = Laurent Hatchadour
    • PMI = Pascal Miclos
    • CGA = Christian Gasser
    • CJD = Christophe Junod
    • VLA = Vincent Larchet
    • NRE = Nicolas Rémond
    • VPA = Vincent Pasquier
    • EMA = Emmanuel Mayer
    • SVA = Sébastien Vauclair

  1. ancien CMS propriétaire développé et utilisé par ELCA