FULL-STACK-DEVELOPER & DEVOPS ENGINEER

Note: English version available

IMPORTANT: Veuillez consulter la version anglaise car elle est présentement plus à jour que la version française.

Disponibilité

Non-Disponible pour le moment. Date de renouvellement de contrat: Février 2016

Sommaire

  • En poste au sein du W3C, l’organisation internationale qui gère les normes pour les navigateurs web
  • 14 ans d’expérience professionnelle dans les Technologies de l’Information et du Web
  • Expérience en design et entretien d’un “cloud” applicatif web complexe en utilisant les techniques de déploiement continu
  • Certifié «’’Zend Certified Engineer’’» (ZCE) avec PHP 5.3
  • Expérience dans la participation/livraison parmi plusieurs communautés de logiciels libres
  • Grande familiarité avec les tendances et bonnes pratiques de développement web: HTML, CSS, Pré-processurs CSS (LESS, SASS, Compass), Outils de qualité, etc.
  • Maintenu plusieurs sites, notamment pour; WebPlatform, Web at 25 pour le symposium du 20e anniversaire du World Wide Web Consortium (W3C) (2014), l’Union des Artistes (2009), et la Ville de Sherbrooke (2005)
  • Formation en accessibilité du web selon le WCAG 1, à l’Université de Montreal
  • Réalisé plus de 150 sites web entre 2002 et 2009
  • Crée et maintenu mon propre «CMS»/générateur de site statique, fait en PHP 4 (2001-2007)
  • Conférencier d’occasion sur le thème des techniques de programmation web d’actualité
  • Bilingue (anglais, français)

Forces

  • Architecture de balisage HTML, conception de composantes HTML/CSS/JavaScript réutilisable
  • Passionné des bonnes pratiques en programmation et architecture d’applications web
  • Intégration web fidèle aux requis graphiques sur tous les navigateurs, de façon adaptative et «future friendly»
  • Mise en place de processus d’automatisation incluant; Salt Stack, Cloud-Init, etc.
  • Administration système GNU/Linux (utilisateur depuis 1998)

Outils et langages

«Hotlist»

Outils de travail de prédilection couramment utilisés.

  • Salt Stack
  • Elastic Search
  • Vagrant, Open Stack, Docker, Docker Compose
  • BackboneJS, Underscore, Yeoman, Grunt, Bower, Gulp

Outils maîtrisés

  • PHP
  • XML/HTML/CSS
  • JavaScript/AJAX/UnderscoreJS
  • MySQL/MariaDB et réplication
  • Frameworks: Symfony2, RequireJS, BackboneJS, MediaWiki, Twitter Bootstrap, Html5Boilerplate
  • Git, Gerrit
  • vim, Sublime Text, Eclipse
  • Linux Ubuntu, Debian, RedHat, Gentoo

Autres technologies déjà utilisés

  • HHVM
  • Puppet
  • PHP frameworks: symfony 1.x, Zend Framework, Kohana
  • CMS: MediaWiki, Drupal, MODx
  • Microsoft Access, Microsoft SharePoint
  • Phabricator
  • Apache Solr
  • IBM WebSphere Datapower
  • XSLT/XML

Code publié

profil GitHub.

RoughDraft.js

RoughDraft est un outil qui permet de faire des maquettes HTML sans avoir a créer de contenu temporaire tels que des images, textes, et données utilisateur. Cet outil permet à l’intégrateur de se concentrer sur les gabarits HTML et comment y ajuster le style.

Contributions:

  • Générateur de noms de classes CSS dans un ordre prévisible
  • Amélioration variés permettant d’utiliser l’outil sans avoir besoin d’appeler des services web extérieurs

«Pull requests» sur GitHub; #9, #14

Mots clés

Web, DevOps, CSS, Preprocessors, Git, OOCSS, HTML5, MySQL, Responsive design, progressive enhancement, WCAG, A11y, Accessibility, Micro formats, RDF, Best practices, Linux, Open source software, WebSphere DataPower, Continuous Integration, Coutinuous builds, SNMP, nagios, NGINX, SMTP, SpamAssassin, Exim, QMail, Postfix


