Vous êtes sur la page 1sur 46

.

R A P P O R T D E S T A G E

S M I N A I R E D E S T A G E C O O P R A T I F E N
I N F O R M A T I Q U E I I
IFT-21456

D V E L O P P E M E N T D E L O G I C I E L S
L A B - V O L T

PRIODE DU 10 JANVIER 2005 AU 29 AVRIL 2005

PRPAR PAR :
MATHIEU CT
03179504

PRSENT :
M. FRANOIS COULOMBE
M. MARCO COULOMBE

DPARTEMENT DINFORMATIQUE ET DE GNIE LOGICIEL


UNIVERSIT LAVAL
29 AVRIL 2005

__________________________________________
Franois Coulombe, superviseur du stage en entreprise
P R F A C E

Ce document constitue un sommaire et un retour sur mon stage effectu


chez Lab-Volt en tant que dveloppeur. Il sest droul du 10 janvier 2005
au 29 avril 2005 soit seize semaines. Ma principale tche tait de travailler
sur le projet LVRts soit Lab-Volt Radar Training System. Jutiliserai souvent
cette abrviation tout au long de ce document. Comme vous avez pu le
constater, Lab-Volt se concentre dans la fabrication de matriel et de logiciel
dapprentissage.

Dans ce document, jexpliquerai plus en dtail le profil de la compagnie, le


mien, lenvironnement dans lequel jai volu, les tches que jai eu
accomplir, un retour sur les objectifs du stage et un mot sur lenseignement
que jai reu lUniversit Laval.

La partie de ce document concernant les tches accomplies ne constitue en


fait quun rsum. tant donn lenvergure du projet, il mest impossible de
passer en revue toutes les activits. Jy prsente les plus marquantes et les
plus intressantes. La majorit du temps, elles sont dcrites de faon ce
quune personne peu initie la programmation saisisse bien le but de tche
et non laspect technique comme tel. Par contre, lorsque ce sera impossible,
les notions ncessaires seront expliques.

i
Rapport de stage Lab-Volt Table des matires

S O M M A I R E
T A B L E D E S M A T I R E S

SOMMAIRE.........................................................................................................II
TABLE DES MATIRES........................................................................................II
1 INTRODUCTION...........................................................................................1
1.1 STAGIAIRE..............................................................................................................1
1.2 STAGE....................................................................................................................2
1.3 ORGANISATION......................................................................................................3
2 ENVIRONNEMENT DE TRAVAIL...................................................................4
2.1 POSITION DANS LORGANISATION...........................................................................4
2.2 ENCADREMENT ET OUTILS UTILISS.......................................................................5
3 ANALYSE DES TCHES EFFECTUES............................................................7
3.1 MODIFICATION DES DESSINS..................................................................................7
3.2 DVELOPPEMENT ET RSOLUTION DE PROBLMES.................................................8
3.3 ANALYSE DE DOTFUSCATOR.................................................................................10
3.4 MODIFICATION WINFORMUI............................................................................11
3.5 APPLICATION POUR LINSTALLATION....................................................................11
3.6 TESTS..................................................................................................................12
3.7 TRADUCTION DE LAPPLICATION..........................................................................13
3.8 TREND RECORDER...............................................................................................14
4 CRITIQUE DES TCHES ACCOMPLIES.......................................................15
4.1 RETOUR SUR QUELQUES TCHES MARQUANTES DU PROJET..................................15
4.2 RECOMMANDATIONS APPORTES ET RALISES AU PROJET..................................17
5 FORMATION ET ENCADREMENT AU DPARTEMENT.................................18
6 CONCLUSION.............................................................................................20
7 ANNEXE 1 : BUG TRACK.............................................................................22
8 ANNEXE 2 : DESSINS DANS LVRTS............................................................23
9 ANNEXE 3 : LVRTS AVEC SES INSTRUMENTS............................................24
10 ANNEXE 4 : TREND RECORDER.................................................................25
11 FICHE DVALUATION DE MI-STAGE.........................................................26
12 FICHE DAPPRCIATION FINALE DU STAGIAIRE......................................29
13 FICHE DAUTO-VALUATION FINALE DU STAGIAIRE...............................33
14 SYNTHSE DE LA PRSENTATION ORALE.................................................37
15 Support la prsentation orale..........................................................................39

29 avril 2005 ii
Rapport de stage Lab-Volt Introduction

1 I N T R O D U C T I O N

1.1 S TA G I A I R E

Depuis bien des annes, linformatique me passionne. Cest pour cette raison que jai
choisi, en 1999 de faire un Dec/Bac en informatique. Je croyais et je crois encore que
cette formation me permettra de gagner ma vie dans le domaine que jaime. En 2000, jai
commenc mon DEC en informatique au cgep de Sainte-Foy. Pendant ces 3 ans, jai
beaucoup appris dans le domaine de lanalyse, de la programmation, des bases de
donnes et bien dautres. Jai maintenu un effort constant qui me valut dexcellents
rsultats et donc une bonne cote R.

la dernire session, jai dcroch un stage chez EXACT MODUS Qubec. Cest une
entreprise qui uvre dans lindustrie forestire depuis bien des annes. Ce mandat tait
relativement complexe, soit de dvelopper un outil de gestions de projets capable de
fournir aux employs les activits quils ont faire, construire leur feuille de temps puis
de faire une certaine partie de la comptabilit de lentreprise. Jai surtout dvelopp
pendant ce mandat mes capacits danalyse, de programmation et des bases de donnes,
mais aussi mon professionnalisme. Jy ai travaill aprs la fin de mon DEC avant de
retourner aux tudes.

Aprs deux sessions dtude lUniversit Laval, soit lt 2004, jai obtenu un stage
au Ministre du Travail au service de gestion des systmes. Ce stage me permit de me
familiariser avec emploi danalyste tout en me permettant de faire de la gestion de bases
de donnes et du dveloppement web en Java. Jai beaucoup apprci cette exprience et
jy ai beaucoup appris.

Aprs une session de cours, jai dcid de faire un stage chez Lab-Volt dans le but de
dvelopper mes connaissances dans la programmation Windows ainsi que de minitier au
dveloppement dun projet de grande envergure dans une entreprise prive.

