SlideShare uma empresa Scribd logo
1 de 14
Jean Claude Viens
Analyste senior informatique
viensjc@videotron.ca
7085, place Joseph-Michaud, Apt. 302
Montréal, Qc, H1E 6K8
(514) 325-0500
PROFIL
Jean Claude Viens possède plus de 15 ans d'expérience en informatique, à titre d’analyste de
programmeur et de chercheur. Il 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
Travailleur autonome
Présent, temps partiel
• Serveur web donnant acces à l’état de différentes portes de mon garage version 1.
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 PIC (en cours)
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++
• 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.
• É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…
• 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
• 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
• 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
• 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, système d’exploitation, disque
dur, etc.
Configuration de réseaux locaux, routers, switches, hubs, imprimantes, logiciels anti-virus, pare-
feu, etc.
Installation et configuration de logiciel d’usage courant, type Office, Simple Comptable, etc.
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).
FORMATION
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
Rénovation, Travail du bois, Mécanique.

Mais conteúdo relacionado

Destaque

Tomates : Comparaison mode de culture Terre vs Aquaponie
Tomates : Comparaison mode de culture Terre vs AquaponieTomates : Comparaison mode de culture Terre vs Aquaponie
Tomates : Comparaison mode de culture Terre vs AquaponieMichel BARBEAU
 
MBA - Permaculture BRF (PO-08-2015)
MBA - Permaculture BRF (PO-08-2015)MBA - Permaculture BRF (PO-08-2015)
MBA - Permaculture BRF (PO-08-2015)Michel BARBEAU
 
Meotec Event Procurement Lyon - 27 avril
Meotec Event Procurement Lyon - 27 avril Meotec Event Procurement Lyon - 27 avril
Meotec Event Procurement Lyon - 27 avril Meotec
 
MBA - l'Aquaponie ou le Poisson-Tomate - Journée de la Transition Citoyenne 2015
MBA - l'Aquaponie ou le Poisson-Tomate - Journée de la Transition Citoyenne 2015MBA - l'Aquaponie ou le Poisson-Tomate - Journée de la Transition Citoyenne 2015
MBA - l'Aquaponie ou le Poisson-Tomate - Journée de la Transition Citoyenne 2015Michel BARBEAU
 

Destaque (9)

CIRCUIT DECOUVERTE DU PEROU
CIRCUIT DECOUVERTE DU PEROUCIRCUIT DECOUVERTE DU PEROU
CIRCUIT DECOUVERTE DU PEROU
 
Du pacifique aux_andes
Du pacifique aux_andesDu pacifique aux_andes
Du pacifique aux_andes
 
Les couleurs du_perou
Les couleurs du_perouLes couleurs du_perou
Les couleurs du_perou
 
Tomates : Comparaison mode de culture Terre vs Aquaponie
Tomates : Comparaison mode de culture Terre vs AquaponieTomates : Comparaison mode de culture Terre vs Aquaponie
Tomates : Comparaison mode de culture Terre vs Aquaponie
 
MBA - Permaculture BRF (PO-08-2015)
MBA - Permaculture BRF (PO-08-2015)MBA - Permaculture BRF (PO-08-2015)
MBA - Permaculture BRF (PO-08-2015)
 
Meotec Event Procurement Lyon - 27 avril
Meotec Event Procurement Lyon - 27 avril Meotec Event Procurement Lyon - 27 avril
Meotec Event Procurement Lyon - 27 avril
 
MBA - l'Aquaponie ou le Poisson-Tomate - Journée de la Transition Citoyenne 2015
MBA - l'Aquaponie ou le Poisson-Tomate - Journée de la Transition Citoyenne 2015MBA - l'Aquaponie ou le Poisson-Tomate - Journée de la Transition Citoyenne 2015
MBA - l'Aquaponie ou le Poisson-Tomate - Journée de la Transition Citoyenne 2015
 
Doamna bov
Doamna bovDoamna bov
Doamna bov
 
La marine vous manque ?
La marine vous manque ?La marine vous manque ?
La marine vous manque ?
 

Semelhante a _JCVFr

Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !VISEO
 
[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
 
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
 
.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
 
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
 
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
 
Formation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFFormation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFBoubker ABERWAG
 
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
 
Présentation Rex GWT 2.0
Présentation Rex GWT 2.0Présentation Rex GWT 2.0
Présentation Rex GWT 2.0Ippon
 
Intellicore Tech Talk 10 - Apache Web Server Internals
Intellicore Tech Talk 10 - Apache Web Server InternalsIntellicore Tech Talk 10 - Apache Web Server Internals
Intellicore Tech Talk 10 - Apache Web Server InternalsNeil Armstrong
 
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...MSDEVMTL
 
Rex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesRex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesChristophe Furmaniak
 
Gwt oxiane-novae-lr
Gwt oxiane-novae-lrGwt oxiane-novae-lr
Gwt oxiane-novae-lroxmed
 
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
 
Fichier_Compétences
Fichier_CompétencesFichier_Compétences
Fichier_CompétencesYang Fei
 
Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Cellenza
 
Node.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptNode.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptKhalid Jebbari
 

Semelhante a _JCVFr (20)

Usine Logicielle 2013
Usine Logicielle 2013Usine Logicielle 2013
Usine Logicielle 2013
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
 
[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...
 
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
 
.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
 
Scub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libreScub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libre
 
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?
 
MERAZKA Messaoud
MERAZKA MessaoudMERAZKA Messaoud
MERAZKA Messaoud
 
Formation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFFormation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPF
 
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
 
Présentation Rex GWT 2.0
Présentation Rex GWT 2.0Présentation Rex GWT 2.0
Présentation Rex GWT 2.0
 
Intellicore Tech Talk 10 - Apache Web Server Internals
Intellicore Tech Talk 10 - Apache Web Server InternalsIntellicore Tech Talk 10 - Apache Web Server Internals
Intellicore Tech Talk 10 - Apache Web Server Internals
 
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
 
Rex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesRex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantes
 
Gwt oxiane-novae-lr
Gwt oxiane-novae-lrGwt oxiane-novae-lr
Gwt oxiane-novae-lr
 
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
 
Fichier_Compétences
Fichier_CompétencesFichier_Compétences
Fichier_Compétences
 
Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1
 
my_resume(fre)
my_resume(fre)my_resume(fre)
my_resume(fre)
 
Node.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptNode.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascript
 

_JCVFr

  • 1. Jean Claude Viens Analyste senior informatique viensjc@videotron.ca 7085, place Joseph-Michaud, Apt. 302 Montréal, Qc, H1E 6K8 (514) 325-0500 PROFIL Jean Claude Viens possède plus de 15 ans d'expérience en informatique, à titre d’analyste de programmeur et de chercheur. Il 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 Travailleur autonome Présent, temps partiel • Serveur web donnant acces à l’état de différentes portes de mon garage version 1. 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 PIC (en cours)
  • 2. 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++ • 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. • É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… • 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 • 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.
  • 3. • 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.
  • 4. 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
  • 5. • 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 • 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).
  • 6. 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 • 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, système d’exploitation, disque dur, etc. Configuration de réseaux locaux, routers, switches, hubs, imprimantes, logiciels anti-virus, pare- feu, etc. Installation et configuration de logiciel d’usage courant, type Office, Simple Comptable, etc. 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.
  • 7. 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.
  • 8. 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.
  • 9. 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.
  • 10. 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). FORMATION 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
  • 14. 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 Rénovation, Travail du bois, Mécanique.