Experience de travail

Developer Operations engineer W3C, aout 2013 - actuel

Montreal, Quebec

Assurer la stabilité, implanter de nouvelles fonctionnalités, améliorer les processus de gestion des serveurs, et agent de liaison avec les communautés de logiciels libres pour le projet WebPlatform.org.

  • Mise en place d’un portail d’authentification et Single Sign-On (“SSO”)
  • Contribution a Mozilla Firefox Accounts pour l’utiliser comme système d’authentification
  • Documentation de processus; e.g. Vulgarisation des échanges du protocole OAuth2, Analyse de tâche
  • Déplacement de HPCloud à un cluster OpenStack privé de tous les serveurs
  • Amélioration des scripts d’entretien Salt Stack; rendre possible plusieurs déploiements, et publication des scripts
  • Mise en ligne du site Web at 25

Programmeur web TEKsystems, juin 2013 - aout 2013

Montreal, Quebec

Développement de modules JavaScript sur une application web de gestion de compte pour un organisme à l’international.

  • Instauration d’outils d’entretien de code pour les autres dévelopeurs (Grunt, Uglify2, concat)
  • Dévelopement de plusieurs modules: Communication AJAX, Communication API avec une couche ODAF existante

Programmeur web Ericsson, fevrier 2012 - juin 2013 (consultant)

Montreal Québec

Concevoir une application web de gestion de demandes communiquant avec des services externes dispersés autour du monde.

L’application devait tenir compte notamment; des fuseaux horaires, des avis par courriel, de fournir certains services qui avaient plusieurs fournisseurs/versions possibles, un système de tâches en arrière-plan, et de tâches planifiées.

  • Conçu un module d’exposition en service web REST d’entités provenant de la base de donnée
  • Enseigner les principes de la plateforme web, des standards, et outils et transferts de connaissances pour les employés permanents
  • Conceptualisation de l’architecture logicielle, et le modèle («Domain Model»)
  • Gestion des serveurs de tests, acceptation, production, et stations de travail avec Puppet
  • Migration des données lors des changements majeurs dans le modèle de donnée

Outils

Symfony2, Doctrine 2, Sublime Text 2, Git, LESS, Twitter Bootstrap, NodeJS, Puppet, Vagrant, jQuery, UnderscoreJS, Chef

Programmeur web, cofondateur Evocatio Solutions technologiques Inc., janvier 2010 - fevrier 2012

Montreal, Québec

J’ai participé au démarrage d’Evocatio et j’ai contribué à plusieurs projets avec de grands défis techniques. Pour quelques projets, nous avions augmenté notre équipe jusqu’à dix.

Malheureusement je dois taire les noms de certains clients et les détails de leur projets car nous avons signé un contrat de non-divulgation.

Voici une liste classée par thèmes des aspects auxquels j’ai participé:

Taches

  • Référence pour les normes du W3C/Accessibilité
  • Développement («Frontend») d’interface utilisateur pour divers Jeux, et applications web
  • Participation aux analyses et élaboration des requis
  • Architecture de balisage en HTML/CSS modulaire instaurée dans tous les projets

Projets

Ma participation aux projets suivants inclut principalement l’intégration web.

Amigo

Intégration web et programmation d’une interface web communiquant a un backend SharePoint 2010 «form tracker» directement utilisant Visual Basic .NET

Advisor.ca version pour iPad

Application web mobile servant à conserver une copie sur l’appareil mobile des nouvelles du site pour lecture hors-ligne.

  • Réalisé avec les technologies «HTML5», notamment le localStorage, les transitions, et effets CSS3
  • Module servant à sérialiser les articles à partir des fils RSS

Visiter

Application «Echange de cadeaux»

Jeu en ligne d’échange de cadeaux en tant que carte de Noël interactive qui a été utilisé deux années de suite.