29 avril 2005 1
Rapport de stage Lab-Volt Introduction

Jusqu' maintenant, jai effectu 62 crdits des 90 ncessaires ma diplomation


universitaire. Je compte bien terminer mon Bac en dcembre 2005.

1.2 S TA G E

Jai occup le poste de programmeur .Net tout au long de mon stage. Plus prcisment,
lapplication est conue en C# mais, elle interagit avec du code C++. Jai travaill sur le
projet LVRts soit Lab-Volt Radar Training System qui fut commenc il y a environ un an
et demi avant mon arrive dans lorganisation. Au dbut de mon stage, la majorit des
fonctionnalits taient programmes et il ne restait que des problmes rsoudre ainsi
que certaines fonctionnalits relativement mineures implanter. ce moment, lobjectif
tait de terminer la programmation de lapplication avant la fin de mon stage. ce jour,
lapplication est complte mais, certaines activits restent faire. Par exemple, il reste
les livres dactivits tester avec lapplication et la rsolution des problmes potentiels
que peuvent apporter ces tests. Il reste aussi faire des tests avec la traduction des textes
de lapplication. Ces tests ne pourront tre faits que dans plusieurs mois lorsque la
traduction des textes de lapplication sera faite. On peut dire que lapplication est
termine au moins 95%.

Le but de mon stage chez Lab-Volt tait de me joindre lquipe de dveloppement pour
acclrer le dveloppement de LVRts. Les tches que je devais faire mtaient assignes
par le biais dune application web. Cependant, linteraction ainsi que la communication
avec le reste de lquipe de dveloppement taient trs importantes. Ils taient toujours
prs discuter et maider lors de mes dveloppements.

29 avril 2005 2
Rapport de stage Lab-Volt Introduction

1.3 O R G A N I S AT I O N

Lab-Volt (Qubec) Limite est un important centre de fabrication pour Lab-Volt Systems
Inc. Ce dernier est situ au New Jersey et la filiale o jai travaill se situe dans le parc
industriel de Charlesbourg.

Lab-Volt est concentr dans la conception, la fabrication et la distribution de logiciel


dapprentissage dans des domaines techniques tels que llectricit et llectronique,
lnergie lectrique, la tlcommunications, lautomatisation et la robotique, la
commande de moteur, la rfrigration et la climatisation, ainsi quen instrumentation et
commande de processus. Les produits quils offrent sont autant logiciels que matriels.
Par exemple, dans mon projet, Lab-Volt a conu et construit un vritable radar, linterface
de communication avec un ordinateur et le logiciel pour lobserv. Lentreprise uvre
dans ce domaine depuis 43 ans.

Ces produits sont destins des tablissements o la mission est de prparer les tudiants
au march du travail dans les domaines que jai lists auparavant. Avec les outils que
Lab-Volt fournit, ltudiant est capable dapprendre par lui-mme ou avec un
encadrement dans le domaine de son choix. Il reoit des manuelles dactivits et des
logiciels lui permettant de faire des tests pour observer la thorie. Ces tests le mnent
une connaissance assez pousse des phnomnes en exprimentation. Par exemple, jai
eu tester une application pour lapprentissage du traitement des signaux de radio AM.
Jai trouv cela trs enrichissant et assez complexe. Les livres et lapplication taient trs
bien conus et jai bien apprci voir un produit fini. Jen parlerai plus dans une section
ultrieure.

29 avril 2005 3
Rapport de stage Lab-Volt Environnement de travail

2 E N V I R O N N E M E N T D E T R A V A I L

2.1 P O S IT I O N D A N S L O RG ANI S AT I O N

Lorganisation compte plusieurs dpartements, mais en gros linformatique se dcoupe en


dveloppement logiciel, dveloppement matriel, salle dessins, rdaction, multimdia,
service et dveloppement linterne. Ce dernier sert principalement la conception de
lintranet et des outils sy rattachant. Ce dveloppement est compltement dtach du
reste de la programmation. Par contre, le dveloppement matriel et logiciel sont trs
troitement lis. Bien que je nai pas eu interagir avec les ingnieurs de ce dpartement,
leur implication dans les projets tait trs prsente avec les autres membres de lquipe.
Parlons maintenant de cette quipe.

Lquipe de dveloppement de LVRts tait constitue de Tomy Rodrigue, Sbastien


Boudreau et Franois Coulombe. Pour ce qui est de Sbastien Boudreau, il a quitt
pendant mon stage. Franois est le charg de projet, cest donc lui qui planifiait les tches
faire. Bien quil travaille aussi sur dautres projets, participait aussi la programmation.
Tomy tait celui avec lequel jai travaill le plus. Il dcidait souvent avec Franois les
tches que javais faire et mencadrait beaucoup. Il connat bien lapplication et
maidait beaucoup lors de mes dveloppements. Il prenait aussi des dcisions sur la
structure de lapplication. Jai beaucoup discut avec lui tout au long de mon stage.

Lenvironnement physique favorisait beaucoup la communication entre les personnes car


les cubicules sont diviss en groupe de quatre personnes. Une telle configuration
permettait de discuter tout en faisant facilement des tests ou tout autres activits
ncessitant un ordinateur. De plus, elle vitait des dplacements inutiles. Jai bien
apprci ceci comparativement des cubicules simples comme dans mes deux autres
stages.

29 avril 2005 4
Rapport de stage Lab-Volt Environnement de travail

2.2 ENCADREMENT E T O UT IL S UTI L I S S

Comme je lai dj mentionn, la majorit du code tait effectu en C# donc laide


Visual Studio .Net 2003. Jai aussi eu travailler sous Visual Studio 6 pour les parties en
C++. Je me suis aussi servi de InstallShield et Dotfuscator.

