Académique Documents
Professionnel Documents
Culture Documents
Mise en production dun systme de cration et de lecture automatise de QCM volus. Cahier des charges
Client: Pellegrini Franois Responsable pdagogique: Rollet Antoine Elves: Kesmi Meryem, Delmas Robin, Song Chen
16 dcembre 2011
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
3 Modle du systme 10 I Diagramme de cas dutilisation . . . . . . . . . . . . . . . . . . . . 10 II Nouveau diagramme de squence . . . . . . . . . . . . . . . . . . . 11 III Nouveaux diagrammes de classes . . . . . . . . . . . . . . . . . . . 13 4 Evolution du systme 15 I Adaptations possible . . . . . . . . . . . . . . . . . . . . . . . . . . 15 I.A Analyse de champs libres . . . . . . . . . . . . . . . . . . . . 15 I.B Calcul dune note . . . . . . . . . . . . . . . . . . . . . . . . 15
5 Nouvelles spcications I Gnration du chier modle . . . . . . . . . . . . . . . . . . . . . I.A Lecture du chier QCM . . . . . . . . . . . . . . . . . . . I.A.1 Reconnaissance du format du chier . . . . . . . I.A.2 Calibrage du chier . . . . . . . . . . . . . . . . . I.A.3 Achage du chier . . . . . . . . . . . . . . . . . I.B Slection des champs . . . . . . . . . . . . . . . . . . . . . I.B.1 Choix du taux de noir pour quun(e) case/ratio soit considr(e) comme rempli(e) . . . . . . . . . . . I.B.2 Amliorer la dtection des cases/ratios noircies . I.B.3 Choix de lordre dans lequel les informations sont inscrites sur le chier de rsultat . . . . . . . . . I.C Sauvegarde des informations slectionnes . . . . . . . . . II Analyse du QCM . . . . . . . . . . . . . . . . . . . . . . . . . . . II.A Chargement du chier modle . . . . . . . . . . . . . . . . II.B Lecture du code barre . . . . . . . . . . . . . . . . . . . . II.C Lecture du chier QCM rempli . . . . . . . . . . . . . . . II.C.1 Reconnaissance du format du chier . . . . . . . II.C.2 Calibrage du chier . . . . . . . . . . . . . . . . . II.D Recherche des rponses . . . . . . . . . . . . . . . . . . . . II.E Gnration du chier rsultat . . . . . . . . . . . . . . . . II.E.1 Sauvegarde des rsultats de lanalyse du QCM . . III Gnration dun code barre . . . . . . . . . . . . . . . . . . . . . III.A Portabilit du logiciel . . . . . . . . . . . . . . . . . . . . . III.B Simplication de lutilisation du logiciel . . . . . . . . . . . III.B.1 Contrainte . . . . . . . . . . . . . . . . . . . . . . III.B.2 Solutions proposes . . . . . . . . . . . . . . . . . III.C Facilit dinstallation . . . . . . . . . . . . . . . . . . . . . 6 Diagramme de Gantt 7 Conclusion 8 Lexique 9 Bibliographie/Webographie
. . . . . .
17 18 18 18 18 19 20
. 20 . 20 . . . . . . . . . . . . . . . . . 22 22 23 23 23 25 25 26 26 26 26 27 28 28 28 28 29 30 32 33 35
Contour actif . . . . . . . . . . . . Dlimiter une zone . . . . . . . . . Clic lintrieur de la case . . . . . Deux checs . . . . . . . . . . . . . Balayage du code-barre . . . . . . . Cadre de code-barre de Bordeaux 1
Diagramme de Gantt . . . . . . . . . . . . . . . . . . . . . . . . . . 30
I.A
I.A.1
Le logiciel fonctionne avec des chiers PDF en format bitmap. Ceci dit il reconnait certains PDF en format vectoriel. I.A.2 Calibrage du chier
Au niveau de la gnration du chier modle intervient la bibliothque Pandore, crite en C++, qui est une bibliothque de traitement dimage. Elle opre au niveau de la recherche et la reconnaissance de marqueurs prsents sur le QCM et qui permettent de corriger les ventuelles rotations que pourrait avoir subies le document lors de la procdure de scan. Fonctionnalits de Pandore La bibliothque Pandore rcupre une image du QCM quelle convertit en format PAN de codage RGB. Ensuite, elle binarise limage en utilisant le principe de 5
seuillage. Enn, en se basant sur le principe de morphologie mathmatique quest louverture, Pandore dtecte les marqueurs , et ce suite lapplication succesive drosion et de dilatation du rayon des marqueurs avec pour lment structurant un cercle. Lquipe de lanne dernire a choisi de travailler avec quatre marqueurs, tous de forme circulaire, qui est la forme la plus simple dtecter, si lon considre que le document peut avoir pivot. Le logiciel ne commence son traitement sur la feuille du QCM quune fois quelle a t roriente grce au calcul des angles dinclinaisons. Cependant le logiciel nutilisant que 2 maqueurs, il ne gre pas les problmes de rotation trop importantes (180 par exemple) ni les changements de rsolution. I.A.3 Achage du chier
Une fois le chier calibr, le logiciel permet de lacher dans un encadr bien dlimit comme le montre linterface graphique.
I.B
La gnration du chier modle se base sur un certain nombre dinformations obtenues suite ltape de dlimitation des zones du QCM. Le logiciel permet en eet, par simples clics de la souris, denregistrer des zones sous forme de rectangles qui reprsentent les carrs des radios ou des cases cocher.
I.C
Cest partir de ces informations stockes que lon gnre le chier modle. Ceci passe dabord par la cration dun arbre reprsentant de manire structure toutes ces informations qui ne sont autre que le QCM lui mme traduit en arborescence. Grce la bibliothque XMLEncoder ,larbre est cod en XML,de ce fait on obtient le chier modle en format XML.
II
II.A
Analyse du QCM
Chargement du chier modle
Le logiciel permet lutilisateur de slectionner le chier modle gnr lors de ltape prcdente qui correspondra au chier QCM rempli analyser.
II.B
II.B.1
De manire similaire prcedemment, le logiciel reconnait les chier PDF en format bitmap, et renvoie une erreur le cas chant (erreur lecture chier). II.B.2 Calibrage du chier
Le calibrage du chier se fait avec les mmes marqueurs an de positionner correctement le QCM rempli.
II.C
An de rcuprer les coordones des champs lire, on utilise les coordonnes des champs contenus dans le chier xml correspondant au chier modle gnr lors de ltape prcdente. Les coordonnes des cases et autres zones reprsentent en eet le squelette du QCM, cest bien larborescence des zones dlimites au pralable que lon retrouve en dcodant le chier XML (chier modle) laide dun algorithme prsent dans la bibliothque XMLDecoder. Le pourcentage de pixels noirs dans les cases et ratios permet de savoir si une case/ratio est noircie ou non. Une zone analyse est considre comme noircie si le pourcentage de pixels noirs dans la zone atteint 35%. Ces informations sont par la suite stockes dans un chier CSV de manire ordonne.
II.D
Le chier CSV est gnr au fur et mesure du parcours de larborescence des zones dlimites et dpend de la dtection ou non des zones noircies. Ce chier contient un ensemble de valeurs qui correspondent aux diverses informations lies au QCM (nom de la matire, nombre de pages etc..), mais aussi celles reprsentant les rponses aux questions, tout cela dans un orde prdni. Il est noter qu chaque lve correspond un chier CSV, et que les valeurs dcrites prcdemment sont crites chacune sur une ligne.
III
Le client nous a fourni la rfrence dun logiciel open source de correction de QCM, le logiciel AMC dont certaines fonctionnalits sont identiques celles souhaites par le client pour ce projet. En eet ce logiciel peut prendre en entre 7
un chier PDF pouvant contenir un nombre important de QCM (ventuellement dun grand nombre de pages) scanns et les analyse en grant les ventuelles rotations des chiers grce 4 marqueurs ronds situs aux coins des feuilles. Le chier modle doit tre obligatoirement un chier latex gnr avec ou sans laide du logiciel. Les feuilles disposent de vecteurs binaires an de distinquer les numros de QCM et de pages, et ont galement un champ de cases noircir par les tudiants an dtablir leur numro dtudiant. Ainsi, AMC prsente par de nombreux aspects des similarits avec le logiciel que nous allons implmenter. Une tude plus complte dAMC sera mene par la suite, nous nous contenterons dans ce cahier des charges de donner et bref aperu des avantages et inconvnients du logiciel.
III.A
Le logiciel est installable sous direntes versions de Linux et sous MacOS. En revanche, il nest prsentement pas installable sous Windows et ne le sera sans doute pas facilement puisquil est implment notamment en C++ et en Perl avec direntes bibliothques extrieures. De ce fait, il nest pas facilement installable sous ubuntu par exemple car il ncessite linstallation de nombreuses bibliothque annexes. AMC dispose de fonctionnalits supplmentaires comme le traitement direct des rsultats des QCM analyss. En eet il est possible de corriger directement les QCM sur les chiers PDF grce un barme entr par lutilisateur. De plus, la cration du chier modle via latex permet au logiciel de reprer trs facilement coordonnes des cases rponses aux questions sans que lutilisateur nait intervenir. Cependant, la contrainte dun chier modle au format latex est assez importante : lutilisateur est oblig de crer son chier modle sous latex ce qui nest pas trivial pour la majorti des personnes. Pour les services de luniversit des Sciences de Bordeaux par exemple cela ne serait tout simplement pas envisageable car cela demanderait une formation des professeurs au latex.
IV
Diagramme de squence
Ce diagramme dcrit lenchanement dans le temps des direntes actions effectues par le crateur des modles du QCM et lanalyseur du QCM. Il a t rcupr dans le rapport de pfa du goupe de lanne dernire.
Le diagramme de cas dutilisation est exactement le mme que celui de la version prcdente, et a donc t rcupr du rapport de projet de lanne dernire .
10
II
Ce diagramme est celui rcupr dans le rapport du groupe de lanne dernire, avec en jaune les fonctionnalits sur lesquelles nous allons intervenir et que nous allons modier par la suite.
11
III
Les classes et les ches en bleu correspondent aux nouvelles fonctionnalits demandes.
13
14
I
I.A
Adaptations possible
Analyse de champs libres
Actuellement, le logiciel prend en compte lexistance de champs libres (zones de texte dans lesquelles llve peut crire une rponse).Cependant mme si cette zone en question est selectionne, elle nest pas analyse par la suite ce qui a pour consequence la non apparition de cette dernire dans le chier rsultat. Partant de ce constat,une version ultrieure pourra tre prvue an de permettre lutilisateur ayant opt pour la selection de cette zone de voir par exemple dans le chier rsultat une image scane correspondant celle delimit par le cadre selectionn lors de la cration du chier modle.
I.B
La version existante du logiciel couple des nouvelles fonctionnalits implmentes fournira un chier rsultat en csv. A partir de ce chier, les utilisateurs devront utiliser une macro excel contenant le barme des questions an dobtenir une note nale propre un tudiant. Cependant, certains professeurs qui seront amener utiliser le logiciel ne sauront pas forcement manier loutil informatique et sont donc aussi suceptibles de ne pas maitriser excel,encore moins la cration de macro. Ainsi, le logiciel pourrait lors de la cration du modle QCM prendre 15
en compte le barme des questions ainsi que les rponses justes. Dans ce cas l, le logiciel pourrait acher directement la note nale obtenue par tudiant. Une autre mthode ou une implmentation complmentaire consiste lutilisateur le soin de prciser le barme associ un QCM lors de la cration du modle de celui-ci. Cest une suggestion dAlexandre Moret, responsable au service informatique de lUniversit Bordeaux 1.
16
I
I.A
I.A.1
Reconnaissance de chiers PDF vectoriels Dans loptique dune extensibilit de notre logiciel, sa sphre dutilisation pourrait tre tendue dautres traitements en dehors de ceux denis et implments dans le code existant. En eet lapplication se limitait pour le moment lire exclusivement les chiers pdf bitmap grce la bibliothque java Jpedal. Partant de cela une nouvelle fonctionnalit sera mise en place comme stipule par le client. Cette dernire consistera prendre en charge la lecture de pdf vectoriels. La bibliothque java Jpedal ayant volue depuis lanne dernire, certains chiers pdf vectoriels peuvent tre lus. Cest pourquoi dans un premier temps, une tude sera faite pour vrier que Jpedal prend en charge tous les types de pdf vectoriel. Si ce nest pas le cas, la lecture de ces chiers sera mise en place dans un second temps. Pour se faire une nouvelle bibliothque sera incorpore lensemble. Elle aura pour rle de transformer le chier en question en pdf bitmap par le biais de la mthode de Rasterisation. Un chier pdf bitmap sera ainsi cr et sera lui mme utilis par Jpedal. Intret de cette methode Le code existant ici en loccurence celui de Jpedal et de ses fonctionalits ne sera pas modi. Dautres types de chiers pourront tre pris en compte dans lavenir indpendamment du reste. I.A.2 Calibrage du chier
Remplacement de la bibliothqe danalyse dimage Nous souhaitons retirer du programme lutilisation de la bibliothque Pandore, crite en C++, qui empche la portabilit du programme entirement crit en JAVA, langage portable par nature. Cette fonctionnalit, fortement lie au besoin
18
non fonctionnel de portabilit tant une des priorits principales du client, nous avons donc chercher remplacer Pandore. An de ne plus avoir utiliser Pandore, nous nous sommes intresss la morphologie mathmatique de plus prs et aux direntes bibliothques crites en JAVA qui pourraient contenir de telles fonctionnalits. Nos recherches nous ont mens vers la transforme de Hough. Cette mthode nous permettrait de retrouver dans une image, des lments proches dun certain lment constituant, qui peut par exemple tre un cercle. Ctait intressant pour nous surtout que nous avions trouv une implmentation en JAVA de cette transforme. Cette implmentation utilisait la bibliothque de traitement dimage ImageJ. Ses fonctionnalits en traitement dimages sont trs compltes et contiennent des oprateurs de morphologie mathmatique comme lrosion, la dillatation, louverture et la fermeture (dual de louverture). Il nous apparut donc plus simple dans un premier temps denvisager son utilisation directe remplaant lusage de Pandore avec les mmes fonctionnalits. Si cela se rvlait ne pas convenir pour une raison ou pour une autre, nous pourrions toujours implmenter nous mmes ces fonctionnalits directement dans notre programme, de faon adapte nos besoins. Pour le moment, le logiciel nutilise que deux marqueurs et ne pratique que la rotation du document. Contrairement ce que nous pensions, les deux derniers marqueurs ne sont pas utiliss. Nous comptons donc utiliser un troisime marqueur pour ajuster une dformation ventuelle. Les documents tant scanns ou directement produits depuis un chier latex, cette fonctionnalit nest pas primordiale, mais nous essaierons den implmenter une solution viable. Nous chercherons utiliser le quatrime marqueur pour dtecter le sens de la page, en le direnciant soit par la forme, soit par le remplissage (les autres marqueurs possdant un centre vide). I.A.3 Achage du chier
Cette partie ne contient pas de nouvelles fonctionnalits, par consquent le code de cette partie ne sera pas priori pas modi.
19
I.B
I.B.1
Cette nouvelle fonctionnalit consiste ajouter une barre dans le logiciel qui orira au client la possibilit de choisir un "pourcentage seuil" de noir. Un seuil par dfaut sera tout de mme prsent lors du lancement du logiciel. Toute case insusamment noircie, ce qui correspond un pourcentage de noircissement en dessous du seuil choisi, sera de ce fait considre comme blanche en dautres termes non coche. I.B.2 Amliorer la dtection des cases/ratios noircies
Cette partie consiste amliorer la dtection de case an de rendre le logiciel plus ecace et plus facile utiliser. La mthode qui est explique dans la partie prcdente nest pas susante pour augmenter lecacit de notre logiciel. Si le rectangle choisi est largement plus grand que la vraie case, mme avec la possibilit de choisir le taux de noir, le logiciel risque de ne pas fonctionner correctement. Cest pourquoi il est ncessaire dajouter une amlioration. Algorithme "Snake" Lalgorithme Snake permet de tracer le contour dune zone irrgulire en dformant progressivement une courbe de dpart. Grce cet algorithme, on est capable de retrouver la frontire dune case et donc le pourcentage de noir. Pour dtecter une case noircie, on peut augmenter drastiquement de le paramtre 35% environ 80%. Deux solutions ... A laide de lalgorithme de "contour actif", deux solutions sont fournies aprs une tude ralise sur les exemplaires de QCM. La premire solution est dutiliser le mme mcanisme que la mthode existante, puis ajouter la n lapplication de lalgorithme "snake". Cest--dire que le logiciel laisse le client dlimiter une zone rectangulaire et puis excute lalgorithme lintrieur de cette zone jusqu ce quil retrouve la frontire de la forme. La deuxime solution consiste pour lutilisateur cliquer intrieur de la case cocher avant dappliquer lolgorithme "snake" de lintrieur de la case vers lextrieur. Leur Avantage ... Chaque solution a son propre avantage. La premire solution permet toujours de retrouver ce que lon veut car il est toujours possible de tracer 20
Figure 5.2 Dlimiter une zone le rectangle trs proche de la vraie forme. Cependant, la seconde solution est plus pfrable. Sachant que cliquer dans la case est plus facile faire et que normalement il ny a quune couleur dans cette zone, elle est plus adapte aux besoins de client en terme dutilisation et au niveau de la complexit en temps de lalgorithme (temps dexcution plus rapide). Appartition de problmes Dans les deux cas, il est possible que lalgorithme se trompe. Puis, il est ncssaire davoir un moyen de mmoriser les coordonnes du dernir clic de client. La solution que lon a choisie consite excuter instantanment lalgorithme aprs chaque clic lors de la cration du QCM modle. Le problme ach dans la gure 5.4 est rsolue pour limiter le temps dexcution de lalgorithme.
21
Figure 5.4 Deux checs I.B.3 Choix de lordre dans lequel les informations sont inscrites sur le chier de rsultat
An que lutilisateur puisse obtenir un chier csv avec les direntes donnes analyses dans lordre quil souhaite, linterface graphique sera modie de manire permettre lutilisateur lors de la gnration du chier modle de visualiser dans la partie gauche du logiciel lordre dans lesquels les informations (rponses aux questions,code barre...) apparaitront sur le csv. Il pourra galement modier cette ordre en dplaant les champs slectionns vers le haut ou vers le bas. De ce fait lorganisation des dirents champs dans leur page respective sera supprime au prot dune organisation simplement ordonne par les choix de lutilisateur.
I.C
Cette partie ne contient pas de nouvelles fonctionnalits, par consquent le code de cette partie ne sera pas priori pas modi.
22
II
II.A
Analyse du QCM
Chargement du chier modle
Chargement de plusieurs chiers modle An de rpondre au besoin cit en II.C.1, il sera ncessaire de pouvoir charger un chier modle lors de la cration dun autre chier modle. Dans ce cas, seuls les champ de marqueurs binaires (contenant numro du QCM et numro de page du QCM) seront conservs.
II.B
An didentier les QCMs remplis par les tudiants, un code-barre propre chaque tudiant apparatra sur le QCM (il faut bien prendre en compte le fait que celui-ci ne sera pas forcment prsent sur la premire page du QCM), le numro dudiant devra alors tre prsent dans le chier csv. En eet, il est ncessaire de pouvoir connatre ltudiant sans avoir la copie sous la main. Le logiciel permet dja lutilisateur dencadrer la zone tudier en spciant la nature de lobjet : un code-barre. Il est donc prsent dans larbre xml cr. Les actions que nous devons fournir se rsument lire la zone slectionne par lutilisateur contenant le code-barre, lanalyser et retourner le numro correspondant au code-barre. Nous allons voir les 2 mthodes que nous avons retenues pour rsoudre le problme. La permire est lutilisation dun logiciel externe et la deuxime est la lecture du code-barre par nos propre moyen. Premire mthode Le logiciel BarCapture permet de lire 4 types de codes-barre (EAN8, EAN13, QRcode et DataMatrix). Dvelopp par la socit JaxoSystem, le logiciel est gratuit mais nest pas open-source. En se mettant en partenariat avec cette entreprise nous allons donc lutiliser dans le programme pour pouvoir lire des codes-barre. Le logiciel est programm en Java. Ainsi, en dsassemblant le code source du logiciel, nous pourrons nous infterfacer avec les bibliothques pour lire le codebarre. Deuxime mthode 23
Dans le cas o lutilisation du logiciel est impossible cause de lentreprise, nous devrons programmer nous mme la lecture du code-barre. Plusieurs tapes an dobtenir le numro dtudiant sont mettre en oeuvre : Le code-barre prsent sur le QCM peut tre inclin, en eet, ltudiant aura la possibilit de coller ltiquette du code-barre. Le motif du code-barre tant rptitif, par une transforme de Fournier (Fast Fourier Transform = FFT), nous pouvons dterminer linclinaison du code-barre pour pouvoir lanalyser. Nous eectuons ensuite un balayage horizontal sur le code-barre an dobtenir la largeur de chaque barre. A partir de cela, un algorithme se basant sur des calculs arithmtiques simples (additions, multiplications) permet de retrouver le numro associ ltudiant, algorithme qui varie selon le type de code-barre. An dviter les erreurs (prsence de bruit, tches...) plusieurs balayages seffectueront et la largeur dune barre est calcule laide de la moyenne des balayages.
Figure 5.5 Balayage du code-barre Autre mthode de lecture Suite a notre rencontre avec la direction informatique de Bordeaux 1, nous avons vu un autre moyen pour reconnaitre lidentiant dun tudiant. Il savre que, dans les QCms de luniversit de Bordeaux 1, le code-barre ne sut parfois pas. Ainsi, le QCM inclus un module dans lequel il est possible de rcrire son identiant. Le but est donc de lire les cases de ce module de la mme faon que lon lit les cases du QCM (cf partie reconnaissance des cases). Voici un exemple de module dun QCM de Bordeaux 1 :
24
II.C
II.C.1
Reconnaissance de chiers contenant plusieurs QCM dirents ou non Il serait fastidieux pour un utilisateur du logiciel de devoir charger chaque QCM scann au format pdf quil veut analyser, dautant plus que cest un logiciel qui cible des utilisateurs comme des professeurs duniversits qui ont un trs grand nombre dlves et donc de QCM analyser. Cest pourquoi il sera ncessaire de pouvoir charger plusieurs chiers PDF en mme temps pour les analyser ensemble. De mme, il doit pouvoir tre possible danalyser un chier PDF contenant plusieurs QCM. Une demande du client est que ces QCM puissent tre dirents ie que le logiciel puisse analyser un ensemble de QCM dans un mme chier PDF ou dans des chiers PDF dirents. De ce fait, il faudra que lutilisateur puisse slectionner autant de chiers modle dirents (.xml) que de chiers PDF. Pour que le systme fonctionne les QCM analyser ensemble devront tous possder au mme endroit un champ numro de questionnaire (cod par un vecteur de bits), dont la zone aura t repre prcdemment lors de la gnration des chiers modles. Cela permettra de savoir quel chier modle correspond chaque QCM. A noter que ce champ sera utilis galement pour grer la numrotation des QCM multi-pages.
25
II.C.2
Calibrage du chier
Cette partie ne contient pas de nouvelles fonctionnalits, par consquent le code de cette partie ne sera pas priori pas modi.
II.D
Cette partie ne contient pas de nouvelles fonctionnalits, par consquent le code de cette partie ne sera pas priori pas modi.
II.E
II.E.1
Une des modications majeures qui vont tre apportes en plus lensemble existant est celle ayant trait la gnration du chier rsultat CSV. En eet le client a mis le souhait de pouvoir utiliser un tableur qui lui permettra partir du chier CSV de gnrer automatiquement la note des lves ayant rpondu au QCM. Etant donn que la cration du tableur est laisse aux soins du client, le CSV en question devra donc respecter un certain nombre de contraintes spcies correspondant aux attentes de ce dernier. Des changements seront ainsi oprer sur le chier dorigine. En voici la liste : chaque QCM analys correspondra dans le csv une ligne avec tous les lments slectionns par lutilisateur, et qui permettront la gnration du rsultat souhait. Par exemple dans le cas dun chier de n QCM (possiblement dirents) remplis par des lves on retrouvera les lments : numro du QCM, numero du code barre i.e. de ltudiant, cases coches... ; et il y aura au total n lignes sur le csv (possiblement plusieurs lignes pour un mme tudiant sil a rpondu plusieurs QCM dirents), chaque ligne correspondant un QCM analys. un chier type csv sera de la forme : 4625 : 5 : 1 : 8 : 0 : 3 : 1 : 2 : 5233 : 6 : 2 : 4 : 2 : 4 : 8 : 3 : 6217 : 8 : 5 : 2 : 9 : 0 : 0 : 0 : Pour un radio buttom on aura -1 si plusieurs cases sont coches, 0 si aucune case nest coche, et la n-ime case du radio-buttom est coche. Pour une case cocher simple on aura 0 si aucune case nest cohe et le nombre obtenu par addition des valeurs binaires des cases
26
lors de la dlimitation des cases rponses des questions le respect de lordre des pages nest pas primordial, une amlioration qui pourra tre apporte sera lajout dune contrainte spciant un ordre de parcours croissant du QCM avec une dtection automatique de la dernire page traite. lordre dachage des direntes informations dans une ligne du csv devra correspondre lordre dni par lutilisateur lors de la slection des dirents champs dans la gnration du chier modle Ceci pourra facilement se faire dans la mesure o le csv est cr grce au parcours de larborescence des zones dlimites comme cela est visible dans la partie Arbre dachage des zones dlimites de notre interface graphique. Il faudra cependant stocker les informations lues lors de lanalyse dans une structure avant de les crire dans le csv puisque le parcours du PDF ne correspondra pas forcment lordre voulu dans le chier rsultat. lutilisateur pourra choisir un nom de chier csv dans lequel il veut enregister son chier rsultat, si ce chier existe dj les donnes seront ajouts la n du chier (en mode append)
III
En marge du dveloppement du logiciel, le client nous a demand de crer un package Latex, lequel pourra tre inclus par les crateurs de QCMs. Celui-ci naura qu choisir le format de code-barre quil souhaite utiliser et de prciser ensuite le code quil souhaite insrer dans le code-barre. Les dirents formats que nous allons utiliser sont pour le moment les 3 codes les plus utiliss : EAN 8, EAN 13 et le QRcode. Les 2 premiers sont trs utilise notamment au niveau commercial. Ils permettent de coder respectivement 8 et 13(voire 12) chires. (cf annexe pour exemples) Le QRcode permet quant lui de coder jusqu 4296 caractres. Cela permet dans certains cas de prciser de nombreuses informations rien que dans le code-barre. On remarquera cependant que le programme permet de crer de nombreux dautres codes-barre. La gnration devra pouvoir se faire suivant des options telles que : linclinaison (seulement un Nombre compris entre 0 et 360) la couleur la taille
27
Pour ce qui est de limplmentation de toutes ces options par le crateur du QCM, si ce dernier ne prcise pas les options, chaque option aura des attributs de bases (noir pour la couleur, 0 pour linclinaison). Pour ceci, les packages qui vont tre crs vont se baser sur un package bien connu de Latex : PSTricks et plus particulirement pst-barcode. Cest un package crer par Terry Burton et Herbert Vo. (cf Webographie pour une documentation complte en anglais) Aprs concertation avec le client, la mthode propose lui convient et une premire documentation lui a t fournie. Une documentation plus dtaille, notamment au niveau des options possibles dans le package, lui sera fournie lors de la remise nale du projet (ou avant).
III.B
III.B.1
Le client a demand ce que le logiciel soit simple dusage ce qui implique quil soit relativement ergonomique et quun utilisateur ne connaissant pas le logiciel puisse lutiliser. Or ce nest pas vraiment le cas actuellement. En eet la premire utilisation du logiciel ncessite de disposer du manuel dutilisation ct de soi pour pouvoir se servir du logiciel. De plus, ce manuel dutilisation actuel nest pas complet et pas totalement clair. III.B.2 Solutions proposes
Nous ne disposerons probablement pas assez de temps pour rendre linterface graphique plus ergonomique quelle ne lait prsentement sur les fonctionnalits dj implmentes. En revanche, nous tacherons den tenir compte lors des modications du code dj existant et nous chercherons implmenter la partie graphique 28
des solutions aux nouvelles fonctionnalits de manire ce quelle soit la plus intuitive possible pour lutilisateur. Par ailleurs an de rendre la prise en main du logiciel plus facile, le manuel dutilisation sera mis jour et rendu plus explicite. Il sera galement mis en place une aide lors du survol dun lment de manire ne pas avoir besoin de toujours se rfrer la documentation.
III.C
Facilit dinstallation
Le logiciel doit pouvoir tre install par un plus grand nombre de personnes, certains usagers pouvant ne pas tre informaticiens, il est important de faciliter linstallation du logiciel. Dans ce but une java-archive (.jar) devra tre fournie pour chacun des systmes dexploitation suivant : Linux, Windows, MacOS. Eventuellement, si la phase de dveloppement prend de lavance sur les dlais il est envisag de raliser pour Windows et MacOS une installation graphique via un assitant dinstallation. Tandis que lutilisation dun systme de gestion de paquets RPM sous Linux pourra complter la facilit dinstallation du logiciel.
29
Ce diagramme montre comment va sorganiser notre projet. Notre quipe sera compose de 3 binmes qui seront chacun assign a une tche. Par exemple le binme 1 va soccuper de tous ce qui est en rapport avec la bibliothque de reconnaissance des formes tandis que le binme 3 travaillera plutt les parties concernant le code barre. Bien que nous allons tenter de respecter ce planning, ce diagramme sera a coup sr modier, puisquil est compliqu dvaluer ds aujourdhui la complexit de chaque tche sparemment. Il sera donc interressant de comparer ce diagramme avec le diagramme nal, lequel sera cr au fur et mesure du projet.
30
Enn on remarque que les parties Interface Graphique, JavaDoc, Rapport sont supperposes a lensemble du projet. Pour ce qui est de linterface graphique, sachant que chaque modication risque de modier les fonctionnalits du logiciel, il faudra tre ractif et la modier en consquance.
31
Chapitre 7 Conclusion
La premire version existante du logiciel ne semble pas aboutie, elle contient de nombreux bug et ne correspond pas totalement aux attentes des utilisateurs ce qui reprsente un dfaut majeur concenant la correction des QCMs. De plus sa premire prise en main est loin dtre intuitive ce qui laisse la fade impression dinachev. Nanmoins, le travail fourni par lquipe prcdente facilite notre tache dans le fait quil souligne les points du logiciel amliorer ou retravailler. Ce cahier des charges spcie les besoins en se basant sur le retour de plusieurs utilisateurs an de le rendre plus ergonomique, portable et able. Nous esprons de plus ajouter des fonctionnalits additionelles an de simplier lutilisation du logiciel, de traiter le chier csv ou de crr son propre QCM qui sadaptera au logiciel.
32
Chapitre 8 Lexique
Codage RGB Pour reprsenter une couleur, lun des codages possible est le RGB (Red, Green, Blue). Ce codage consiste reprsenter lespace des couleurs partir de trois rayonnements monochromatiques de couleurs : rouge (R), vert (G), bleu(B). Cet espace de couleur correspond la faon dont les toutes les couleurs sont codes informatiquement. La bibliothque Pandore commence donc par rcuprer une image du QCM au format GIF quelle convertit dans un format propre Pandore (PAN). Ensuite on extrait de cette image la composante verte. Le rsultat correspond une image en niveau de gris de codage RGB. Binarisation La binarisation consiste considrer chaque pixel comme noir ou comme blanc. Ceci est dtermin en dnissant un seuil au dessus duquel le pixel est noir et au dessous duquel il est blanc. Cette tape permet un traitement plus simple de limage et est donc plus rapide. Ouverture Louverture en morphologie mathmatique correspond lapplication successive dune rosion et dune dilatation, avec un lment structurant. Dans lapplication, pour rechercher les marqueurs on applique ce principe sur limage avec pour lment structurant un cercle du rayon du marqueur. Il doit rsulter de cette opration limage ne contenant que les marqueurs. Il est alors ais de reprer leurs centres, permettant ainsi de redresser la feuille du QCM scann (ces points formant un rectangle dont les cts sont parallles au bord de la feuille). Erosion et Dilatation Pour expliquer simplement, on peut dire que lrosion rduit tous les ensembles de pixels en suivant la forme et la taille de llment structurant. Elle permet donc deacer peu prs tout ce qui ne ressemble pas llment stucturant. La dilatation est le procd inverse.
33
Lapplication de lrosion avec llment structurant cercle de rayon Rmarqueurs , permet deacer tous les lments autres que les marqueurs. Mais ils auront eux aussi t touchs et en seront ressortis avec une taille rduite. Pour pallier ce problme, on applique une dilatation avec le mme lment structurant. Ceci va permettre de rcuprer les marqueurs avec leur taille dorigine. EAN Le code-barre EAN (European Article Numbering) est trs utilis dans le commercial cest le code utilis pour les produits du quotidien. Il permet dans ses 2 versions les plus rpendues de coder 8 caractre (resp 13) pour le code EAN8 (resp EAN13). QRcode Le QRcode (Quick Response Code) est un code qui permet de coder jusqu 4296 caractres. Ce code peut contenir toute sorte dinformation telles que des URL, du texte, un numro de tlphone, ... Cest son codage en 2 dimensions grce des modules noirs qui permet de coder autant de donnes.
34
Chapitre 9 Bibliographie/Webographie
Source pour la bibliothque de gnration de codes-barre pst-barcode : http://ctan.org/tex-archive/graphics/pstricks/contrib/pst-barcode Source de BarCapture pour la lecture de codes-barre : http://www.jaxo-systems.com/solutions/barcapture/ Site du logiciel AMC de correction automatise de formulaires QCM : http://home.gna.org/auto-qcm/index.fr
35