Le jeu a été utilisé pendant deux ans, avec variantes dans les règles:

  • 2009: 40 participants, 40 cadeaux, 9 chances. Voir l’article sur mon blogue l’article illustrant cette variante.
  • 2010: «Échange pas très équitable» (Gagnant Grenier d’Or). Un seul cadeau, devinez quel bas de Noël le contient, quatre indices, 9 chances.
Capital Magazine

Intégration de la version web du Magazine Canadian Capital avec WordPress. Le site est maintenant hors-ligne.

Buro de post

Une application web servant à envoyer des courriels aux membres de l’UDA

  • Analyse des besoins systèmes: Syslog, Postfix, se désinscrire, suivi des messages ouverts, gestion des «bounces»
Refonte du site de l’UDA

Un projet qui a été étendu sur deux phases. En 2009 et en 2011. La première phase était de refaire, dans un très court délai, le site avec les fonctionnalités du site fait en .NET C#, en se montant une architecture qui nous permettrait d’ajouter de nouvelles fonctionnalités.

Durant le temps ou j’ai participé, nous avons notamment:

  • Moteur de recherche d’artiste sur multiples critères: couleur cheveux, instruments de musique, qualifications, etc.
  • Moteur de recherche public indexant plusieurs types de documents: PDF,Microsoft Word, contenu des ententes collectives, et contenu provenant du CMS
  • Les agents d’artistes peuvent proposer leur choix de candidats par courriel pour des auditions
  • L’artiste a plus de contrôle sur les informations visibles selon le type d’utilisateurs: public, gérants, autres artistes
  • Permettre aux artistes de s’inscrire aux avis de changements des ententes collectives qui les concernent

Pendant la phase de 2011, nous avons profité de l’occasion pour instaurer symfony 1.x comme noyau et de remplacer le balisage XHTML par un nouveau balisage repensé en HTML5 créant une bibliothèque de composantes réutilisables.

Outils

WAI WCAG, Paper prototyping, Git, Balsamiq mockups, Adobe Photoshop, SMACSS, OOCSS, Twitter Bootstrap, Zurb Foundation, Apache Solr, Apache Tomcat, JavaScript, PHP, symfony 1.x, Atlassian Jira, Atlassian Confluence, HTML5Boilerplate, Netbeans, VirtualBox, Agile, Compass, SASS, SCSS, LESS, jQuery, HTML5, CSS3

Programmeur web Groupe Informatique TechSolCom Inc., octobre 2006 - aout 2009

Montreal, Québec

Taches

  • Entretenir l’image corporative de TechSolCom (2006-2009)
  • Travailler en équipe avec les membres du groupe Expérience Utilisateur volet Accessibilité et intégration web
  • Participation a la programmation des projets et conception de leur image de marque:
  • Namminik (2008)
  • TSCM, renommé plus tard Beebox (2007,2009)
  • Quelques jeux facebook

Projets

Site web de TechSolCom
  • Réalisé la version 2007 avec Géranium CMS
  • Version 2009; Intégration attention particulière aux normes du WCAG
Projet «Namminik»

Participation au développement en mode «Agile», comme intégrateur, et interaction designer

Namminik est une application de gestion d’inventaire personnel construit en utilisant JSF (“Java Server Faces”), le front end utilisait YUI2.

Beebox

Beebox est un outil d’intégration continue. Il était distribué comme exécutable J2EE gratuitement et utilisé par les clients de TechSolCom.

  • Intégration web en environnement IBM Rational et WebSphere Portal
  • Élaboration de librairies de balisage utilisant Struts
  • Participation à la documentation du produit
  • Conception du site (hors-ligne)
«SiteFinder»

Participation à l’élaboration d’une solution de géo-localisation de succursale pour iOS, notamment le Localisateur Desjardins. J’ai aussi participé à la conception interface web d’administration et quelques vues de rapports. L’outil a été notamment utilisé pour le «Localisateur Desjardins» (2009-2011).

Administration système

  • Géré plusieurs serveurs VMWare ESXi et VMware Server, ainsi que plusieurs machines virtuelles
  • Instauration d’un système de surveillance des infrastructures et applications avec Nagios et le protocole SNMP
  • Administration et tests d’Intégration SOA avec l’instance IBM DataPower allouée à la compagnie
  • Crée un relai de courriels SMTP avec autres filtres