Au long de mon stage, jai aussi eu travailler avec des outils maisons que Lab-Volt a
dvelopps. Par exemple, bug track1 est loutil permettant dentrer des problmes relatifs
aux applications, mais aussi des tches faire par les ressources. Il y a aussi la possibilit
dy mettre une priorit par processus, ltat des tches etc. De cette manire, on est
certain de ne rien oublier et tout reste en archive. Dans la majorit des cas, cest Tomy qui
entrait les bugs que je ou il trouvait puis, il choisissait avec Franois si on les faisait et
qui allait les faire. Surtout au dbut de mon stage, jai travaill la modification des
dessins se trouvant dans LVRts2. Ces dessins reprsente laspect matriel et peuvent faire
lobjet de tests de courant lectrique par lutilisateur. Ces derniers sont conus la base
en AutoCad et nous avons un logiciel, Acad2Xml pour faire des petites modifications. Je
lai utilis lquivalent de quelques jours tout au long de mon stage surtout pour modifier
les flches, du texte, des couleurs etc.

Jai reu un trs bon encadrement au sein de Lab-Volt. Premirement, il fallait faire un
rsum chaque semaine de ce quon avait fait. Ce dernier tait denviron une page et
son but tait de permettre Franois de suivre le cheminement des projets. Ceci devait
tre fait par tout les employs. Ensuite, il y avait une runion officielle par semaine pour
chacun des projets. La runion de LVRts tait le en gnral jeudi matin. Elle servait voir
o tait rendu le projet, si on suivait les estimations, les problmes majeurs en cours de
rsolutions etc. Tout cela tait dans le but de faire progresser plus vite le projet. Jai
trouv un tel encadrement trs bnfique et trs formateur. En plus, le fait de parler de
mes accomplissements me stimulait encore plus dans mon travail.

1
Voir annexe 1 pour une image de lapplication web
2
Voir annexe 2 pour un aperu dun dessin dans LVRts

29 avril 2005 5
Rapport de stage Lab-Volt Environnement de travail

Lorsque javais une dcision prendre, jen discutais toujours avec Tomy et parfois avec
Franois dans le but de prendre la meilleure dcision possible. Ils ont toujours t ouverts
mes opinions et ce fut toujours des discussions trs formatives. Je ne vois pas ceci
comme un manque dautonomie ni de confiance en soi, mais plutt comme un moyen de
faire les choses le mieux possible.

29 avril 2005 6
Rapport de stage Lab-Volt Analyse des tches effectues

3 A N A L Y S E D E S T C H E S E F F E C T U E S
Cette section est la plus importante de tout ce document. Elle constitue la synthse des
tches les plus importantes que jai effectues au long de mon stage. Ces tches
sinscrivent dans le dveloppement logiciel du projet LVRts. Le mandat tait de le
terminer, toute fin pratique, avant la fin de mon stage. Donc, au cours des pages qui
vont suivre, vous pourrez apprendre ce que jai fait et les techniques que jai utilises.
Les activits que je prsente seront en ordre chronologique quelques exceptions prs.
Vous pourrez ainsi voir ma progression dans lapplication. Un projet dune telle
envergure, aussi avanc, demande beaucoup defforts pour tre bien saisi et cest en y
travaillant progressivement que jai pu le comprendre en grande partie.

3.1 M O D I FI C AT I O N D E S DE S S I NS

Lune de mes toutes premires tches tait de faire certaines modifications dans les
dessins. Ceci surtout dans le but de me familiariser avec lenvironnement et pour me
prparer aux autres tches que je devais faire.

Pour commencer, jai fait des modifications mineures comme la modification de flches,
la modification de la grosseur du texte, des couleurs etc. Ces modifications se faisaient
sur des fichiers textes laide dun outil maison soit Acad2Xml. Il permet ldition dun
fichiers XML contenant les modifications du dessins et le fusionne avec celui original
pour donner le fichier qui sera utilis par lapplication.

Par la suite vient les modifications aux dessins, mais dans le code mme de lapplication.
Lune des tches fut de modifier les objets graphiques dans le but daccepter les sauts de
lignes. Vu que le fichier XML ne permettait pas simplement lajout de \n dans le
texte, lapplication devait reprer un autre caractre et y insrer manuellement des sauts
de lignes. Ceci nest rien de compliqu mais, cela me familiarisait avec le C#.

29 avril 2005 7
Rapport de stage Lab-Volt Analyse des tches effectues

3.2 D V EL O P P E M E N T ET R S OL UT I O N DE P RO BL M E S

Cette partie est la plus importante de mon mandat. Je lai plac en second rend de lordre
chronologique mais, jen ai fait tout au long de mon sjour chez Lab-Volt. Je vais vous
les prsenter en ordre de ralisation.

la suite des modifications relatives aux dessins, jai t charg dimplanter une barre
dtat dans lapplication. Cette dernire devait reprsenter ltat de la connexion au Radar
physique et tre traductible. Au moment de la conception de cette barre, la traduction
ntait quimplante thoriquement car rien ntait test et ce nest que plusieurs
semaines plus tard que jai implant la gestion derreurs lors de dconnections au serveur.
Cette dernire tche a t relativement complexe et longue du fait que je devais travailler
avec plusieurs objets ayant des liens dappartenance, dhritage et distants. De plus, je
devais travailler avec des suites dvnements dclenchs manuellement.

Par la suite, jai travaill sur le logiciel de configuration de linterface physique entre le
Radar et lordinateur. Je devais y implanter une fonctionnalit permettant de sy
connecter en Telnet et lui envoyer une srie de commande en fonction de ses rponses
pour le remettre en marche. Ensuite, je devais intgrer tout cela lapplication. Jai
beaucoup appris lors de cette tche car cest ce moment que jai implant mes
premires classes et o jai dcouvert la communication TCP avec le protocole Telnet.
En fait, jai bti un mini client Telnet automatis.

Beaucoup plus tard dans mon stage, jeus faire de grosses modifications structurelles
dans lapplication. Avant, cette dernire est divise de la manire suivante : une
application gnrale appelant des instruments qui constituent des applications diffrentes
mais, restant contrle par lapplication mre. On peut voir lapplication avec ses
instruments en annexe 3. Cest dans ces instruments que la structure ntait pas
cohrente. Sommairement, lun des instruments tait bas sous un style multifentre
tandis que lautre non et ce, mme si les deux instruments fonctionnent de la mme
faon : avec une seule interface. De telles modifications ont ncessit beaucoup de

