Profil professionnel
Titre - Architecte logiciel
Expertise - Architecture Orientée Objet, Traitement des langues naturelles, représentation des connaissances, travail collaboratif
Expérience - Total de 16 ans
Aptitudes de recherche
- Systèmes de représentation pour les technologies hypertexte
- Algorithmes et architecture Orientée Objet (UML et Design Patterns)
- Modèles formels des langues naturelles
Aptitudes techniques
- Langages Orientés Objet: Python, Java, C++, Perl 5, C#, ...
- Technologies XML: XSLT, XML-RPC, RNG, sérialisation d'objets, GXL, SVG, ...
- Engins de développement Web: Plone, Django, Apache Turbine, Cocoon, TWiki, ...
- Javascript: jQuery, MochiKit, ...
- Technologies de bases de données (XML, OO ou relationnelles): SQL, Oracle, ObjectStore, LDAP, eXist, XMLDB, XUpdate, XQuery, ...
- Interfaces utilisateur indépendantes de la plateforme (wxWidgets...)
- Systèmes de programmations par agents (Swarm, RePast, AScape)
- Conception des interfaces vocales (Nuance Speech Objects)
- Systèmes d'exploitation: MacOS X, Solaris, Mac OS, Linux, Windows NT, XP
Travail de consultant
| 2009 | RealWorld Systems |
- Déployment de site web (Plone)
- Prototype pour une requête de base de données dynamique (jQuery)
| 2007 | Centre Shambhala d'Ottawa |
- Conception de la base de données et mise en place d'une application pour le calendrier et l'horaire (Django)
| 2005 - 2006 | OpenConcept |
| 2003-2005 | Goa Technologies |
Closer Look - Engin d'extraction de données à partir de pages web
Expérience Professionnelle
| 2010 - ... | Chargé de projet pour le secrétariat technologique | GTN-Québec. |
Support à la communauté des technologies d'information et de communication en éducation pour l'utilisation les standards
- Contribué à l'évolution de la plateforme Eureka, un catalogue de métadonnées sur les ressources d'enseignement et d'apprentissage.
- Conseillé DECclic quant à l'emploi de standards pour l'évolution de leur plateforme de cours en ligne
- Vérifié l'applicabilité de IMS-QTI 2.1 pour récupérer les données de ExamStudio
- Vérifié que la plateforme Moodle pouvait supporter des questionnaires QTI, grâce à la passerelle de QTItools
- Recommandé l'emploi de technologies libres hétérogènes: gadgets, identité distribuée, collaboration, etc. pour éviter l'enfermement dans une plateforme unique
- Mise à jour du validateur de Normetic (Java, Schematron, XSD)
- Assisté à la réflexion sur le modèle conceptuel du standard MLR
- Responsable de la section Normetic du site du GTN-Québec
| 2007 - 2008 | Développeur logiciel |
Projet non révélé
- Développement général (serveur Java, client C++)
- Conception et réalisation d'extensions au protocoles de communications
- Acquis de l'expérience avec des outils et méthodes de développement libres ou spécifiques à Google.
- Protocoles client-serveur avec Protocol buffers
- Outils internes de gestion des processus distribués et de communication inter-processus
- Développement piloté par les tests avec jUnit/GoogleTest
- Revues de code avec Mondrian et Perforce
- Templates et STL
- SQLite
- SCons
- Contribué à l'infrastructure d'internationalisation (Python)
| 2003 - 2004 | Architecte logiciel et Développeur | HandCastles inc. |
DistriBistro - Système de commande sans fil pour restaurants, sur Palm
- Spécifications des besoins, conception de l'interface et architecture
- Architecture de communication d'égal à égal
- Prototype complété (SuperWaba.) Nous avons décidé de ne pas passer en production.
| 2000 - 2001 | Architecte logiciel et Développeur | Mitel Networks inc. |
Speak@Ease Messager - Messagerie unifiée à commande vocale
| 1999 - 2000 | Architecte logiciel | Logiciels Panteor inc. |
Translateor - Système de traduction automatique pour l'anglais et le français (projet)
| 1997 - 1998 | Conseiller | Centre de Recherche Informatique de Montréal (CRIM) |
Giza - Architecture OO pour la représentation polymorphe de données structurées à l'aide d'attributs contextuels dynamiques
- Conception et programmation (Java) d'un nouveau Motif Logiciel
- L'approche a été publiée à OOPSLA
| 1997 | Agent de recherche senior | CRIM, pour Bunyip |
Radio Insite - Générateur de pages HTML dynamiques pour les comptes rendus des émissions de radio de la CBC.
- Programmation (Perl5) d'un parseur de fichier log, qui s'ajuste à un fichier de méta données et met les données en forme dans des gabarits HTML
| 1996 - 1997 | Agent de recherche senior | CRIM |
GAA - Interface Web pour un Guide d'Auto-Apprentissage
- Architecture et programmation (C++) d'un système de gabarits HTML
| 1995 - 1996 | Agent de recherche senior | CRIM |
Francoroute - Prototype d'un système de classification des sites internet francophones
- Coordination de l'équipe, architecture et programmation (Java, Perl5, Oracle) of un des premiers engins de recherche hybrides sur le Web (utilisant à la fois la classification par catégories et la recherche par mots-clefs), basé sur l'approche Cheops
- Programmation (Perl5 et Oracle) d'un robot Web qui identifiait et explorait les sites francophones
- Programmation (Perl5) d'un outil de classification (à interface Web) pour les sites Web, basé sur la classification de Dewey
| 1995 - 1996 | Agent de recherche senior | CRIM |
CHEOPS - Un outil de navigation pour des données hiérarchiques
- Programmation (Java) d'un outil de navigation unique basé sur l'élision visuelle
| 1994 - 1995 | Agent de recherche | CRIM, pour Alis technologies |
Lys - Client de courriel multilingue
| 1992 - 1994 | Analyste | Les Logiciels Machina Sapiens inc. |
Le Correcteur 101 v.2.0 - Correcteur grammatical du français
- Coordination de l'équipe entre linguistes et programmeurs, recherche en linguistique computationnelle, algorithmes, programmation en C++
- Prix octroyés au logiciel (version 1.0 ou 2.0):
- 1993, Prix Octas, de la Fédération d'Informatique du Québec
- 1994, Prix du Français en Informatique du GIRICO
| 1991 - 1992 | Programmeur | Les Logiciels Machina Sapiens inc. |
Le Correcteur 101 v1.0b - Correcteur grammatical du français
- Premier correcteur grammatical de l'industrie à traiter la syntaxe globale de la phrase française
- Conception et programmation (C++) de l'interface utilisateur sur un canevas logiciel indépendant de la plateforme
| 1988 | Assistant de Recherche | Hôpital Général de Montréal |
Système d'acquisition de données neurobiologiques en temps réel
- Réingénierie (Vector Basic) d'un système de visualisation de graphes
| 1986 | Programmeur | O.C.C. Informatique, pour la Banque Nationale |
Logiciel d'estimé de FÉER
- Programmation (MS-Basic) d'une méthode d'analyse itérative
- Interface utilisateur graphique sur un écran textuel
| 1984 | Programmeur | La société Québit logiciel inc. |
Méga-Texte - traitement de texte pour les élèves du primaire
- Conception et programmation (6502) d'un traitement de texte avec graphiques évolués sur Apple II+
| 1982 | Programmeur | Société Logidisque enr. |
Têtards - Jeu vidéo à deux joueurs, de type labyrinthe
- Programmation (6502 sur Apple II+)
- Premier jeu vidéo conçu et réalisé au Québec
Études et bourses
| Déc 2008 | Certification comme praticien | Cognitive Edge |
| 2002 - 2006 | M.Sc. en Science des Systèmes | Université d'Ottawa |
- Premier récipiendaire d'une bourse départementale en 2003
- Mémoire: Construction des normes, entre stratégie et communication: un cas de négociation collective.
| 1989 - 1990 | Propédeutique en Mathématiques | Université McGill |
- Bourse du F.C.A.R. pour une maîtrise
| 1986 - 1989 | B.Sc. Programme de faculté conjoint en Biologie et Mathématiques | Université McGill |
- Grande Distinction
| 1983 | Compétition de mathématique | Association Mathématique du Québec |
- Mention pour la compétition de secondaire V
Expérience d'enseignement
| 2003 | Assistant d'enseignement | Université d'Ottawa |
Economic Systems Design (SYS5140)
Conçu et présenté une introduction à la programmation par agents
| 2002 | Assistant d'enseignement | Université d'Ottawa |
Concepts des langages de programmation (CSI3525)
Participé à la conception des laboratoires et exercices
| 1994 - 1995 | Instructor | CRIM |
Séminaire d'Introduction à l'hypertexte
| 1989 | Assistant d'enseignement | Université McGill |
Differential calculus (189-121A)
| 1984 | Instructeur | Collège Mont-Saint-Louis |
Initiation à l'informatique - cours du soir
Publications et ateliers
Présentation: Outside the box : Tinderbox XML Tools, lors de la fin de semaine Tinderbox à Boston, 2004
Tech Note: On-the-fly contextual adaptation with the RoleAdapter Pattern, in Proceedings of OOPSLA'98 (Vancouver BC, 1998), ACM Press
Démonstration : Applications of the RoleAdapter Pattern: Representing class inheritance and aggregation hierarchies with the Giza framework, in Proceedings of OOPSLA'98 (Vancouver BC, 1998), ACM Press
Rapport: État des technologies de stockage d'objets en Java, CRIM, 1997
Présentation: GIZA : A framework for visualization, par Marc-Antoine Parent et Louis Vroomen, comptes rendus de Graphical User Interfaces for Hierarchies (Human-Computer Interaction Laboratory, University Of Maryland, 1997)
Article: Cheops: A Compact Explorer For Complex Hierarchies, par Luc Beaudoin, Marc-Antoine Parent et Louis Vroomen, in Visualization '96, San Francisco, USA, Oct 1996, pp. 87-92
Article: Font Selection and Font Composition for Unicode, par Martin J. Dürst et Marc-Antoine Parent, in Proceedings of the Seventh Unicode Conference, San Jose, CA, 1995
Langues parlées et écrites
Excellente maîtrise du français et de l'anglais parlés et écrits
Compréhension de base de l'italien et du portugais
Intérêts
Mon cheminement peut s'énoncer comme un déplacement graduel d'un intérêt pour les processus de cognition individuelle vers les processus collectifs. Après des études en neurobiologie et en logique mathématique, et après une carrière en linguistique computationnelle et en représentation de l'information, je me concentre maintenant sur la façon dont les outils de communication peuvent former et enrichir la dynamique des groupes, de façon à aider des groupes diversifier à se doter d'objectifs communs.
Afin de supporter cet objectif, j'ai expérimenté avec un ensemble d'outils logiciels variés: systèmes de gestion du contenu, wikis, carnets web, éditeurs collaboratifs en temps réel, logiciel relationnel (social software)... Je travaille également sur de nouvelles méthodes qui entrelacent texte et représentations formelles de la pensée. Mais, au-delà des outils, lors de mes études en science des systèmes, j'ai analysé comment les questions de confiance, de face et de justification affectent la communication, et comment des processus de communication peuvent être conçus spécifiquement de façon à minimiser ces impacts.