Consultation

Jacob.ca

  • Outil de recherche de succursales
  • Conception du schéma XML, des feuilles de style XSL pour consommation, et de clients JavaScript
  • Formulaire «nous joindre» communiquant avec un API sur un serveur externe

Telefilm Canada

Intégration maquette Photoshop utilisant YUI2 pour deux applications internes

Outils

JSF, Struts, Agile, Ant, IBM WebSphere DataPower, Apache Tomcat, JDBC, SNMP, Maven2, Adobe Photoshop, WAI WCAG, Balsamiq mockups, XML, XSL, YUI2, Mootools, Debian Linux, RedHat Enterprise Linux, Confluence, Jira, jQuery, MySQL, JSON, WSDL, Subversion, CVS

Programmeur web Câble Axion Digitel Inc., octobre 2005 - novembre 2006

Magog, Québec

Câble Axion est une entreprise de distribution de service par câble. Leur réseau s’étend à partir de la région au sud de la Rive-Sud de Montreal et monte jusqu’en Beauce.

Projets

Site web corporatif
  • Intégration maquette Photoshop
  • Développement PHP + MySQL du CMS maison (basé sur Géranium CMS)
Entretien d’un outil de gestion de billets de service fait avec Microsoft Access
  • Génération automatisée d’une demande de service dans le presse-papier, pour envoi par courriel
  • Outil de feuille de temps et rapports d’interventions

Outils

SVN, Subversion, MySQL, Adobe Photoshop, Microsoft Access

Programmeur web Inexis solution web Inc., février 2003 - novembre 2006 (Travailleur autonome)

Sherbrooke, Quebec

Inexis solution web, était une entreprise de service de programmation et de services web. L’entreprise avait plusieurs agences de graphisme de la région de l’Estrie comme client et leur permettait d’offrir des services web sans avoir à entretenir leur propre département TI.

  • Intégration web à partir des maquettes Photoshop
  • Gestion de listes d’envois de courriels au nom des clients avec PHPList et quelques gabarits pour liste d’envoi
  • Entretien du site de la Ville de Sherbrooke, du projet «Sherbrooke, Ville étudiante», de la MRC du Val-Saint-François, Mont Bellevue, Hydro-Sherbrooke

Applications web

Geranium
  • «CMS Maison» (propriétaire) fait en PHP 4 et MySQL
  • Module formatage du contenu avec syntaxe wiki
  • Module génération de pages HTML statique et archives
  • Module gestion de relations clients, renouvellement contrats

Consultation

Callio Technologies

Intégrer vues rapports à imprimer qui devait être compatible à Internet Explorer 6

Evolubiz

Participer au dévelopement de quelques modules sous OSCommerce, et mettre à jour leur infrastructure de serveurs interne.

Outils

CVS, Subversion, MySQL, Adobe Photoshop, CSS, HTML, RedHat Linux 9


Divers

Certifications Zend Certified Engineer PHP 5.3

  • 2013 Zend Certified Engineer PHP 5.3 Certification link
  • 2011 Cote de sécurité validée par service PWGSC, requise pour les fournisseurs au Gouvernement fédéral
  • 2007 IBM WebSphere DataPower SOA Appliance (training)
  • 2008 Accessibilité du web (WCAG 1) à l’Institut Nazareth & Louis Braille (Université de Montreal)
  • 2004 Linux System Administration General (Brainbench Individual certification)

Merites et honneurs

  • 2011 Prix Grenier d’Or catégorie Jeu et interactivité, pour l’application Échange pas très équitable RED l’agence

Implications

  • 2013-…, Contributeur WebPlatform Docs (voir contributions dans la documentation)
  • 2011-2013, Membre du conseil d’administration W3Québec
  • 2010-2012, fondateur événement hebdomadaire «devLAB Montreal»
  • 2010, comité organisation Make Web Not War, pour la zone «code-fest», organisé par Microsoft
  • 2008-2010, Chef d’unité (“Akela”), Scouts du canada

Publications