29 avril 2005 8
Rapport de stage Lab-Volt Analyse des tches effectues

comprhension car on ne parle pas simplement de dplacer du code mais de lajuster.


Surtout du fait que ce code est contrl distance par lapplication mre. Donc, je me
suis bas sur la bonne structure, soit celle non multifentre, pour adapter lautre. Fait
cocasse, au dpart javais commenc faire le contraire et on stait mme entendu sur ce
sujet. Mais, on sest vite rendu compte que ctait la mauvaise dcision.

En lien avec la dernire modification, la suivante a t lune des plus difficiles


techniquement que jai eu raliser. Il fallait que je gre louverture synchrone des
instruments ainsi que leur fermeture. Comme je lai mentionn auparavant, un instrument
est une application compltement spare qui est contrle par la gnrale. Donc,
louverture asynchrone provoquait beaucoup de problmes. En plus, lorsque lapplication
gnrale se ferme, les instruments ouverts doivent se fermer sans problme. Donc, pour
raliser cette tche jai d ajouter un vnement sur un canal distance qui avertit le
parent lorsque linstrument est ouvert. Pour faire ceci, je me suis bas sur lvnement de
fermeture dj ralis. Ensuite, je devais faire attendre lapplication tant que linstrument
na pas rpondu. De plus, linstrument devait attendre tant que le parent ntait pas en
mesure de recevoir lvnement douverture. Tout ceci a fait beaucoup de gestion
multiprocesus qui ma permis de mettre en pratique les techniques apprises dans le cours
de systme dexploitation. Pour ce qui est de la fermeture des instruments, ctait presque
dj fonctionnel sauf que lordre auquel les composantes se fermaient ntait pas correct
donc, jai d aussi la grer de faon multiprocessus.

Lors de la finition de linterface graphique, nous avions quelques insatisfactions au sujet


dun objet qui servait entrer les paramtres du systme. On le retrouve dans Visual
Studio par exemple, cest le ProtertyGrid. Celui-ci fonctionne de faon automatique. On
lui donne le type de lobjet avec certaines validations et il cr son espace dans la grille.
Donc, jai d faire quelques recherches dans le but de mieux comprendre son
fonctionnement pour mieux ladapter nos besoins. Premirement, je devais le modifier
pour lui faire ouvrir un contrle permettant de choisir une image. Cest la modification la
plus facile. Ensuite, jai d travailler sur la validation des nombres. Par exemple, si la
valeur devait tre entire et que le client entre 7,7 , seulement 7 tait conserv et

29 avril 2005 9
Rapport de stage Lab-Volt Analyse des tches effectues

affich. Cest la mme chose pour la , versus le . . Ensuite, une des plus longues fut
de permettre de modifier une valeur numrique dune autre faon que de lcrire
manuellement. Jai donc dvelopp un petit contrle permettant de bouger un curseur
pour changer la valeur lintrieur des bornes du paramtre. Dailleurs, on peut le voir en
annexe 3 dans le Data Monitor. Le plus compliqu de cette tche tait de rendre le
contrle compltement gnral. Donc, il devait sadapter peu importe la valeur modifier
ce qui veut dire que le contrle devait savoir sur quel paramtre il est, quelles sont ses
bornes etc. Pour terminer, jai implant des validations permettant de crer une
dpendance entre divers paramtres.

3.3 A N A LY S E DE D O TF U S C ATO R

Revenons maintenant plus au dbut de mon stage o jai eu le mandat de faire lanalyse
du Logiciel Dotfuscator de Preemptive. Ce logiciel est fourni en version de base avec
Visual Studio .Net. Pour comprendre son utilit, il faut savoir que le C# produit du code
qui sera compil seulement avant son excution. Donc, un programme est facilement
dcompilable par nimporte qui ayant lexcutable. Pour faire la comparaison, le C++
est compil ds le dpart donc, il est beaucoup plus difficile davoir les sources partir
dun fichier .exe ou .dll . En premier, lieu jai vrifi si effectivement il tait facile
davoir le code partir de notre application excutable. Effectivement, aprs trs peu de
recherche jai obtenu un logiciel me donnant lintgralit du code source dune
application partir de ses fichiers excutables. Ensuite, jai lu la documentation de
Dotfuscator puis, jai rdig un document sur son utilisation et son mode de
fonctionnement. Dans ce mme document, jai aussi fait la critique de lachat de version
payantes versus les fonctionnalits supplmentaires que ces versions apportent.

Pour terminer, jai fait le test avec notre application et le Dotfuscator gratuit. Cette
version fait, en gros, du renommage partout dans le code. Tout ce qui est renommable est
modifi, ce qui fait en sorte que le code est impossible suivre. Mais, vu quil passe tout
le code, lapplication a d tre modifie lgrement pour rpondre ses besoins. Par
exemple, certain objet ntat pas dclar de manire correcte et vue que Dotfuscator
nest pas trs parlant avec ses messages derreurs, cela complique beaucoup la tche.

29 avril 2005 10
Rapport de stage Lab-Volt Analyse des tches effectues

Mais, aprs quelques efforts, tout sest trs bien termin et lapplication tait prte la
dotfuscation.

3.4 M O D I FI C AT I O N W I N F O RM UI

WinFormUi est une librairie gratuite (open source) affichant des fentres
accrochable(dockable). Donc, avec ce code, les fentres de notre application peuvent se
raccrocher la fentre principale ou devenir flottantes, un peu comme dans Visual Studio.
Par contre, pour lintgrer notre application, il avait fallu la modifier un peu et mon
tour, je devais ladapter pour quelques-uns de nos nouveaux besoins ou cause derreurs
quelle contenait. Par exemple, les fentres ne gardaient par leur taille, une fentre
pouvait se dtacher si on cliquait un certain endroit ou le parent de la fentre ntait pas
le bon. Pour faire ces modifications, je partais toujours du point dentre soit lobjet en
erreur et je tentais de trouver la source de lerreur. Cela devenait rapidement difficile, car
les classes de WiefenLuo, linventeur, ne sont pas toujours faciles comprendre et le
code nest pas vident suivre. Ensuite, jai d ajouter son code nos notions de
traduction pour traduire le peu de texte que ces classes contiennent.

