SlideShare une entreprise Scribd logo
1  sur  14
Jean Claude Viens
viensjc@videotron.ca
7085, place Joseph-Michaud, Apt. 302
Montréal, Qc, H1E 6K8
(514) 325-0500
PROFIL
Analyste en Informatique de Génie, je possède plus de 15 ans d'expérience en informatique, à titre
d’analyste, de programmeur et de chercheur. Je possède de l’expérience répartit principalement dans les
domaines de, l’analyse et la conception orienté-objet, des systèmes clients-serveurs supportant des
processus d’affaires complexes, des systèmes en temps réel, de contrôle et acquisition de données, en
recherche et développement de prototypes, etc.
EXPÉRIENCES
Comme Analyste en Informatique
Travailleur autonome
En progression
• Design et début intégration d’un système répartie Le Party avec Les Amis (en cours)
L’idée de départ étant de renouveller un prototype de systéme client serveur répartie sur un réseau local.
L’utilisation d’une librairie disponible de type distribué permettant la communication et le partage de
données de facon simple à travers tout réseau local, on peut en autre avoir differentes structures de
donnée, bus d’évènements, tableau noir (blackboard), collections génériques etc. , cette librairie sera
utilisé en conjonction avec une autre librarie d’implantation de serveur tcpip basé un sur concept d’acteur
( à la Gul Agha et Carl Hewitt, J.P. Briot) donc utilisant un concept de parallèlisme acteur avec passage
de message asynchrone avec continuation, cette librairie est implanté sur une plateforme de machine
virtuelle Java, et est donc « transportable » sur différentes types d’architecture, pc-windows-unix, peut
etre meme android et certains micro-controleurs. Certaine sections du projet LeParty reste toutefois à
préciser comme par exemple la gestion dun maitre de cérémonie qui gère l’arrivés et les départs des
Amis (arrêt et démarrage des serveurs, et node de réseau). et … bien sur integration de quelque autres
idées … :o)
Environnement : Java, LAN, librairies Hazelcast et Vertx, plusieurs platforme pc windoze-linux.
• Projet robot (en cours)
Construction d’une base roulante, moteurs, encodeurs de position, hbridge, basé sur un Atmega 2560,
logiciel de commande de bas niveau et de calibration, couche logiciel de niveau 2 exécution des
séquences de commande. Et encore bien de choses à intégrer !
Environnement : Avr AtMega2560 AVR Studio AVR Dragon, C, C++, OS maison
• Projet Bras robotisé (en cours)
Assemblage d’un kit et test des fonctionnalitées de base, mouvement et acquisition de position,
développement de servo actuacteur avec une sortie accessible de positionnement. Debut d’analyse
permettant l’ajout du servo additionnel et certaines modifications de la pince. Et encore bien de choses
à intégrer !
Environnement : Avr AtMega2560 AVR Studio AVR Dragon, C, C++, OS maison, 3Dprinting, CAD
• Étude personelle (en cours)
Étude personnel assez vaste du monde du DIY, Arduino, et Open source, mise à jour de mes
connaissances de base en électronique, transistor, accéléromêtre, gyroscope, senseur ultrason, registre
IO, hbridge, ainsi que les differents protocoles de communication qui s’y attache, SPI, I2C, UART, USB
etc …
Environnement : Microchip Pic et Atmel Atmega 328p 2560 AVR Studio AVR Dragon etc… C, C++,
etc…
Comme technicien en informatique bureautique
• Offre des services de type technique pour matérielle haut de gamme.
Configuration matérielle et logicielle d’ordinateurs de haute gamme.
Système multi moniteur SLI, Xfire.
Étude de différent systèmes RAID 0 1 5.
Déploiement de réseau gigabit et intégration de serveur.
Étude d’intégration de ordinateur/système d’exploitation (Microsoft, Linux)
Configuration ordinateur serveur « headless » avec linux Ubuntu (intégration VNC, réseau, etc.)
Configuration réseau résistant aux pannes de courant.
• Offre des services de type technique au détail pour des clients.
Configuration matérielle et logicielle d’ordinateurs, carte-mère, os, disque dur, etc.
Configuration de réseaux locaux, routers, switches, hubs, imprimantes, anti-virus, pare-feu, etc.
Installation et configuration de logiciel d’usage courant.
Comme Analyste et Programmeur en Informatique Travailleur Autonome
• Utilitaire afficheur automatisé de petites annonces gratuites sur un site bien connu 
L’utilitaire permet de gérer ses petites annonces dans un fichier de type Excel et de choisir lesquelles
seront posté en ligne. L’utilitaire permet de remplir automatiquement tous les champs de l’interface web
du site d’annonce.
Environnement : Automatisation de Internet Explorer, Autoit, macro Excel
• Echantillionneur de couleur matériel prototype
Librairie utilisable les différents temporisateurs (timers) matériels d’un Atmel328p permettant le calcul de
fréquence de signaux de base du chip de décodage de couleur en fréquence. On peut donc caractérisé
une couleur par les informations de base rouge vert bleu ainsi que l’intensité de la lumière.
Librairie d’affichage de couleur sur les néoLED 3 couleurs.
Environnement : Atmel328p Atmel AVR Studio Avr Dragon, C, C++, Arduino
• Serveur web donnant acces à l’état de différentes portes de mon garage V1.
Le serveur web sur réseau local offre les informations, d’états des portes ouvertes ou fermées de mon
garage  Basé sur un de mes mini OS a base de coroutines et tournant sur un Atmel328p (arduino), un
board éthernet Wiznet5100(arduino) et un interface fait maison indicateurs d’état et switches etc. Le
serveur se veut aussi un essai de dévelloppement de code arduino à l’intérieur des fonctionnalitées de
développement de Atmel, donc AVR studio et utilisation d’un debuggeur en mode debugWire.
Environnement : Atmel AVR Studio Avr Dragon, C, C++, Arduino, OS maison, Gtk Python
• Interface USB CDC (émulation de port série) entre une tablette Android et un microcontroleur
Prototype d’une interface USB CDC, émulation de port série, entre une tablette Android et un
microcontroller 18F2550. Le tout aurait du être facile, mais les fonctions d’interface CDC sur la pile USB
pour les processeurs 8bits n’ont pas «encore» été portées correctement vers le compilateur XC8 de
l’environnement MPLABX, il a donc été nécessaire de modifier la pile USB pour pouvoir poursuivre le
développement avec le code existant dans l’environnement MPLABX, bref maintenant on s’échange un
«Hello world» …
Environnement : Android, Java, PIC MPLABX, C, C++
• Imprimante 3D
Construction d’une imprimante 3D Reprap, exploration et utilisation pour la réalisation de pièces
et de quelques prototypes, engrenage, support et boitier, petits bidules comme un assemblage servant
de pan et tilt pour une caméra intégrant des moteurs servo.
Environnement : Eckerbot, Prusa, plusieurs CAD et programmes de commande de machine
outils.
• Developpement d’un prototype de développement.
A partir du board existant à base d’un Pic, déconstruction et reconstruction d’une platforme permettant le
prototypage et incluant une horloge temps réel, registres IO, affichage a 7segments, etc..
Environnement : Pic, C
• Construction des 2 types d’horloges.
A partir d’éléments d’horloge courante conception d’une horloge 24h ainsi que d’une horloge
bizarre donnant l’heure et les minutes à heure juste mais donc les secondes sont erratiques. J’utilise
présentement une de ces horloge aux fins de test de piles de type li-ion.
Environnement : Pic, C, Li-Ion
• Analyse d’un système générique de moniteur-condition pour un système en temps réel.
Suite à la réimplémentation d’un système de moniteur dans un micro-os PIC, l’implémentation d’un
concept plus générique de moniteur (voir M. Hoare et M. Dijkstra) est réalisable, celui-ci permettra
l’utilisation de moniteur à l’intérieur de moniteur  se qui serait avantageux dans le cas de systèmes
possédant des sous-systèmes complexe (ex. le sous-système de gestion de moteurs électriques dans
une machines complexe)
Environnement : C
• Développement d’un micro-os à base de coroutine pour PIC et AtMega
Ce micro noyau est simple et compacte, il offre tâche, sémaphore et moniteur – condition, ainsi que des
fonctionnalités de temporisation. Les tâches sont de type coroutine, les sémaphores ainsi que les
conditions des moniteurs offrent des services en utilisation normale et en mode d’interruption du
processeur. Ces structures du noyau sont facilement paramêtrisables et définies de façon statique à la
compilation.
Des librairies de périphériques ont été développé permettant :
La communication sérielle sur les 2 ports de communication (UART), avec tampon d’entré-
sortie et géré par interruption, ainsi qu’avec l’interface USB
La gestion de l’horloge interne en temps réel
La gestion de communication avec les senseurs externes de type SPI et I2C
Tempon circulaire d’échange de données.
Environnement : Microchip dsPIC33, AVR Atmega 328-2560, C, C++
• Différentes études et mini prototypes matériels
Étude de fonctionnement d’un mini serveur de page web basé sur microprocesseur de type Propeller de
Parallax. Intéressant ce chip fait pour le parallélisme et son intégration de fonctionnalité, intégration
avec une interface USB et une interface vidéo VGA 320x200.
Réalisation et intégration des quelques design de fonction logiques standards en un forme compact dans
un CPLD.
Environnement : Parallax Propeller, Circuit logique courant, Xilinx CPLD, C
• Développement multilangage de fonctionnalités de structure de données d’usages communs,
dictionnaire, vecteur et matrice.
Implémentation en 3 langages différents, Java, VisualBasic, Autoit. Ces types de structure ce veulent
cohérentes du point de vu de leur interface et facile d’utilisation du point de vue de fonctionnalité,
Un dictionnaire est un groupement de clé-valeur, la gestion de sa taille ce fait de façon dynamiquement.
Vecteur d’objet générique, la gestion de sa taille dynamiquement, quelques fonctions permettant le
calcul vectoriel.
Matrice d’objet générique de dimensions 1 à n, les fonctionnalités permettent :
Le redimensionnement dynamique de la grandeur de chaque dimension, ex. ajout d’une ligne à une
matrice 2D m(2,3) devient m(2,4)
Le redimensoinnement dynamique du nombre de dimension, ex ajout d’une dimension supplémentaire à
une matrice 2D m(2,3) qui devient alors 3D m(2,3,1)
La compression de dimension supporte le traitement spécifique de données affectées (sommation,
agrégation)
Fonctionnalités standard de calcul matriciel, sommation, multiplication, déterminant, etc.
Environnement : Java, VisualBasic, AutoIt
• Développement multilangage d’une interface de lecture écriture des fichiers .ini
Parce qu’avec les dll de Windoze ca ne marche pas fort ! Implémentation Java, VisualBasic, Autoit
Environnement : Java, VisualBasic, AutoIt
• Développement multilanguage d’une interface de passage de paramètres pour programme et script
Méthode de passages et de récupération de paramètres unifiés pour les langages C, Java, VisualBasic,
Autoit
Environnement : C, Java, VisualBasic, AutoIt
• Application de saisie des positions des icones sur le bureau de windoze.
Permet de sauvegarder les valeurs de positions des icones sur le bureau et de les repositionner au
besoin.
Environnement : AutoIt
• Scripts de gestion d’inventaire et de génération de page web
Environnement : AutoIt
• Application Céduleur de taches et de scripts
L’application permet le démarrage de programme et de script basé sur des paramètres de date et temps,
démarrage cyclique etc. L’application remplace les tâches de Windoze qui n’ont jamais été fiables.
Environnement : VisualBasic, AutoIt
• Application de gestion de notes textuelles
L’application permet la prise de note texte et leur classification en arborescence ainsi que leur
sauvegarde.
Environnement : VisualBasic, AutoIt
• Conception et développement d’une application logiciel et d’une interface matérielle permettant la
gestion et le chronométrage d’épreuves de course
Application permet la gestion globale de plusieurs corridor de course, elle gère matériellement le
déclenchement des départs et la détection des faux départs, ainsi que la prise de temps de passage et
de temps d’arrivés, précis aux millièmes de secondes. L’application permet la collection des
informations concernant la configuration et la calibration des corridors, les coureurs, leur temps aux
différent épreuves et d’autres informations sur le terrain. On peut aussi exporter ces données sous
différents formats à la fin des épreuves.
Environnement : Visual Basic, interfaceTexas Instrument, Circuit logique courant et capteur, Xilinx CPLD
PAL, C
• Analyse et implantation d’un prototype d’une couche d’abstraction d’accès objet à une base de
données classique et utilisant ODBC (Object Access Broker)
Environnement : Sun JAVA J2SE, ODBC, SQL
• Développement d’une interface matérielle parallèle complète permettant le prototypage de petits
systèmes électroniques.
Le but est d’offrir une interface de communication bidirectionnel entre un port de communication
parallèle de type PC et une plaque de prototypage de circuit électronique (breadboard).
L’interface implémente le protocole de communication parallèle EPP (Enhanced Parallele Port) et offre
un pilote ainsi qu’une tâche de communication écrite en Java.
Environnement : Circuit logique conventionnel, Xilinx CPLD, Sun JAVA J2SE
• Développement d’utilitaires reliés au domaine de la géo référence (GPS).
Développement d’un parseur de phrase NMEA permettant la communication avec un GPS.
Développement d’un utilitaire permettant l’extraction de coordonnées GPS pour des photographies
digitales, le tout basé sur l’information contenue dans les photos et les traces du GPS.
Environnement : Sun JAVA J2SE, Outils d’automations
• Développement d’utilitaires reliés au domaine de l’aviation.
Développement et mise à jour périodique d’une base de données VFR, basé sur l’information du CFS
(Canadian Flight Supplement), offrant des points de routes pour tous les aéroports et les aides à la
navigation du Québec.
Développement de quelques petits utilitaires permettant l’accès et un traitement personnalisé des
données météorologiques provenant du site de NavCanada, script pagette METAR, script GFA .
Environnement : Outils d’automations
Informagination Inc., sous-contrat pour Les Consultants Objectiva Inc.
Client Les Systèmes Proxima
Janvier 2000 à Décembre 2002
Les Systèmes Proxima développe plusieurs logiciels donc le principal est Mystral.
Mystral est un logiciel de facturation multiservices orienté client offert à des opérateurs de moyenne
taille. Mystral supporte les services comme le téléphone, l’Internet, le câble, les événements de
télévision payants (Pay Per View). Il est aussi un système de facturation complet apte à traiter les
informations concernant les centres administratifs, les clients, la facturation, les inventaires, les réseaux
de distributions. Mystral est un système client-serveur complet, ayant une conception et une
implantation orienté-objet basé sur le langage IBM Smalltalk et le serveur de données Smalltalk
Gemstone.
Comme consultant senior mes rôles sont diversifiés.
• Personne ressource domaine d’affaire, les évènements de télévision payants
En charge de la connaissance et de l’interaction, de la conception et de l’implantation de cette partie du
modèle d’affaire dans Mystral.
• Autre partie du domaine d’affaire de Mystral.
Développement de fonctionnalités dans différentes parties du domaine d’affaire de Mystral, notamment
le secteur de la facturation et de la collection des données de consommation.
• Responsable de la conception et de l’implantation d’un logiciel maison permettant la gestion des
changements dans le développement du logiciel Mystral.
Le logiciel permet de conserver un registre de tous les changements effectués de manière à résoudre
une fonctionnalité ou un problème, code Smalltalk, scripts de création et de modification des bases de
données, pilotes, rapports, etc. Il conserve aussi les intervenants pour un changement, développeur,
analyste qualité, etc., l’état de déploiement de la solution, développement, QA, certification, etc..
Chaque changement peut aussi être regroupé en ensemble de changement pour former ainsi un registre
d’implantation d’une fonctionnalité, d’une version, etc..
• Responsable d’une équipe spéciale d’analyse qualité.
L’équipe avait pour but l’exploration de méthodes d’aide au processus de développement, nous avions
un vide entre les scénarios de test de fonctionnalités utilisés par l’assurance qualité et l’équipe de
certification et, ce qui est offert au développeur dans leur environnement de travail.
Nous avons tenté d’offrir certains scénarios d’affaire simples en guise de test de fumé, par exemple, la
création d’un client, la prise d’une commande simple, la mise en route de la commande, la facturation de
cette commande. Avec ces scénarios simples un développeur peut à la fois tester les parties de logiciel
qu’il connaît peu et utiliser les résultats obtenus pour se constituer un jeu de test pour ces propres tests.
Nous avons aussi fait progresser un progiciel maison de validation par méthode semi-formel, nous
permettant ainsi la validation en mode d’exécution ou différé du modèle d’affaire, relation entre les
classes d’objets, cardinalités des relations, etc..
• Participation à l’équipe de création de nouvelles bases de données possédant les données des
clients.
• Formation.
Participation à l’élaboration de certains objectifs d’apprentissages pour l’intégration des nouveaux
employés. Supervision de nouveaux employés juniors.
Environnement: IBM Smalltalk, Serveur Gemstone Smalltalk, Outil de test TestMentor, Outil
d’automatisation AutoMate, ENVY
Informagination Inc., sous-contrat pour Lockheed Martin, Intrepid Inc et Objectimum.
Client Social Security Administration (SSA), Re-engineered Disability System Team,
Gouvernement des Etats-Unies
juillet 1996 - juin 1999
Le but de ce projet est l’informatisation du processus global de traitement des demandes d’aides
financières des citoyens des différents états des États-Unis ayant certaines incapacités.
• Membre d’une équipe visant à produire certains prototypes en Visual Basic.
Développement de quelques exemples typiques de pattern souvent utilisés lors d’implantation de
modélisations utilisant UML. En autre, schéma d’association entre objets, relation un à un, relation un à
plusieurs et relation plusieurs à plusieurs.
Développement d’un modèle simple d’héritage superposé au modèle primaire de classe de Visual Basic,
ce modèle utilise la délégation comme méthode d’implantation du mécanisme d’héritage.
Reconstruction d’une partie du modèle d’affaire en Visual Basic, de celui existant en Smalltalk,
permettant ainsi certaines importations et exportations de données.
• Développement d’autres prototypes
Développement d’un ensemble d’exemples démontrant la construction des modules DLL, le chargement
d’un module DLL à partir d’un DLL et le chargement d’un DLL à partir d’autres langages, Smalltalk,
Visual Basic et C.
Développement d’un prototype d’une couche d’accès d’objet ODBC utilisant le langage Java. Ce
prototype peut rechercher et sauvegarder des recordset et les transformer en objets de classes Java
représentant le domaine d’affaire.
• Membre de l’équipe en charge du domaine d’affaire relié au Workload Profile
Le but de cette partie du domaine d’affaire est de collecter et de présenter de façon configurable toutes
les activités, états des différents processus d’affaire, charge de travail, cas spéciaux, etc., attribués à un
utilisateur. Les fonctionnalités sont configurables de manière à s’adapter au contexte de chaque classe
d’utilisateurs et aux utilisateurs, elles offrent aussi la possibilité de supervision d’équipes, de gestion des
charges, etc.
Analyse, implantation et correction des différents aspects du module Workload Profil.
Adaptation aux nouveaux processus d’affaire, aux changements requis suite à la mise en production de
la première version, reconfiguration et redesign dans un but d’amélioration de performance et
maintenance.
Analyse et implantation d’un ensemble de scripts SQL permettant le traitement en différé de certains
aspects du module Workload Profil.
• Membre de l’équipe en charge de la configuration et du versionnement du logiciel.
Participation aux recommandations pour un nouvel environnement de configuration et de versionnement
ainsi que l’introduction de nouveaux processus de développement associés.
Développement d’un petit système maison de contrôle de versionnement de fichiers. Développé en Perl
il offre les fonctionnalisées des bases de partages de fichiers et ne requière pas de mise en place
imposante.
Développement et intégration d’un module DLL réalisé en C++ offrant l’accès à certaines fonctionnalités
de bas niveau du système d’exploitation Windows.
• Membre de l’équipe en charge du domaine d’affaire relié au processus Consultative Exam (CE)
Améliorations, corrections et implémentation de différents aspects du module, ce processus supporte la
logistique de validation, par différents intervenants (centre hospitalier, laboratoire, médecin, etc.), de
différents aspects des réclamations d’incapacités de la part des clients du système.
• Formation
Tâche de mentor auprès des employées du SSA pour tous ce qui touche au processus de
développement de logiciel, langages, etc.
• Membre de l’équipe d’analyse qualité.
Exécution de scénario d’affaire et validation du bon fonctionnement du logiciel.
Environnement: WindowNT, Smalltalk Object Studio, Oracle, C++, C, Visual Basic, Java, PERL, CGI.
Groupe DMR Inc.
Client ERICSSON Canada
Mai 1995 - Juillet 1996
• A titre de conseiller et d’architecte et oeuvrant au sein d’un projet pilote englobant la phase
“Vérification et Intégration” des systèmes de téléphonie cellulaire.
Tâches d’architecture et de conception d’une application (MSTT, Mobile Station Tone Tool) de type
client-serveur en temps réel, permettant l’acquisition, l’identification et l’émission des différents signaux
sonores que l’on retrouve en téléphonie cellulaire. Cette application s’intègre dans un environnement
d’outils de vérification et de simulateurs partagés en réseau.
L’application se décompose en différentes fonctionnalités dont: l’interface de communication client-
serveur (2 types de client, usager et programme) utilisant pour se faire une généralisation des
mécanismes de communication, support en autre le protocole TCP-IP, l’interface avec le matériel (8
canaux d’acquisitions et 8 d`émissions simultanées, relais), les fonctions de traitement de signaux
(utilisant le logiciel LabVIEW), etc., le tout fonctionnant en temps réel et intégré sous forme de démons
de système.
• A titre de conseiller et d’architecte et oeuvrant au sein d’un projet pilote englobant la phase
“Vérification et Intégration” des systèmes de téléphonie cellulaire.
Tâches d’architecture d’outils supportant le processus de vérification ainsi que l’exploration de
différentes avenues de recherche se rattachant au domaine.
Et plus précisément le développement de classes d’objets permettant la manipulation dynamique de la
structure d’un document de type SGML, ainsi que la validation certaines métriques reliées au processus
de la phase de Vérification et Intégration.
Environnement: SUN SparcStation, Solaris (Unix), C++, TCP-IP, LabVIEW (National Instrument).
Groupe DMR Inc. Le Macroscope, Groupe Planification Stratégie ( S+ )
Mars 1993 - Avril 1995
• A titre d'analyste et d'architecte pour le Groupe Stratégie.
Analyse et de modélisation de divers aspects de la méthodologie, notamment les processus généraux de
la méthodologie ainsi que de l'environnement méthodologique nécessaire au déploiement de la
méthodologie dans le cadre d'un atelier de prestation.
Tâches d'architectures, d'analyses et de conceptions de deux prototypes logiciels, le premier supportant
la consultation méthodologie sous format électronique HTML et le second étant un atelier de prestation
supportant la méthodologie.
• Analyste et d'architecte pour un groupe multidisciplinaire ayant pour le développement d’outils pour
le développement de méthodes.
Tâches d'analyse conceptuelle et fonctionnelle ayant pour but le développement de composantes
généralisées d'affichage permettant la génération contextué d'interface de type copie-coller (Drag And
Drop) et multiple documents (MDI - Multiple Document Interface). La génération d'interface est
effectuée à partir d'une modélisation de type déclarative de l'aspect présentation d'une application et est
traduite par un constructeur en une structure fonctionnelle de composantes.
Analyse, développement et intégration de différentes composantes d'un outil d'aide à la performance
intégrant la consultation de la méthodologie ainsi que son atelier de prestation. Le support informatique
inclut les fonctionnalités d'un référentiel, supportant les méta-modèles, modèles et instances de type
Entité-Relation et DPM (Dynamic Process Modeling).
Environnement: Smalltalk (Visual Work), HTML, SGML, Visual Basic, Macro Word 6.0
Solutions Temps Réel Inc.
Juin 1992 à Juillet 1992
Solutions Temps Réel Inc. est une entreprise offrant des services de génies conseils et de
développement de solution à des problèmes comportant des aspects électriques, d'automatisations et de
programmations.
• Analyse un petit système en temps-réel.
Analyse conceptuelle et fonctionnelle préliminaire d'un système de commande et d'acquisition de
données en temps réel tolérant aux fautes (pannes électriques, bris de composantes, etc.), permettant
l'ouverture et la fermeture synchrone d'un disjoncteur sur une ligne électrique triphasée haute tension.
Le système est un sous-système d'un poste de contrôle central. Il repose sur un noyau multitâche temps
réel et a comme processeur central un microcontrôleur Motorola 68HC11.
Environnement: micro-contrôleur MC68HC11, système d'exploitation en temps réel, C, Assembleur.
Développement
Travailleur autonome
• Analyse et implantation d’un système en temps réel.
Analyse et élaboration d'un progiciel, écrit en langage C et assembleur, implantant un noyau multitâche
temps réel. Ce noyau offre la possibilité de gérer de petits processus (light weight process) en temps réel
et en temps partagé, de façon dynamique (création et destruction), il offre les services d'un allocateur de
mémoire à accès concurrent, les définitions de structures de données et les services reliés à la gestion
de sémaphores et de moniteurs, la possibilité de communication de type Rendez-vous entre processus,
un module d’entré/sortie concurrent pour les ports séries, et l’analyste permettant le support des
coprocesseurs. Le noyau est conçu de manière modulaire et est disponible sous forme de librairie C.
Environnement: C, Assembleur, IBM PC, BIOS
• Outils de développement
Analyse et formalisation d'un standard de documentation des fichiers sources pour les langages C et C+
+. Élaboration d'outils d'aides à la gestion du code source.
Environnement: C++, C, Prolog
Zuniq Corp.
Novembre 1989 à Novembre 1990
Zuniq Corp. est une entreprise qui a oeuvré dans des programmes de recherches et de développements
dans les domaines de la programmation orienté objet et acteur ainsi que dans le développement de
systèmes experts à base d'acteurs et d'agents. Elle a aussi développé des produits logiciels ainsi que
matériels.
• Responsable de projet et de chercheur
Recherche et analyse de différents domaines, reliés à la programmation orientée objet, dans le but d'une
intégration à une nouvelle version du gestionnaire d'application Smalltalk CodeImager de différentes
fonctionnalités dont: l'interfaçage graphique, permettant la détection et la visualisation dynamique des
collisions entre les applications, classes et méthodes, la réalisation d'un prototype d'interpréteur de code
compilé Smalltalk, permettant la validation du code Smalltalk par des méthodes semi-formelles.
L'élaboration de la partie tutoriale et révision globale du manuel usager de la première version du
logiciel.
Présentation du logiciel à la conférence SCOOP Europe 1990.
Élaboration et implantation d'une plate-forme de développement pour les langages de type acteur dans
l'environnement Smalltalk, le modèle générale de fonctionnement se veut une extension des modèles
développés par J.P. Briot, Gul Agha et Carl Hewitt et intègre, de façon transparente au langage,
différents types de messages «Past», «Future» et «Now» . La plate-forme permet une implantation et
gestion uniforme et souple de la concurrence en Smalltalk au moyen d'acteurs et d'agents. Élaboration
d'un dévermineur minimal pour la plate-forme acteur décrite plus haut.
Environnement: Macinstosh, Smalltalk (Digitalk).
Tecrad Inc.
Janvier 1988 à Avril 1989
Tecrad Inc. est une compagnie possédant de l'expertise et oeuvrant dans le domaine de la vérification
de la qualité des matériaux par des méthodes de tests non-destructifs.
• Membre de l’équipe TOMOSCAN
Le TOMOSCAN est un appareil de test non-destructif par ultrason. Il a pour base le bus industriel VME,
est une machine configurable en mono ou multiprocesseur et possède un système d'exploitation
multitâche en temps réel. Le processeur de base est un MC68020.
Analyse, conception et intégration, d'un lien de communication parallèle haute vitesse de type GPIB
(IEEE.488) entre l'appareil TOMOSCAN et un ordinateur de type Sun. Mise en place des mécanismes
de contrôle des cartes GPIB, du protocole de communication standard (IEEE.488) et d'un interpréteur de
commande de haut niveau.
Analyse et implantation de modules de compression et extension verticale et horizontale de données (A-
Scan et B-Scan) permettant le traitement et la représentation graphique des données échantillonnées en
temps réel. Analyse et implantation d'un module d'affichage de donnée. Ce module étant une
généralisation d'un afficheur de donnée de type B-Scan en 2 dimensions. Ces modules sont implantés à
l'aide d'algorithmes offrant le maximum de performance et utilisant dans certains cas, un support
matériel optimisé.
Environnement: Machine multitâche et multiprocesseur, Système d'exploitation en temps réel, Bus
industriel VME, Lien de communication IEEE 488, Ordinateur Sun et Unix, IBM PC, C, Assembleur
• Logiciel TCR180
Analyse et conception du logiciel TCR180. Ce logiciel offre les fonctionnalités de calcul de l'épaisseur
d'un échantillon de matériel et le calcul de vitesse de propagation du son à l'intérieur d'un échantillon. Il
utilise pour ce faire des techniques de test non-destructif de matériaux par des méthodes ultrasons,
différentes fonctionnalités de traitement de signaux, ainsi que d'imagerie graphique.
Environnement: Traitement de signaux, IBM PC, C, Assembleur
• Projet de fin d’étude
Analyse et développement d'un ensemble de fonctionnalités permettant l'intégration et l'interfaçage, les
transferts de données et la synchronisation, entre un ordinateur compatible IBM, un oscilloscope
numérique, pouvant effectuer des fonctions mathématiques et des fonctions de traitement de signal,
ainsi que de deux moteurs pas à pas linéaires contrôlant le déplacement de la sonde d'échantillonnage
de l'oscilloscope.
Environnement: C, IBM PC, Moteur linéaire pas à pas, Oscilloscope HP
Ville de Québec, Service de l'Organisation du Travail et de l'Informatique
Été 1987, emploi d’été
• Analyse d’un système d’inventaire.
Analyse et élaboration d'un système à base de données permettant la gestion informatisée des requêtes
et des besoins des usagers ainsi que l'inventaire des ressources matérielles du service.
Environnement: IBM PC, Base de données relationnelles (DBase).
FORMATIONS
Baccalauréat en Informatique de génie
Mai 1988
Université Laval
Québec, Canada, G1K 7P4
(418) 656-3333
Formation Professionnelle
• Formation générale sur CMM
• Formation en inspection sur CMM
Cours de niveau Baccalauréat :
• Électroacoustique (3 crédits)
• Psychologie générale (3 crédits)
• Introduction aux médias (3 crédits)
• Circuits et Systèmes Linéaires (4 crédits)
• Circuits (4 crédits)
• Électrotechnique (3 crédits)
• Résistance des matériaux (3 crédits)
• Physique des ondes (3 crédits)
• …
Autre formation
• Licence de pilote privé canadienne – avion
Tous les avions terrestres monomoteurs autres que ceux à hautes performances, dont l’équipage
minimal est d’un seul pilote.
Annotation Vol de nuit.
• Cours théorique pour l’obtention de la licence de pilote commercial.
Passe-temps
Mécanique, Bricolage rénovation, Travail du bois.

Contenu connexe

Similaire à _JCVFr

Fichier_Compétences
Fichier_CompétencesFichier_Compétences
Fichier_CompétencesYang Fei
 
soft-shake.ch - Domotique et robotique avec le micro Framework .NET
soft-shake.ch - Domotique et robotique avec le micro Framework .NETsoft-shake.ch - Domotique et robotique avec le micro Framework .NET
soft-shake.ch - Domotique et robotique avec le micro Framework .NETsoft-shake.ch
 
.NET Microframework: du code, de l’électronique, de la robotique
.NET Microframework: du code, de l’électronique, de la robotique.NET Microframework: du code, de l’électronique, de la robotique
.NET Microframework: du code, de l’électronique, de la robotiqueMicrosoft
 
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesBreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesXavier MARIN
 
Cours de microcontrôleurs
Cours de microcontrôleursCours de microcontrôleurs
Cours de microcontrôleurssarah Benmerzouk
 
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...Microsoft Technet France
 
Codedarmor 2012 - 03/04 - Android, What else?
Codedarmor 2012 - 03/04 - Android, What else?Codedarmor 2012 - 03/04 - Android, What else?
Codedarmor 2012 - 03/04 - Android, What else?codedarmor
 
Mise en place d’un laboratoire de sécurité « Scénarios d’Attaques et Détectio...
Mise en place d’un laboratoire de sécurité « Scénarios d’Attaques et Détectio...Mise en place d’un laboratoire de sécurité « Scénarios d’Attaques et Détectio...
Mise en place d’un laboratoire de sécurité « Scénarios d’Attaques et Détectio...Trésor-Dux LEBANDA
 
Scub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libreScub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libreStéphane Traumat
 
2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanne2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanneDidier Durand
 
PIST(Panafric institut of strategy and Technology) formation.pptx
PIST(Panafric institut of strategy and Technology) formation.pptxPIST(Panafric institut of strategy and Technology) formation.pptx
PIST(Panafric institut of strategy and Technology) formation.pptxMERVEILLEILLONASIGNE
 
3 Microsoft Advanced Threat Analytics - Genève
3   Microsoft Advanced Threat Analytics - Genève3   Microsoft Advanced Threat Analytics - Genève
3 Microsoft Advanced Threat Analytics - GenèveaOS Community
 
Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"
Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"
Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"Smile I.T is open
 

Similaire à _JCVFr (20)

Fichier_Compétences
Fichier_CompétencesFichier_Compétences
Fichier_Compétences
 
soft-shake.ch - Domotique et robotique avec le micro Framework .NET
soft-shake.ch - Domotique et robotique avec le micro Framework .NETsoft-shake.ch - Domotique et robotique avec le micro Framework .NET
soft-shake.ch - Domotique et robotique avec le micro Framework .NET
 
.NET Microframework: du code, de l’électronique, de la robotique
.NET Microframework: du code, de l’électronique, de la robotique.NET Microframework: du code, de l’électronique, de la robotique
.NET Microframework: du code, de l’électronique, de la robotique
 
BourrezCVFrançais
BourrezCVFrançaisBourrezCVFrançais
BourrezCVFrançais
 
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesBreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
 
Usine Logicielle 2013
Usine Logicielle 2013Usine Logicielle 2013
Usine Logicielle 2013
 
Cours de microcontrôleurs
Cours de microcontrôleursCours de microcontrôleurs
Cours de microcontrôleurs
 
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
 
Démo puppet et état du projet
Démo puppet et état du projetDémo puppet et état du projet
Démo puppet et état du projet
 
my_resume(fre)
my_resume(fre)my_resume(fre)
my_resume(fre)
 
Codedarmor 2012 - 03/04 - Android, What else?
Codedarmor 2012 - 03/04 - Android, What else?Codedarmor 2012 - 03/04 - Android, What else?
Codedarmor 2012 - 03/04 - Android, What else?
 
Mise en place d’un laboratoire de sécurité « Scénarios d’Attaques et Détectio...
Mise en place d’un laboratoire de sécurité « Scénarios d’Attaques et Détectio...Mise en place d’un laboratoire de sécurité « Scénarios d’Attaques et Détectio...
Mise en place d’un laboratoire de sécurité « Scénarios d’Attaques et Détectio...
 
Scub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libreScub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libre
 
2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanne2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanne
 
MERAZKA Messaoud
MERAZKA MessaoudMERAZKA Messaoud
MERAZKA Messaoud
 
PIST(Panafric institut of strategy and Technology) formation.pptx
PIST(Panafric institut of strategy and Technology) formation.pptxPIST(Panafric institut of strategy and Technology) formation.pptx
PIST(Panafric institut of strategy and Technology) formation.pptx
 
programme-42
programme-42programme-42
programme-42
 
3 Microsoft Advanced Threat Analytics - Genève
3   Microsoft Advanced Threat Analytics - Genève3   Microsoft Advanced Threat Analytics - Genève
3 Microsoft Advanced Threat Analytics - Genève
 
Microcontroleur
MicrocontroleurMicrocontroleur
Microcontroleur
 
Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"
Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"
Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"
 

_JCVFr

  • 1. Jean Claude Viens viensjc@videotron.ca 7085, place Joseph-Michaud, Apt. 302 Montréal, Qc, H1E 6K8 (514) 325-0500 PROFIL Analyste en Informatique de Génie, je possède plus de 15 ans d'expérience en informatique, à titre d’analyste, de programmeur et de chercheur. Je possède de l’expérience répartit principalement dans les domaines de, l’analyse et la conception orienté-objet, des systèmes clients-serveurs supportant des processus d’affaires complexes, des systèmes en temps réel, de contrôle et acquisition de données, en recherche et développement de prototypes, etc. EXPÉRIENCES Comme Analyste en Informatique Travailleur autonome En progression • Design et début intégration d’un système répartie Le Party avec Les Amis (en cours) L’idée de départ étant de renouveller un prototype de systéme client serveur répartie sur un réseau local. L’utilisation d’une librairie disponible de type distribué permettant la communication et le partage de données de facon simple à travers tout réseau local, on peut en autre avoir differentes structures de donnée, bus d’évènements, tableau noir (blackboard), collections génériques etc. , cette librairie sera utilisé en conjonction avec une autre librarie d’implantation de serveur tcpip basé un sur concept d’acteur ( à la Gul Agha et Carl Hewitt, J.P. Briot) donc utilisant un concept de parallèlisme acteur avec passage de message asynchrone avec continuation, cette librairie est implanté sur une plateforme de machine virtuelle Java, et est donc « transportable » sur différentes types d’architecture, pc-windows-unix, peut etre meme android et certains micro-controleurs. Certaine sections du projet LeParty reste toutefois à préciser comme par exemple la gestion dun maitre de cérémonie qui gère l’arrivés et les départs des Amis (arrêt et démarrage des serveurs, et node de réseau). et … bien sur integration de quelque autres idées … :o) Environnement : Java, LAN, librairies Hazelcast et Vertx, plusieurs platforme pc windoze-linux. • Projet robot (en cours)
  • 2. Construction d’une base roulante, moteurs, encodeurs de position, hbridge, basé sur un Atmega 2560, logiciel de commande de bas niveau et de calibration, couche logiciel de niveau 2 exécution des séquences de commande. Et encore bien de choses à intégrer ! Environnement : Avr AtMega2560 AVR Studio AVR Dragon, C, C++, OS maison • Projet Bras robotisé (en cours) Assemblage d’un kit et test des fonctionnalitées de base, mouvement et acquisition de position, développement de servo actuacteur avec une sortie accessible de positionnement. Debut d’analyse permettant l’ajout du servo additionnel et certaines modifications de la pince. Et encore bien de choses à intégrer ! Environnement : Avr AtMega2560 AVR Studio AVR Dragon, C, C++, OS maison, 3Dprinting, CAD • Étude personelle (en cours) Étude personnel assez vaste du monde du DIY, Arduino, et Open source, mise à jour de mes connaissances de base en électronique, transistor, accéléromêtre, gyroscope, senseur ultrason, registre IO, hbridge, ainsi que les differents protocoles de communication qui s’y attache, SPI, I2C, UART, USB etc … Environnement : Microchip Pic et Atmel Atmega 328p 2560 AVR Studio AVR Dragon etc… C, C++, etc… Comme technicien en informatique bureautique • Offre des services de type technique pour matérielle haut de gamme. Configuration matérielle et logicielle d’ordinateurs de haute gamme. Système multi moniteur SLI, Xfire. Étude de différent systèmes RAID 0 1 5. Déploiement de réseau gigabit et intégration de serveur. Étude d’intégration de ordinateur/système d’exploitation (Microsoft, Linux) Configuration ordinateur serveur « headless » avec linux Ubuntu (intégration VNC, réseau, etc.) Configuration réseau résistant aux pannes de courant. • Offre des services de type technique au détail pour des clients. Configuration matérielle et logicielle d’ordinateurs, carte-mère, os, disque dur, etc. Configuration de réseaux locaux, routers, switches, hubs, imprimantes, anti-virus, pare-feu, etc. Installation et configuration de logiciel d’usage courant. Comme Analyste et Programmeur en Informatique Travailleur Autonome
  • 3. • Utilitaire afficheur automatisé de petites annonces gratuites sur un site bien connu  L’utilitaire permet de gérer ses petites annonces dans un fichier de type Excel et de choisir lesquelles seront posté en ligne. L’utilitaire permet de remplir automatiquement tous les champs de l’interface web du site d’annonce. Environnement : Automatisation de Internet Explorer, Autoit, macro Excel • Echantillionneur de couleur matériel prototype Librairie utilisable les différents temporisateurs (timers) matériels d’un Atmel328p permettant le calcul de fréquence de signaux de base du chip de décodage de couleur en fréquence. On peut donc caractérisé une couleur par les informations de base rouge vert bleu ainsi que l’intensité de la lumière. Librairie d’affichage de couleur sur les néoLED 3 couleurs. Environnement : Atmel328p Atmel AVR Studio Avr Dragon, C, C++, Arduino • Serveur web donnant acces à l’état de différentes portes de mon garage V1. Le serveur web sur réseau local offre les informations, d’états des portes ouvertes ou fermées de mon garage  Basé sur un de mes mini OS a base de coroutines et tournant sur un Atmel328p (arduino), un board éthernet Wiznet5100(arduino) et un interface fait maison indicateurs d’état et switches etc. Le serveur se veut aussi un essai de dévelloppement de code arduino à l’intérieur des fonctionnalitées de développement de Atmel, donc AVR studio et utilisation d’un debuggeur en mode debugWire. Environnement : Atmel AVR Studio Avr Dragon, C, C++, Arduino, OS maison, Gtk Python • Interface USB CDC (émulation de port série) entre une tablette Android et un microcontroleur Prototype d’une interface USB CDC, émulation de port série, entre une tablette Android et un microcontroller 18F2550. Le tout aurait du être facile, mais les fonctions d’interface CDC sur la pile USB pour les processeurs 8bits n’ont pas «encore» été portées correctement vers le compilateur XC8 de l’environnement MPLABX, il a donc été nécessaire de modifier la pile USB pour pouvoir poursuivre le développement avec le code existant dans l’environnement MPLABX, bref maintenant on s’échange un «Hello world» … Environnement : Android, Java, PIC MPLABX, C, C++ • Imprimante 3D Construction d’une imprimante 3D Reprap, exploration et utilisation pour la réalisation de pièces et de quelques prototypes, engrenage, support et boitier, petits bidules comme un assemblage servant de pan et tilt pour une caméra intégrant des moteurs servo. Environnement : Eckerbot, Prusa, plusieurs CAD et programmes de commande de machine outils. • Developpement d’un prototype de développement. A partir du board existant à base d’un Pic, déconstruction et reconstruction d’une platforme permettant le prototypage et incluant une horloge temps réel, registres IO, affichage a 7segments, etc.. Environnement : Pic, C
  • 4. • Construction des 2 types d’horloges. A partir d’éléments d’horloge courante conception d’une horloge 24h ainsi que d’une horloge bizarre donnant l’heure et les minutes à heure juste mais donc les secondes sont erratiques. J’utilise présentement une de ces horloge aux fins de test de piles de type li-ion. Environnement : Pic, C, Li-Ion • Analyse d’un système générique de moniteur-condition pour un système en temps réel. Suite à la réimplémentation d’un système de moniteur dans un micro-os PIC, l’implémentation d’un concept plus générique de moniteur (voir M. Hoare et M. Dijkstra) est réalisable, celui-ci permettra l’utilisation de moniteur à l’intérieur de moniteur  se qui serait avantageux dans le cas de systèmes possédant des sous-systèmes complexe (ex. le sous-système de gestion de moteurs électriques dans une machines complexe) Environnement : C • Développement d’un micro-os à base de coroutine pour PIC et AtMega Ce micro noyau est simple et compacte, il offre tâche, sémaphore et moniteur – condition, ainsi que des fonctionnalités de temporisation. Les tâches sont de type coroutine, les sémaphores ainsi que les conditions des moniteurs offrent des services en utilisation normale et en mode d’interruption du processeur. Ces structures du noyau sont facilement paramêtrisables et définies de façon statique à la compilation. Des librairies de périphériques ont été développé permettant : La communication sérielle sur les 2 ports de communication (UART), avec tampon d’entré- sortie et géré par interruption, ainsi qu’avec l’interface USB La gestion de l’horloge interne en temps réel La gestion de communication avec les senseurs externes de type SPI et I2C Tempon circulaire d’échange de données. Environnement : Microchip dsPIC33, AVR Atmega 328-2560, C, C++ • Différentes études et mini prototypes matériels Étude de fonctionnement d’un mini serveur de page web basé sur microprocesseur de type Propeller de Parallax. Intéressant ce chip fait pour le parallélisme et son intégration de fonctionnalité, intégration avec une interface USB et une interface vidéo VGA 320x200. Réalisation et intégration des quelques design de fonction logiques standards en un forme compact dans un CPLD. Environnement : Parallax Propeller, Circuit logique courant, Xilinx CPLD, C • Développement multilangage de fonctionnalités de structure de données d’usages communs, dictionnaire, vecteur et matrice.
  • 5. Implémentation en 3 langages différents, Java, VisualBasic, Autoit. Ces types de structure ce veulent cohérentes du point de vu de leur interface et facile d’utilisation du point de vue de fonctionnalité, Un dictionnaire est un groupement de clé-valeur, la gestion de sa taille ce fait de façon dynamiquement. Vecteur d’objet générique, la gestion de sa taille dynamiquement, quelques fonctions permettant le calcul vectoriel. Matrice d’objet générique de dimensions 1 à n, les fonctionnalités permettent : Le redimensionnement dynamique de la grandeur de chaque dimension, ex. ajout d’une ligne à une matrice 2D m(2,3) devient m(2,4) Le redimensoinnement dynamique du nombre de dimension, ex ajout d’une dimension supplémentaire à une matrice 2D m(2,3) qui devient alors 3D m(2,3,1) La compression de dimension supporte le traitement spécifique de données affectées (sommation, agrégation) Fonctionnalités standard de calcul matriciel, sommation, multiplication, déterminant, etc. Environnement : Java, VisualBasic, AutoIt • Développement multilangage d’une interface de lecture écriture des fichiers .ini Parce qu’avec les dll de Windoze ca ne marche pas fort ! Implémentation Java, VisualBasic, Autoit Environnement : Java, VisualBasic, AutoIt • Développement multilanguage d’une interface de passage de paramètres pour programme et script Méthode de passages et de récupération de paramètres unifiés pour les langages C, Java, VisualBasic, Autoit Environnement : C, Java, VisualBasic, AutoIt • Application de saisie des positions des icones sur le bureau de windoze. Permet de sauvegarder les valeurs de positions des icones sur le bureau et de les repositionner au besoin. Environnement : AutoIt • Scripts de gestion d’inventaire et de génération de page web Environnement : AutoIt • Application Céduleur de taches et de scripts L’application permet le démarrage de programme et de script basé sur des paramètres de date et temps, démarrage cyclique etc. L’application remplace les tâches de Windoze qui n’ont jamais été fiables. Environnement : VisualBasic, AutoIt
  • 6. • Application de gestion de notes textuelles L’application permet la prise de note texte et leur classification en arborescence ainsi que leur sauvegarde. Environnement : VisualBasic, AutoIt • Conception et développement d’une application logiciel et d’une interface matérielle permettant la gestion et le chronométrage d’épreuves de course Application permet la gestion globale de plusieurs corridor de course, elle gère matériellement le déclenchement des départs et la détection des faux départs, ainsi que la prise de temps de passage et de temps d’arrivés, précis aux millièmes de secondes. L’application permet la collection des informations concernant la configuration et la calibration des corridors, les coureurs, leur temps aux différent épreuves et d’autres informations sur le terrain. On peut aussi exporter ces données sous différents formats à la fin des épreuves. Environnement : Visual Basic, interfaceTexas Instrument, Circuit logique courant et capteur, Xilinx CPLD PAL, C • Analyse et implantation d’un prototype d’une couche d’abstraction d’accès objet à une base de données classique et utilisant ODBC (Object Access Broker) Environnement : Sun JAVA J2SE, ODBC, SQL • Développement d’une interface matérielle parallèle complète permettant le prototypage de petits systèmes électroniques. Le but est d’offrir une interface de communication bidirectionnel entre un port de communication parallèle de type PC et une plaque de prototypage de circuit électronique (breadboard). L’interface implémente le protocole de communication parallèle EPP (Enhanced Parallele Port) et offre un pilote ainsi qu’une tâche de communication écrite en Java. Environnement : Circuit logique conventionnel, Xilinx CPLD, Sun JAVA J2SE • Développement d’utilitaires reliés au domaine de la géo référence (GPS). Développement d’un parseur de phrase NMEA permettant la communication avec un GPS. Développement d’un utilitaire permettant l’extraction de coordonnées GPS pour des photographies digitales, le tout basé sur l’information contenue dans les photos et les traces du GPS. Environnement : Sun JAVA J2SE, Outils d’automations • Développement d’utilitaires reliés au domaine de l’aviation. Développement et mise à jour périodique d’une base de données VFR, basé sur l’information du CFS (Canadian Flight Supplement), offrant des points de routes pour tous les aéroports et les aides à la navigation du Québec.
  • 7. Développement de quelques petits utilitaires permettant l’accès et un traitement personnalisé des données météorologiques provenant du site de NavCanada, script pagette METAR, script GFA . Environnement : Outils d’automations Informagination Inc., sous-contrat pour Les Consultants Objectiva Inc. Client Les Systèmes Proxima Janvier 2000 à Décembre 2002 Les Systèmes Proxima développe plusieurs logiciels donc le principal est Mystral. Mystral est un logiciel de facturation multiservices orienté client offert à des opérateurs de moyenne taille. Mystral supporte les services comme le téléphone, l’Internet, le câble, les événements de télévision payants (Pay Per View). Il est aussi un système de facturation complet apte à traiter les informations concernant les centres administratifs, les clients, la facturation, les inventaires, les réseaux de distributions. Mystral est un système client-serveur complet, ayant une conception et une implantation orienté-objet basé sur le langage IBM Smalltalk et le serveur de données Smalltalk Gemstone. Comme consultant senior mes rôles sont diversifiés. • Personne ressource domaine d’affaire, les évènements de télévision payants En charge de la connaissance et de l’interaction, de la conception et de l’implantation de cette partie du modèle d’affaire dans Mystral. • Autre partie du domaine d’affaire de Mystral. Développement de fonctionnalités dans différentes parties du domaine d’affaire de Mystral, notamment le secteur de la facturation et de la collection des données de consommation. • Responsable de la conception et de l’implantation d’un logiciel maison permettant la gestion des changements dans le développement du logiciel Mystral. Le logiciel permet de conserver un registre de tous les changements effectués de manière à résoudre une fonctionnalité ou un problème, code Smalltalk, scripts de création et de modification des bases de données, pilotes, rapports, etc. Il conserve aussi les intervenants pour un changement, développeur, analyste qualité, etc., l’état de déploiement de la solution, développement, QA, certification, etc.. Chaque changement peut aussi être regroupé en ensemble de changement pour former ainsi un registre d’implantation d’une fonctionnalité, d’une version, etc.. • Responsable d’une équipe spéciale d’analyse qualité. L’équipe avait pour but l’exploration de méthodes d’aide au processus de développement, nous avions un vide entre les scénarios de test de fonctionnalités utilisés par l’assurance qualité et l’équipe de certification et, ce qui est offert au développeur dans leur environnement de travail. Nous avons tenté d’offrir certains scénarios d’affaire simples en guise de test de fumé, par exemple, la création d’un client, la prise d’une commande simple, la mise en route de la commande, la facturation de cette commande. Avec ces scénarios simples un développeur peut à la fois tester les parties de logiciel qu’il connaît peu et utiliser les résultats obtenus pour se constituer un jeu de test pour ces propres tests.
  • 8. Nous avons aussi fait progresser un progiciel maison de validation par méthode semi-formel, nous permettant ainsi la validation en mode d’exécution ou différé du modèle d’affaire, relation entre les classes d’objets, cardinalités des relations, etc.. • Participation à l’équipe de création de nouvelles bases de données possédant les données des clients. • Formation. Participation à l’élaboration de certains objectifs d’apprentissages pour l’intégration des nouveaux employés. Supervision de nouveaux employés juniors. Environnement: IBM Smalltalk, Serveur Gemstone Smalltalk, Outil de test TestMentor, Outil d’automatisation AutoMate, ENVY Informagination Inc., sous-contrat pour Lockheed Martin, Intrepid Inc et Objectimum. Client Social Security Administration (SSA), Re-engineered Disability System Team, Gouvernement des Etats-Unies juillet 1996 - juin 1999 Le but de ce projet est l’informatisation du processus global de traitement des demandes d’aides financières des citoyens des différents états des États-Unis ayant certaines incapacités. • Membre d’une équipe visant à produire certains prototypes en Visual Basic. Développement de quelques exemples typiques de pattern souvent utilisés lors d’implantation de modélisations utilisant UML. En autre, schéma d’association entre objets, relation un à un, relation un à plusieurs et relation plusieurs à plusieurs. Développement d’un modèle simple d’héritage superposé au modèle primaire de classe de Visual Basic, ce modèle utilise la délégation comme méthode d’implantation du mécanisme d’héritage. Reconstruction d’une partie du modèle d’affaire en Visual Basic, de celui existant en Smalltalk, permettant ainsi certaines importations et exportations de données. • Développement d’autres prototypes Développement d’un ensemble d’exemples démontrant la construction des modules DLL, le chargement d’un module DLL à partir d’un DLL et le chargement d’un DLL à partir d’autres langages, Smalltalk, Visual Basic et C. Développement d’un prototype d’une couche d’accès d’objet ODBC utilisant le langage Java. Ce prototype peut rechercher et sauvegarder des recordset et les transformer en objets de classes Java représentant le domaine d’affaire. • Membre de l’équipe en charge du domaine d’affaire relié au Workload Profile
  • 9. Le but de cette partie du domaine d’affaire est de collecter et de présenter de façon configurable toutes les activités, états des différents processus d’affaire, charge de travail, cas spéciaux, etc., attribués à un utilisateur. Les fonctionnalités sont configurables de manière à s’adapter au contexte de chaque classe d’utilisateurs et aux utilisateurs, elles offrent aussi la possibilité de supervision d’équipes, de gestion des charges, etc. Analyse, implantation et correction des différents aspects du module Workload Profil. Adaptation aux nouveaux processus d’affaire, aux changements requis suite à la mise en production de la première version, reconfiguration et redesign dans un but d’amélioration de performance et maintenance. Analyse et implantation d’un ensemble de scripts SQL permettant le traitement en différé de certains aspects du module Workload Profil. • Membre de l’équipe en charge de la configuration et du versionnement du logiciel. Participation aux recommandations pour un nouvel environnement de configuration et de versionnement ainsi que l’introduction de nouveaux processus de développement associés. Développement d’un petit système maison de contrôle de versionnement de fichiers. Développé en Perl il offre les fonctionnalisées des bases de partages de fichiers et ne requière pas de mise en place imposante. Développement et intégration d’un module DLL réalisé en C++ offrant l’accès à certaines fonctionnalités de bas niveau du système d’exploitation Windows. • Membre de l’équipe en charge du domaine d’affaire relié au processus Consultative Exam (CE) Améliorations, corrections et implémentation de différents aspects du module, ce processus supporte la logistique de validation, par différents intervenants (centre hospitalier, laboratoire, médecin, etc.), de différents aspects des réclamations d’incapacités de la part des clients du système. • Formation Tâche de mentor auprès des employées du SSA pour tous ce qui touche au processus de développement de logiciel, langages, etc. • Membre de l’équipe d’analyse qualité. Exécution de scénario d’affaire et validation du bon fonctionnement du logiciel. Environnement: WindowNT, Smalltalk Object Studio, Oracle, C++, C, Visual Basic, Java, PERL, CGI. Groupe DMR Inc. Client ERICSSON Canada Mai 1995 - Juillet 1996 • A titre de conseiller et d’architecte et oeuvrant au sein d’un projet pilote englobant la phase “Vérification et Intégration” des systèmes de téléphonie cellulaire.
  • 10. Tâches d’architecture et de conception d’une application (MSTT, Mobile Station Tone Tool) de type client-serveur en temps réel, permettant l’acquisition, l’identification et l’émission des différents signaux sonores que l’on retrouve en téléphonie cellulaire. Cette application s’intègre dans un environnement d’outils de vérification et de simulateurs partagés en réseau. L’application se décompose en différentes fonctionnalités dont: l’interface de communication client- serveur (2 types de client, usager et programme) utilisant pour se faire une généralisation des mécanismes de communication, support en autre le protocole TCP-IP, l’interface avec le matériel (8 canaux d’acquisitions et 8 d`émissions simultanées, relais), les fonctions de traitement de signaux (utilisant le logiciel LabVIEW), etc., le tout fonctionnant en temps réel et intégré sous forme de démons de système. • A titre de conseiller et d’architecte et oeuvrant au sein d’un projet pilote englobant la phase “Vérification et Intégration” des systèmes de téléphonie cellulaire. Tâches d’architecture d’outils supportant le processus de vérification ainsi que l’exploration de différentes avenues de recherche se rattachant au domaine. Et plus précisément le développement de classes d’objets permettant la manipulation dynamique de la structure d’un document de type SGML, ainsi que la validation certaines métriques reliées au processus de la phase de Vérification et Intégration. Environnement: SUN SparcStation, Solaris (Unix), C++, TCP-IP, LabVIEW (National Instrument). Groupe DMR Inc. Le Macroscope, Groupe Planification Stratégie ( S+ ) Mars 1993 - Avril 1995 • A titre d'analyste et d'architecte pour le Groupe Stratégie. Analyse et de modélisation de divers aspects de la méthodologie, notamment les processus généraux de la méthodologie ainsi que de l'environnement méthodologique nécessaire au déploiement de la méthodologie dans le cadre d'un atelier de prestation. Tâches d'architectures, d'analyses et de conceptions de deux prototypes logiciels, le premier supportant la consultation méthodologie sous format électronique HTML et le second étant un atelier de prestation supportant la méthodologie. • Analyste et d'architecte pour un groupe multidisciplinaire ayant pour le développement d’outils pour le développement de méthodes. Tâches d'analyse conceptuelle et fonctionnelle ayant pour but le développement de composantes généralisées d'affichage permettant la génération contextué d'interface de type copie-coller (Drag And Drop) et multiple documents (MDI - Multiple Document Interface). La génération d'interface est effectuée à partir d'une modélisation de type déclarative de l'aspect présentation d'une application et est traduite par un constructeur en une structure fonctionnelle de composantes. Analyse, développement et intégration de différentes composantes d'un outil d'aide à la performance intégrant la consultation de la méthodologie ainsi que son atelier de prestation. Le support informatique inclut les fonctionnalités d'un référentiel, supportant les méta-modèles, modèles et instances de type Entité-Relation et DPM (Dynamic Process Modeling). Environnement: Smalltalk (Visual Work), HTML, SGML, Visual Basic, Macro Word 6.0
  • 11. Solutions Temps Réel Inc. Juin 1992 à Juillet 1992 Solutions Temps Réel Inc. est une entreprise offrant des services de génies conseils et de développement de solution à des problèmes comportant des aspects électriques, d'automatisations et de programmations. • Analyse un petit système en temps-réel. Analyse conceptuelle et fonctionnelle préliminaire d'un système de commande et d'acquisition de données en temps réel tolérant aux fautes (pannes électriques, bris de composantes, etc.), permettant l'ouverture et la fermeture synchrone d'un disjoncteur sur une ligne électrique triphasée haute tension. Le système est un sous-système d'un poste de contrôle central. Il repose sur un noyau multitâche temps réel et a comme processeur central un microcontrôleur Motorola 68HC11. Environnement: micro-contrôleur MC68HC11, système d'exploitation en temps réel, C, Assembleur. Développement Travailleur autonome • Analyse et implantation d’un système en temps réel. Analyse et élaboration d'un progiciel, écrit en langage C et assembleur, implantant un noyau multitâche temps réel. Ce noyau offre la possibilité de gérer de petits processus (light weight process) en temps réel et en temps partagé, de façon dynamique (création et destruction), il offre les services d'un allocateur de mémoire à accès concurrent, les définitions de structures de données et les services reliés à la gestion de sémaphores et de moniteurs, la possibilité de communication de type Rendez-vous entre processus, un module d’entré/sortie concurrent pour les ports séries, et l’analyste permettant le support des coprocesseurs. Le noyau est conçu de manière modulaire et est disponible sous forme de librairie C. Environnement: C, Assembleur, IBM PC, BIOS • Outils de développement Analyse et formalisation d'un standard de documentation des fichiers sources pour les langages C et C+ +. Élaboration d'outils d'aides à la gestion du code source. Environnement: C++, C, Prolog Zuniq Corp. Novembre 1989 à Novembre 1990
  • 12. Zuniq Corp. est une entreprise qui a oeuvré dans des programmes de recherches et de développements dans les domaines de la programmation orienté objet et acteur ainsi que dans le développement de systèmes experts à base d'acteurs et d'agents. Elle a aussi développé des produits logiciels ainsi que matériels. • Responsable de projet et de chercheur Recherche et analyse de différents domaines, reliés à la programmation orientée objet, dans le but d'une intégration à une nouvelle version du gestionnaire d'application Smalltalk CodeImager de différentes fonctionnalités dont: l'interfaçage graphique, permettant la détection et la visualisation dynamique des collisions entre les applications, classes et méthodes, la réalisation d'un prototype d'interpréteur de code compilé Smalltalk, permettant la validation du code Smalltalk par des méthodes semi-formelles. L'élaboration de la partie tutoriale et révision globale du manuel usager de la première version du logiciel. Présentation du logiciel à la conférence SCOOP Europe 1990. Élaboration et implantation d'une plate-forme de développement pour les langages de type acteur dans l'environnement Smalltalk, le modèle générale de fonctionnement se veut une extension des modèles développés par J.P. Briot, Gul Agha et Carl Hewitt et intègre, de façon transparente au langage, différents types de messages «Past», «Future» et «Now» . La plate-forme permet une implantation et gestion uniforme et souple de la concurrence en Smalltalk au moyen d'acteurs et d'agents. Élaboration d'un dévermineur minimal pour la plate-forme acteur décrite plus haut. Environnement: Macinstosh, Smalltalk (Digitalk). Tecrad Inc. Janvier 1988 à Avril 1989 Tecrad Inc. est une compagnie possédant de l'expertise et oeuvrant dans le domaine de la vérification de la qualité des matériaux par des méthodes de tests non-destructifs. • Membre de l’équipe TOMOSCAN Le TOMOSCAN est un appareil de test non-destructif par ultrason. Il a pour base le bus industriel VME, est une machine configurable en mono ou multiprocesseur et possède un système d'exploitation multitâche en temps réel. Le processeur de base est un MC68020. Analyse, conception et intégration, d'un lien de communication parallèle haute vitesse de type GPIB (IEEE.488) entre l'appareil TOMOSCAN et un ordinateur de type Sun. Mise en place des mécanismes de contrôle des cartes GPIB, du protocole de communication standard (IEEE.488) et d'un interpréteur de commande de haut niveau. Analyse et implantation de modules de compression et extension verticale et horizontale de données (A- Scan et B-Scan) permettant le traitement et la représentation graphique des données échantillonnées en temps réel. Analyse et implantation d'un module d'affichage de donnée. Ce module étant une généralisation d'un afficheur de donnée de type B-Scan en 2 dimensions. Ces modules sont implantés à l'aide d'algorithmes offrant le maximum de performance et utilisant dans certains cas, un support matériel optimisé.
  • 13. Environnement: Machine multitâche et multiprocesseur, Système d'exploitation en temps réel, Bus industriel VME, Lien de communication IEEE 488, Ordinateur Sun et Unix, IBM PC, C, Assembleur • Logiciel TCR180 Analyse et conception du logiciel TCR180. Ce logiciel offre les fonctionnalités de calcul de l'épaisseur d'un échantillon de matériel et le calcul de vitesse de propagation du son à l'intérieur d'un échantillon. Il utilise pour ce faire des techniques de test non-destructif de matériaux par des méthodes ultrasons, différentes fonctionnalités de traitement de signaux, ainsi que d'imagerie graphique. Environnement: Traitement de signaux, IBM PC, C, Assembleur • Projet de fin d’étude Analyse et développement d'un ensemble de fonctionnalités permettant l'intégration et l'interfaçage, les transferts de données et la synchronisation, entre un ordinateur compatible IBM, un oscilloscope numérique, pouvant effectuer des fonctions mathématiques et des fonctions de traitement de signal, ainsi que de deux moteurs pas à pas linéaires contrôlant le déplacement de la sonde d'échantillonnage de l'oscilloscope. Environnement: C, IBM PC, Moteur linéaire pas à pas, Oscilloscope HP Ville de Québec, Service de l'Organisation du Travail et de l'Informatique Été 1987, emploi d’été • Analyse d’un système d’inventaire. Analyse et élaboration d'un système à base de données permettant la gestion informatisée des requêtes et des besoins des usagers ainsi que l'inventaire des ressources matérielles du service. Environnement: IBM PC, Base de données relationnelles (DBase). FORMATIONS Baccalauréat en Informatique de génie Mai 1988 Université Laval Québec, Canada, G1K 7P4 (418) 656-3333 Formation Professionnelle • Formation générale sur CMM • Formation en inspection sur CMM Cours de niveau Baccalauréat :
  • 14. • Électroacoustique (3 crédits) • Psychologie générale (3 crédits) • Introduction aux médias (3 crédits) • Circuits et Systèmes Linéaires (4 crédits) • Circuits (4 crédits) • Électrotechnique (3 crédits) • Résistance des matériaux (3 crédits) • Physique des ondes (3 crédits) • … Autre formation • Licence de pilote privé canadienne – avion Tous les avions terrestres monomoteurs autres que ceux à hautes performances, dont l’équipage minimal est d’un seul pilote. Annotation Vol de nuit. • Cours théorique pour l’obtention de la licence de pilote commercial. Passe-temps Mécanique, Bricolage rénovation, Travail du bois.