3.5 A P PL I C AT I O N P O U R L I NS TAL L AT I O N

Lapplication dinstallation de LVRts est faite laide de Installshield. Avec ce logiciel,


jai d intgrer beaucoup de choses dans le setup au fur et mesure que lapplication
progressait. Pour commencer, jai d intgr le FrameWork .Net et les langues utilisables
dans lapplication. Je devais aussi intgrer la bonne version de DirectX et du
ManagedDX3 pour les applications en C#. Ce point fut lobjet de beaucoup de tests car
chaque installation, des problmes survenaient cause de DirectX ou de lune de ses
composantes. Par contre vers la fin, nous avions pris beaucoup dexprience et on tait en
mesure de savoir exactement quest-ce quil fallait dans linstallation.

Dans une autre phase, jai d ajouter une fentre dans linstallation permettant
denregistrer le mot de passe administrateur de lapplication. Cette partie semble simple

3
Partie de DirectX pour le code managed de C#

29 avril 2005 11
Rapport de stage Lab-Volt Analyse des tches effectues

mais, il fallait faire une autre application spare pour enregistrer les donnes car le mot
de passe est crypt avant dtre sauvegard sur le disque dur.

Pour termin, jai implant la sauvegarde de la langue utilise au cours de linstallation


pour que ce soit la mme dans lapplication. Ceci requis du code autant dans
linstallation que dans LVRts car ce dernier ainsi que les instruments devait maintenant
aller chercher le la langue dexcution dans un fichier. LVRts devait aussi lenregistrer.
De plus, cet enregistrement devait se faire un endroit diffrent par utilisateur Windows.
Ainsi, chaque personne pouvait avoir une langue diffrente.

3.6 T E ST S

Bien entendu, au cours de mon stage jai effectu des tests mais, plus particulirement en
deux phases intensives. La premire, plus au dbut de mon stage, tait pour LVRts. Je
devais effectuer des tests gnraux et des tests de cohrence. Donc, jai commenc en
essayant toutes les options et toutes les fonctionnalits. Ensuite, jai not toutes les
incohrences que comportait lapplication. Par exemple, des fentres se comportant
diffremment, des mots diffrents pour reprsenter une mme notion etc. Par la suite, ces
tests mon apport beaucoup de travail.

Presque la toute fin de mon stage, jai effectu des tests sur une application
dapprentissage de notions sur les onde AM. La majorit des dveloppeurs avait le mme
mandat que moi qui tait de tester un livre dexercices de lancienne version du logiciel
sur la nouvelle version. Les exercices demandaient de faire des branchements virtuels
pour observer les ondes, faire des calculs, observer des comportements etc. Jai trouv
cette exprience enrichissante, mais aussi relativement complexe. Ceci a dur environ
trois jours.

29 avril 2005 12
Rapport de stage Lab-Volt Analyse des tches effectues

3.7 TRADUCTION D E L AP P L I CAT I O N

Comme vous avez pu le dduire, lapplication se traduit dans plusieurs langues. De plus,
elle se traduit en cours dexcution. Ceci rend la chose beaucoup plus complexe. La
mcanique comme telle avait dj t pense en bonne partie mais, tout ntait pas
fonctionnel. Jai travaill l-dessus avec Tomy. Lui faisait le fonctionnement pour
changer de langue et aller chercher les mots dans le bon fichier de ressources tandis
que moi, je cherchais des solutions pour les textes qui ne se traduisaient pas.
Sommairement, chaque objet dans lapplication est conu pour demander son texte sil
capte un vnement de traduction. De cette manire, en demandant son texte, il le reoit
dans la bonne langue.

Jai commenc par les messages derreurs. Ces derniers taient compltement
harcod donc, je nai eu qua modifier ceci pour quils aillent chercher leur texte dans
les ressources.

Ensuite, la grille de proprits perdait ses proprits lors dune traduction. Le problme
tait cause du multiprocessus. Les divers processus que comporte lapplication ntaient
pas tout dans la mme langue et donc, il y avait des incohrences qui faisaient que les
grilles fonctionnaient mal.

Ensuite, je me suis attaqu la traduction de loscilloscope. Cet instrument est le plus


ancien de lapplication et il est fait en C++. Jai donc d ajouter des fonctionnalits
linstrument lui-mme en C++, faire le code faisant le lien entre le C++ et le C# puis
compiler les bons fichiers dexcution et de ressources. Pour cette partie, jai eu besoin de
beaucoup daide de Tomy car cest trs technique et il faut bien connatre ces deux
langages.

29 avril 2005 13
Rapport de stage Lab-Volt Analyse des tches effectues

3.8 TREND RECORDER

La dernire semaine, jai travaill sur un tout nouvel instrument sur une nouvelle
application de rfrigration en collaboration avec Tomy. Je partais de zro car
lapplication en dveloppement navait pas implant de structure pour le lancement et le
contrle dinstruments. Aussi, il a t dcider que linstrument devait tre indpendant le
plus possible de lapplication avec laquelle il est utilis. Pour faire cette partie, jai
beaucoup discut avec Tomy pour trouver la meilleure solution possible. Finalement, la
seule chose qui devra tre spcifique est lacquisition des donnes. Cest un trs beau
dfit car son implmentation nest pas identique celle faite dans LVRts bien que je my
suis inspir.

Donc, jai commenc par revoir la mthode dacquisition des donnes dans lapplication
de rfrigration avec les notions de remoting de LVRts. Puis, jai regard comment
fonctionnaient les objets graphiques de dessins pour enfin tout mettre cela ensemble pour
faire linstrument. En une semaine, Tomy et moi avions presque eu le temps de le finir.
On peut voir un aperu de cet instrument en annexe 4.

29 avril 2005 14
Rapport de stage Lab-Volt Critique des tches accomplies

4 C R I T I Q U E D E S T C H E S A C C O M P L I E S
Cette partie est un retour sur les tches effectues pendant mon stage. Dans la premire
partie, je fais une critique du droulement de laccomplissement des tches. Bien
entendu, je nai slectionn que quelques tches les plus marquantes au niveau du projet.
Deuximement, je parlerai de certaines rsolutions de problmes o mon opinion ou mes
ides ont t bnfiques pour le projet.

4.1 R E TO U R S U R Q U EL Q UE S T CHE S M ARQ UANT E S DU P RO JE T

Comme je viens dexpliquer, cette partie est consacre ltude de laccomplissement de


certaines tches du projet. Pour rendre la chose plus intressante, je parlerai aussi des
tches o la dmarche t moins bonne et/ou que je referais dune faon diffrente.
Commenons par celles bien excutes.

Dans tous les cas, les tches que jai bien ralises sont celle o jai pris mon temps pour
rflchir quest-ce que je dois faire et comment je vais le faire. Premirement, lanalyse
de Dotfuscator est daprs moi, une bonne russite. Jai commenc par lire la
documentation sur loutil, ensuite, lorsque je comprenais bien comment il fonctionnait, je
lai essay puis, jai pos mes recommandations. Par la suite, jai fait beaucoup defforts
pour le faire fonctionner avec notre application. Jai trouv cette dmarche trs efficace.

Une autre tche o je pense avoir bien travaill est celle de rendre louverture des
instruments synchrone. Jai commenc en me basant sur lvnement de fermeture pour
en faire un douverture. Par la suite, jai gr les processus de manire concurrents
comme je lavais appris luniversit. Jaurais pu utilis nimporte quelle manire de
contournement du problme mais, jai fait une solution propre et facilement extensible.

Finalement, un dernier bon accomplissement est la programmation du Trend Recorder.


Pour le faire, jai commenc par regarder attentivement comment les instruments sont
programms dans LVRts. Ensuite, jai fait la fentre de linstrument. Jai ensuite continu
par implantation de tout le mcanisme douverture et de contrle distance de
linstrument. Cette partie est cruciale dans le dveloppement dun instrument et cest

29 avril 2005 15
Rapport de stage Lab-Volt Critique des tches accomplies

pour cette raison que jai beaucoup discut avec Tomy pour voir quest-ce quil pensait
des choix que jallais prendre. Ensuite, jai implant la rception de donne et jai termin
par le dessin du graphique lui-mme. Je suis fier de ce cheminement, car jai progress
tape par tape tout en ayant une bonne communication dquipe. De cette manire,
chaque chose tait pense et le rsultat final est trs bien.

Maintenant, passons aux tches o je ne suis pas aussi fier de leur cheminement. Pour
commencer, lapplication dinstallation de LVRts. Le problme est que nous avons
procd sans ncessairement savoir les besoins de lapplication. Par exemple, nous ne
savions pas vraiment quel DirectX a prenait et on ne savait mme pas si a le prenait ou
si a prenait seulement le ManagedDX. Donc, au dbut on a mis les deux puis enlevs
puis remis etc. Pour ce qui est des fichiers systmes, des fois il en manquait ou ce ntait
pas les bonnes versions. Si ctait refaire, je ferais plus de recherche pour savoir
vraiment ce que lapplication demande. Lorsque jai refait la structure des instruments, il
ma t demand de le faire dune faon mais, je nai pas vraiment pos de questions et
jai commenc de cette manire. Cela a t une erreur car peu de temps aprs, jai d
recommencer dans la direction inverse, car finalement ctait plus logique. Si javais pos
plus de questions ds le dpart, jaurais srement sauv beaucoup de temps.

29 avril 2005 16
Rapport de stage Lab-Volt Critique des tches accomplies

4.2 R E C O M M A N D AT I O N S AP P O RT E S E T R AL I S E S AU P RO JE T

Tout au long de mon stage, jai t amen faire des choix par moi mme dans le but de
faire des recommandations pour le projet. Voici quelquesun de ces moments. Au dbut
de mon stage, jai eu faire des tests de lapplication pour justement trouver des
incohrences dans lapplication et donner mon opinion sur le produit. Jy ai fait un
ensemble de recommandations qui ont t trs bien reues et dont la majorit est
maintenant programme dans le systme.

Ensuite, il y a deux modifications que jai recommandes de part mon initiative et qui ont
t acceptes. En premier lieu, il y a le besoin de rendre dpendantes des options de la
grille de proprits du Radar. Pour cela, il ma t demand de faire quelque chose de fixe
sans trop perdre de temps. Mais, jai plutt propos de faire une solution indpendante du
contexte pour pouvoir la rutiliser ultrieurement. Jai alors pu coder la solution de
manire gnrale et elle fonctionne trs bien. La seconde amlioration, toujours dans la
grille de proprit, est la modification dentiers dune manire autre que manuellement.
Jai alors explor plusieurs avenues possibles avant de proposer un prototype dun
contrle. Lorsque ce fut accept, jai cod ce contrle de manire totalement gnrale et
facile dutilisation. Le rsultat est trs bien et est rutilisable facilement. Je crois que cela
ajoute un bon plus lapplication.

29 avril 2005 17
Rapport de stage Lab-Volt Formation et encadrement au dpartement

5 F O R M A T I O N E T E N C A D R E M E N T A U
D P A R T E M E N T
Au cours de mon stage, jai reu une visite de mon superviseur de stage de luniversit
Laval. Je crois que cet encadrement est le minimum et je pense quune rencontre au dbut
et une dans le milieu serait le mieux. Comme a, le dpartement serait rapidement au
courant de la situation de tous leurs stagiaires. Finalement, je ne crois pas quun stage
ncessite beaucoup plus dencadrement que cela de la part de luniversit.

Je crois que la formation universitaire est trs bien mais, quelle manque peut-tre un peu
de pratique axe vers les besoins des entreprises. Par exemple, en consultant les offres de
stage, on se rend vite compte que les stagiaires auront, dans la majorit des cas, soit
programmer ou jouer un rle danalyste. Avec les cours universitaires, je crois que nous
ne sommes pas assez prpars de telles tches. Les cours thoriques sont dune
importance capitale dans le but davoir un Bac mais, ils pourraient tre mieux adapts.
Lorsque des cours ont une partie pratique, elle nest pratiquement jamais relie avec de
nouvelles technologies. Sans vouloir refaire le programme en entier, des cours comme
langage de programmation ou spcification formelle seraient peut-tre rviser. Quand je
dis rviser, ce nest pas tant sur le plan thorique mais bien sur lapplication de la
matire.

Comme je suis dans le programme Dec-Bac, je me permets de glisser un mot sur ce


programme. Comme bien des lves, je pense que ce programme est une occasion
exceptionnelle de faire des tudes efficaces dans un domaine quon aime mais, je pense
quil pourrait tre plus adapt. Je crois que certains cours pourraient se donner plus
rapidement car lors des premires sessions, la thorie de plusieurs cours tait au moins
50% vu au cgep. Donc, si ces cours taient adaptes et donnes dans condens dans les
premires sessions luniversit, je crois quil serait peut-tre possible de gagner une
session de plus. Pour donner un exemple, je crois que la matire non vue au cgep de
programmation oriente objet et structure de donnes pourrait facilement faire lobjet
dun seul cours.

29 avril 2005 18
Rapport de stage Lab-Volt Formation et encadrement au dpartement

La vision thorique vue dans les cours luniversit nous amne penser beaucoup plus
rationnellement. Selon moi, tout ce que je fais maintenant est beaucoup mieux et plus
rflchi que ce que jaurais pu faire en sortant du cgep. Pas seulement parce que jai plus
dexprience, mais parce que luniversit nous inculte une manire de penser trs
diffrente o chaque action doit tre pense et la limite prouve. De plus, en ayant plus
de notions thoriques sur le fonctionnement de linformatique, nos programmes ou
spcifications sont beaucoup meilleurs.

Les stages, dans nimporte quel domaine, sont des outils dapprentissage essentiel une
formation acadmique. Cest dans cette activit quun tudiant peut appliquer la thorie
quil apprend lcole et dvelopper de nouvelles aptitudes. En plus, les stages forment
les tudiants une rigueur qui nest pas ncessaire lcole. Cest aussi un bon moyen
dapprendre et de faire des erreurs quun employ normal ne pourrait ne permettre. Il ne
faut pas oublier quun stage nous ouvre les portes dune entreprise et cest trs important.
Je crois quil devrait avoir le plus de stages possible dans un Bac. Alors, pour un Bac de
trois ans, je crois que trois stages seraient le mieux. Dans mon cas, vu que jai dj un
stage de fait au cgep et que jtudie 2 ans et demi luniversit deux cest parfait. Je ne
crois pas quun serait suffisant par contre. Pour la longueur, une session cest amplement
suffisant pour bien matriser lobjet du stage sans toutefois trop retarder le cheminement
acadmique.

29 avril 2005 19
Rapport de stage Lab-Volt Conclusion

6 C O N C L U S I O N
Ce stage a t trs formateur pour moi et jen suis trs fier. En plus, je crois avoir t bien
accept au sein de lquipe de dveloppement et cest trs important pour moi. En aucun
temps je me suis senti de trop et mon opinion valait autant que celle des autres. Aprs peu
de temps jai su minclure et cela a rendu mon stage des plus amusant et stimulant. Je leur
en remercie beaucoup dailleurs.

Jai aussi eu relever beaucoup de dfis tout au long de mon stage. Pour moi, plus les
dfis sont grands, plus je suis motiv. Premirement, je tombais dans lunivers du .Net
avec C#. Nayant jamais touch au C# ce fut un bon dpaysement. Ce langage de
programmation ressemble beaucoup au Java que je connaissais mais, beaucoup plus de
classes sont disponibles. Cela a lavantage de simplifier le code mais, cest plus long pour
trouver lobjet dont on a besoin. En plus, une partie de lapplication tait faite en MFC.
Javais peine toucher au C++ au cgep donc, ce fut un autre gros dfit que de faire des
modifications ce code tout en modifiant le pont permettant de contrler le code C++
partir du C# et vice versa. La compilation du C++ pour quil fonctionne avec du C# est
aussi une trs grande aventure dont je navais aucune ide avant mon stage. Ensuite, un
autre dfit rside au travail avec InstalShield. Ce dernier est fait pour crer des logiciels
dinstallation mais, selon moi il est trop difficile manipuler lorsquon dsire faire
quelque chose de particulier. De plus, il est dur de trouver de laide sur ce logiciel mme
si cest trs utilis. Jai d chercher comment faire des validations dans des formulaires,
dmarrer dautres applications en mme temps dans divers rpertoires etc. Toutes ces
choses ne sont pas ncessairement prvues dans InstalShield ce qui complique la tche.
Finalement, un bon dfit que jai eu est de travailler avec une application qui en contrle
dautres. Avant mon stage, je ne me doutais mme pas que ctait possible. Lorsque jai
d modifier louverture des instruments jai beaucoup appris sur les techniques de
remoting et le plus beau dfit est lorsque jai eu le faire moi-mme dans le Trend
Recorder. Ce fut pour moi une chance incroyable que de relever ce dfit.

29 avril 2005 20
Rapport de stage Lab-Volt Conclusion

Aprs tout mes expriences de travail en informatique, je crois avoir vu une bonne partie
de ce qui est possible de faire en informatique. Mon premier tait de faire un projet de
lanalyse linstallation, mon deuxime contenait de lanalyse, de la programmation web
et de la base de donnes et mon dernier contenait de la programmation Windows. Ce
stage ma aussi fait connatre le dveloppement sans base de donnes, mais avec un
serveur dacquisition de donnes. Je crois que cest ce dernier stage que jai apprci le
plus et cest pour cette raison que cest dans ce domaine que jaimerais me diriger. De
plus, travailler sur un projet dune telle envergure a t une exprience sans prcdent
pour moi et je crois que cest un atout majeur pour ma future carrire. La connaissance du
C# est aussi srement un plus pour moi car je crois que ce langage viendra doucement
remplacer tous les autres au point de vu programmation Windows. Surtout du fait que les
applications prennent beaucoup moins de temps dvelopper comparativement au MFC
par exemple. Donc, en connaissant un langage qui nest pas enseign luniversit, je
crois bien pouvoir tirer mon pingle du jeu.

Si je pouvais conseiller un tudiant en recherche de stage je lui dirais de bien prendre son
temps pour trouver ses stages et que, tant qu faire un stage quil naime pas ou qui nest
pas formateur, il est mieux de le remettre plus tard. Je pense surtout des stages trouvs
la dernire minute... Un stage est tellement important quon ne peut se permettre de
faire nimporte quoi sous le prtexte quil faut faire un stage. Aprs tout, ce sont les
stages qui font la diffrence entre les lves graduant dun Bac. Je crois aussi quun
stagiaire devrait slectionner ses stages dans des environnements et des technologies
diffrentes de manire faire le tour des possibilits qui sont possible et dlargir son
domaine dexpertise.

Pour finir, je crois avoir fait de lexcellent travail chez Lab-Volt tout en progressant
normment au niveau acadmique. Tous les objectifs et mandats sont termins. Par
exemple, LVRts est pratique termin, la direction est au courant de la Dotfuscation,
lapplication dinstallation est termine et le Trend Recorder est trs avanc. Je pars en
ayant termin tous les mandats que jai commencs et jen suis trs fier.

29 avril 2005 21
Rapport de stage Lab-Volt Annexe 1 : Bug Track

7 A N N E X E 1 : B U G T R A C K

29 avril 2005 22
Rapport de stage Lab-Volt Annexe 2 : Dessins dans LVRts

8 A N N E X E 2 : D E S S I N S D A N S LV R T S

29 avril 2005 23
Rapport de stage Lab-Volt Annexe 3 : LVRts avec ses instruments

9 A N N E X E 3 : L V R T S A V E C S E S
I N S T R U M E N T S

29 avril 2005 24
Rapport de stage Lab-Volt Annexe 4 : Trend Recorder

1 0 A N N E X E 4 : T R E N D R E C O R D E R

29 avril 2005 25
Rapport de stage Lab-Volt Fiche dvaluation de mi-stage

11 F I C H E D V A L U A T I O N D E M I - S T A G E

29 avril 2005 26
Rapport de stage Lab-Volt Fiche dvaluation de mi-stage

29 avril 2005 27
Rapport de stage Lab-Volt Fiche dvaluation de mi-stage

29 avril 2005 28
Rapport de stage Lab-Volt Fiche dapprciation finale du stagiaire

1 2 F I C H E D A P P R C I A T I O N F I N A L E D U
S T A G I A I R E

29 avril 2005 29
Rapport de stage Lab-Volt Fiche dapprciation finale du stagiaire

29 avril 2005 30
Rapport de stage Lab-Volt Fiche dapprciation finale du stagiaire

29 avril 2005 31
Rapport de stage Lab-Volt Fiche dapprciation finale du stagiaire

29 avril 2005 32
Rapport de stage Lab-Volt Fiche dauto-valuation finale du stagiaire

1 3 F I C H E D A U T O - V A L U A T I O N F I N A L E
D U S T A G I A I R E

29 avril 2005 33
Rapport de stage Lab-Volt Fiche dauto-valuation finale du stagiaire

29 avril 2005 34
Rapport de stage Lab-Volt Fiche dauto-valuation finale du stagiaire

29 avril 2005 35
Rapport de stage Lab-Volt Fiche dauto-valuation finale du stagiaire

29 avril 2005 36
Rapport de stage Lab-Volt Synthse de la prsentation orale

1 4 S Y N T H S E D E L A P R S E N T A T I O N
O R A L E

29 avril 2005 37
Rapport de stage Lab-Volt Synthse de la prsentation orale

L A B - V O L T ( Q U B E C ) L I M I T E D

S Y N T H S E D E L A P R S E N T A T I O N O R A L E
H I V E R 2 0 0 5

Pour mon second stage en informatique luniversit Laval, jai dcid de me joindre
une quipe o je pouvais me perfectionner dans un domaine pratiquement inconnu de ma
part. Mes objectifs personnels pour ce stage taient dapprendre sur la programmation
Windows en C# et de travailler en quipe sur un produit que vend une entreprise prive.
Jai eu la chance de raliser ces objectifs chez Lab-Volt.

Lab-Volt (Qubec) Limite est un important centre de fabrication de Lab-Volt Systems


Inc., entreprise spcialise dans la conception, la fabrication et la distribution
d'quipement didactique pour assister l'enseignement de matires techniques qui exigent
des travaux pratiques en laboratoire. Il est un important centre de fabrication pour Lab-
Volt Systems Inc. Ce dernier est situ au New Jersey et la filiale o jai travaill se situe
dans le parc industriel de Charlesbourg.

Lenvironnement de travail chez Lab-Volt est trs amical et est ax sur le travail dquipe
et la communication. Jai travaill en grande collaboration avec Franois Coulombe et
Tomy Rodrigue tout au long de mon stage. Lencadrement tait aussi trs prsent avec un
rsum et une rencontre par semaine.

Tout au long de mon stage, jai effectu plusieurs mandats tels que la programmation du
Lab-Volt Radar Training System (LVRts), analyser DotFuscator, modifier linstallateur de
LVRts, faire plusieurs type de tests et commencer la programmation du Trend Recorder.
Au cours de la prsentation, jexpliquerai lessentiel de ces tches ainsi que leur
droulement. Puis, je terminerai sur mes impressions suite a ce stage.

Mathieu Ct
12 mai 2005

29 avril 2005 38
Rapport de stage Lab-Volt Support la prsentation orale

1 5 S U P P O R T L A P R S E N T A T I O N
O R A L E

29 avril 2005 39
Rapport de stage Lab-Volt Support la prsentation orale

29 avril 2005 40
Rapport de stage Lab-Volt Support la prsentation orale

29 avril 2005 41
Rapport de stage Lab-Volt Support la prsentation orale

29 avril 2005 42
Rapport de stage Lab-Volt Support la prsentation orale

29 avril 2005 43