Grilles TOEIC : Différence entre versions
(34 révisions intermédiaires par 4 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
+ | <include nopre noesc src="/home/pedago/pimasc/include/video-GrillesToeic-iframe.html" /> | ||
== Présentation == | == Présentation == | ||
+ | === Objectif : === | ||
+ | Réaliser une application informatique permettant la correction automatique de QCM, type TOEIC. | ||
+ | |||
+ | === Description : === | ||
+ | Depuis quelques années, le département des langues utilise une application informatique pour la correction des grilles TOEIC. A partir de l'image scannée d'une grille, le logiciel retourne automatiquement le nombre de bonnes et de mauvaises réponses. L'objectif du projet est d'améliorer cette application de sorte à en simplifier l'utilisation et à permettre sa diffusion au sein de tout le réseau des Polytech. | ||
== Préparation du projet == | == Préparation du projet == | ||
=== Matériel requis === | === Matériel requis === | ||
− | + | *L'ancien programme | |
+ | *Logicile PYTHON | ||
* Exemple de matériel | * Exemple de matériel | ||
=== Matériel à acheter === | === Matériel à acheter === | ||
− | === Fichiers | + | === Fichiers préparatoires === |
* [[Fichier:KMBT25020110629210858_1_0001.tif]] : un exemple de grille TOEIC | * [[Fichier:KMBT25020110629210858_1_0001.tif]] : un exemple de grille TOEIC | ||
* [[Fichier:KMBT25020110629210858_2_0001.tif]] : un 2nd exemple de grille TOEIC | * [[Fichier:KMBT25020110629210858_2_0001.tif]] : un 2nd exemple de grille TOEIC | ||
* [[Fichier:KMBT25020110629210858_2_0001.lu.tif]] : Résultat de la correction de la grille n°2 | * [[Fichier:KMBT25020110629210858_2_0001.lu.tif]] : Résultat de la correction de la grille n°2 | ||
* [[Fichier:KMBT25020110629210858_2_0001.txt]] : Résultat texte de la correction de la grille n°2 | * [[Fichier:KMBT25020110629210858_2_0001.txt]] : Résultat texte de la correction de la grille n°2 | ||
+ | * [[Fichier:Analyse_py.zip]] : Application actuellement utilisée | ||
== Avancement du projet== | == Avancement du projet== | ||
Ligne 24 : | Ligne 32 : | ||
==== Première séance ==== | ==== Première séance ==== | ||
+ | *Lire le rapport de l'ancien projet | ||
+ | *Prise en main le langue python(c'est un langue ce que on n'ai pas connu ): | ||
+ | **Lire le site http://linux.chinaitlab.com/manual/Python_chinese/index.html; | ||
+ | **Faire quelques petits programmes en python; | ||
+ | |||
+ | ==== Deuxière séance ==== | ||
+ | Tests sur l'ancien programme(version 2010) | ||
+ | <table border="1"> | ||
+ | <th>Tests effectués</th> <th>Conclusion</th> <th>Nos taches à réaliser</th> | ||
+ | <tr><td>le temps d'installation est environs 3 minutes et pas assez facile à prise à la main</td> | ||
+ | <td>Ce n'est pas assez pratique pour installer le programme</td> | ||
+ | <td>Faciliter le processus d'installation,déduitre le temps à inferieur d'une minute</td> | ||
+ | </tr> | ||
+ | <tr><td>le possiblité d'installation sous differents systeme(Linux, windows)</td> | ||
+ | <td>Il peut s'installer sur les deux systemes</td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr><td>Il peut traiter que des images de format TIF,et le taille d'image grossit apres le traitement</td> | ||
+ | <td>Il est un peu limite pour traiter des images d'autres formats</td> | ||
+ | <td>Trouver une méthode pour convertir le format à TIF d'image dans le but d'etre capable de traiter plus formats d'images</td> | ||
+ | </tr> | ||
+ | <tr><td>Le fenetre web affiche que le nombre de Bonne reponces</td> | ||
+ | <td>Le fenetre web n'a pas assez de fonctions pour l'enseignant anglais</td> | ||
+ | <td>Ajouter le fonction de calcul de notes finals,et on doit afficher le petit image pour indiquer l'endroit de confus</td> | ||
+ | </tr> | ||
+ | <tr><td>la vitesse de traitement d'une image est plus une minutes</td> | ||
+ | <td>C'est un peu long pour attendr le traitement de nombreux tests</td> | ||
+ | <td>Déduire le temps de traitment(peut etre on changer le méthode de calcul)</td> | ||
+ | </table> | ||
+ | |||
+ | ==== Troisième séance ==== | ||
+ | <u>Objet:</u> | ||
+ | <ul> | ||
+ | <li>Réalier le fonction de calcul le note totale | ||
+ | </ul> | ||
+ | |||
+ | <u>Réalisation:</u> | ||
+ | <ul> | ||
+ | On a trouvé le table de reference pour calcul le note d'apres le nombre de bonne reponse de l'enseignant de l'anglais. | ||
+ | Et on a ajouté le fonction de calcul le note d'écrit et le note d'orale et le note total.Puis on a modifié le page HTML pour afficher le note. | ||
+ | </ul> | ||
+ | |||
+ | ==== Quartième séance ==== | ||
+ | <u>Objet:</u> | ||
+ | <ul> | ||
+ | <li>S'amélioere le fonction de calcul le note totale | ||
+ | </ul> | ||
+ | |||
+ | <u>Réalisation:</u> | ||
+ | <ul> | ||
+ | D'apres le conseil de Monsieur Blaise,pour l'utilisateur peut changer le table facilement et avoir une plus vaste application de notre programme,on a creé le table de note par EXECEL de format 'csv'.Et puis on remplacer notre précédent calcul de note par une fonction qui peut consulter sur le table 'csv'. | ||
+ | </ul> | ||
+ | |||
+ | <u>Difficultés rencontrés:</u> | ||
+ | <ul> | ||
+ | <li>on a ecrit'row[0]==bonneRep0',mais row[0] n'est pas un entier sous python,il peut etre '10'. le solution s'écrit par 'if int(row[0])==bonneRep0'. | ||
+ | </ul> | ||
+ | <ul> | ||
+ | <li>on a ecrit"note[0]=int(row[1])",il y avait une erreur sur l'index de note.En fait,pour ajouter des chiffres sous Python,on doit utiliser 'note.append':ajouter a la fin d'un list. | ||
+ | </ul> | ||
+ | ==== Cinqième séance ==== | ||
+ | <u>Objet:</u> | ||
+ | <ul> | ||
+ | <li>Faciliter l'installation | ||
+ | </ul> | ||
+ | <u>Réalisation:</u> | ||
+ | <ul> | ||
+ | On a trouvé un outil'cx-freeze' pour générer noter programme'analyse.py' à un programme de format'.exe' . Avant cette réalisation,pour utiliser notre programme,on doit installer le 'python'et le 'PIL' aussi;et maintenant, on a besoin que faire le copie de le programme éxecutable '.exe' | ||
+ | </ul> | ||
+ | <u>Difficultés rencontrés:</u> | ||
+ | <ul> | ||
+ | <li>le logiciel 'cx-freeze'soit installé sous le repertoire'\Python 27\Script' | ||
+ | </ul> | ||
+ | <ul> | ||
+ | <li>Au début,On a réussit à emballer le progamme en'.exe'mais il prends pas l'image à traiter. | ||
+ | </ul> | ||
+ | <ul> Solution:PIL (Python Image libary) utilise un dynamique mécanisme à charger plugins,mais cx-freeze oublie d'inclure ce que le plugins a besoins parfois.On doit rajouter le commande dans notre programme pour indiquer le tyer d'image ce qu'on a besoin : | ||
+ | </ul> | ||
+ | <ul> | ||
+ | import Tiff Image Plugin | ||
+ | </ul> | ||
+ | <ul> | ||
+ | import Png Image Plugin | ||
+ | </ul> | ||
+ | <ul> | ||
+ | import Bmp Image Plugin | ||
+ | </ul> | ||
+ | <ul> | ||
+ | import Gif Image Plugin | ||
+ | </ul> | ||
+ | <ul> | ||
+ | import Jpeg Image Plugin | ||
+ | </ul> | ||
+ | <ul> | ||
+ | import Image Palletle | ||
+ | </ul> | ||
+ | <ul> | ||
+ | import Image File | ||
+ | </ul> | ||
+ | |||
+ | ==== Sixième séance ==== | ||
+ | <u>Objet:</u> | ||
+ | <ul> | ||
+ | <li>Déduire le temps de lire le réfenrence de note | ||
+ | <li>Remplacer le 'detail.txt'par 'detail.html' | ||
+ | </ul> | ||
+ | <u>Réalisation:</u> | ||
+ | <ul> | ||
+ | 1.D'après le conseil de monsieur Blaise,on définit une mémoire dynamique qui peut lire le table 'csv',et comme ca, quand on faire le calcul de note,le programme n'a pas besoin d'ouvrir le 'csv' tous les temps. | ||
+ | </ul> | ||
+ | <ul> | ||
+ | 2.On a fait un texte 'detail.html'qui est plus visible que 'detail.txt',et poure pouvoir fair notre projet suivant 'génerer le morceau'aussi. Mais pour l'instant,il peut pas se lire des paramètres de programme principale. | ||
+ | </ul> | ||
+ | |||
+ | ==== Septième séance ==== | ||
+ | <u>Objet:</u> | ||
+ | <ul> | ||
+ | <li>S'améliorer le'detail.html' | ||
+ | </ul> | ||
+ | <u>Réalisation:</u> | ||
+ | <ul> | ||
+ | On a modifié le'detail.html'pour qu'il peut lire le résultat calculé de programme principale et on a définit une fonction qui peut distinguer le question jugé par le prof appartient à quelle partie. | ||
+ | </ul> | ||
+ | |||
+ | ==== Huitième séance ==== | ||
+ | <u>Objet:</u> | ||
+ | <ul> | ||
+ | <li>Créer le fonction 'genererMorceauImage' | ||
+ | </ul> | ||
+ | <u>Réalisation:</u> | ||
+ | <ul> | ||
+ | Après bien compris l'utilisation de programme précédent,on a créé le fonction 'genererMorceauImage' qui peut lire les coordonées ou il y a un confuse,et puis il peut générer l'image en prenant les coordonées. | ||
+ | </ul> | ||
+ | <u>Difficultés rencontrés:</u> | ||
+ | <ul> | ||
+ | Pour générer l'image en rappelant le bibliithèque 'PIL',les coordonées soient entiers. Au début ,on l'ai connu pas. | ||
+ | </ul> | ||
+ | <ul> | ||
+ | Choisir présicement l'endroit de morceau | ||
+ | </ul> | ||
+ | |||
+ | ==== Neuvième séance ==== | ||
+ | <u>Objet:</u> | ||
+ | <ul> | ||
+ | <li>Déduire le temps de génerer le Morceau d'Image | ||
+ | </ul> | ||
+ | <u>Réalisation:</u> | ||
+ | <ul> | ||
+ | Pour le fonction 'genererMorceauImage',on a pas besoin de calculer chaque fois le repere(cet calcul est assez long à cause de lecture des coordonées d'images),et comme ca on a modifié 'genererMorceauImage' qui passe le repere comme un paramètre. | ||
+ | </ul> | ||
+ | |||
+ | == Rapport == | ||
− | + | [[media:rapport-grille-toeic.pdf]] |
Version actuelle datée du 16 mai 2012 à 16:11
Présentation
Objectif :
Réaliser une application informatique permettant la correction automatique de QCM, type TOEIC.
Description :
Depuis quelques années, le département des langues utilise une application informatique pour la correction des grilles TOEIC. A partir de l'image scannée d'une grille, le logiciel retourne automatiquement le nombre de bonnes et de mauvaises réponses. L'objectif du projet est d'améliorer cette application de sorte à en simplifier l'utilisation et à permettre sa diffusion au sein de tout le réseau des Polytech.
Préparation du projet
Matériel requis
- L'ancien programme
- Logicile PYTHON
- Exemple de matériel
Matériel à acheter
Fichiers préparatoires
- Fichier:KMBT25020110629210858 1 0001.tif : un exemple de grille TOEIC
- Fichier:KMBT25020110629210858 2 0001.tif : un 2nd exemple de grille TOEIC
- Fichier:KMBT25020110629210858 2 0001.lu.tif : Résultat de la correction de la grille n°2
- Fichier:KMBT25020110629210858 2 0001.txt : Résultat texte de la correction de la grille n°2
- Fichier:Analyse py.zip : Application actuellement utilisée
Avancement du projet
Objectifs suggérés par les encadrants
Réalisations concrètes
Séances
Première séance
- Lire le rapport de l'ancien projet
- Prise en main le langue python(c'est un langue ce que on n'ai pas connu ):
- Lire le site http://linux.chinaitlab.com/manual/Python_chinese/index.html;
- Faire quelques petits programmes en python;
Deuxière séance
Tests sur l'ancien programme(version 2010)
Tests effectués | Conclusion | Nos taches à réaliser |
---|---|---|
le temps d'installation est environs 3 minutes et pas assez facile à prise à la main | Ce n'est pas assez pratique pour installer le programme | Faciliter le processus d'installation,déduitre le temps à inferieur d'une minute |
le possiblité d'installation sous differents systeme(Linux, windows) | Il peut s'installer sur les deux systemes | |
Il peut traiter que des images de format TIF,et le taille d'image grossit apres le traitement | Il est un peu limite pour traiter des images d'autres formats | Trouver une méthode pour convertir le format à TIF d'image dans le but d'etre capable de traiter plus formats d'images |
Le fenetre web affiche que le nombre de Bonne reponces | Le fenetre web n'a pas assez de fonctions pour l'enseignant anglais | Ajouter le fonction de calcul de notes finals,et on doit afficher le petit image pour indiquer l'endroit de confus |
la vitesse de traitement d'une image est plus une minutes | C'est un peu long pour attendr le traitement de nombreux tests | Déduire le temps de traitment(peut etre on changer le méthode de calcul) |
Troisième séance
Objet:
- Réalier le fonction de calcul le note totale
Réalisation:
-
On a trouvé le table de reference pour calcul le note d'apres le nombre de bonne reponse de l'enseignant de l'anglais.
Et on a ajouté le fonction de calcul le note d'écrit et le note d'orale et le note total.Puis on a modifié le page HTML pour afficher le note.
Quartième séance
Objet:
- S'amélioere le fonction de calcul le note totale
Réalisation:
-
D'apres le conseil de Monsieur Blaise,pour l'utilisateur peut changer le table facilement et avoir une plus vaste application de notre programme,on a creé le table de note par EXECEL de format 'csv'.Et puis on remplacer notre précédent calcul de note par une fonction qui peut consulter sur le table 'csv'.
Difficultés rencontrés:
- on a ecrit'row[0]==bonneRep0',mais row[0] n'est pas un entier sous python,il peut etre '10'. le solution s'écrit par 'if int(row[0])==bonneRep0'.
- on a ecrit"note[0]=int(row[1])",il y avait une erreur sur l'index de note.En fait,pour ajouter des chiffres sous Python,on doit utiliser 'note.append':ajouter a la fin d'un list.
Cinqième séance
Objet:
- Faciliter l'installation
Réalisation:
-
On a trouvé un outil'cx-freeze' pour générer noter programme'analyse.py' à un programme de format'.exe' . Avant cette réalisation,pour utiliser notre programme,on doit installer le 'python'et le 'PIL' aussi;et maintenant, on a besoin que faire le copie de le programme éxecutable '.exe'
Difficultés rencontrés:
- le logiciel 'cx-freeze'soit installé sous le repertoire'\Python 27\Script'
- Au début,On a réussit à emballer le progamme en'.exe'mais il prends pas l'image à traiter.
- Solution:PIL (Python Image libary) utilise un dynamique mécanisme à charger plugins,mais cx-freeze oublie d'inclure ce que le plugins a besoins parfois.On doit rajouter le commande dans notre programme pour indiquer le tyer d'image ce qu'on a besoin :
-
import Tiff Image Plugin
-
import Png Image Plugin
-
import Bmp Image Plugin
-
import Gif Image Plugin
-
import Jpeg Image Plugin
-
import Image Palletle
-
import Image File
Sixième séance
Objet:
- Déduire le temps de lire le réfenrence de note
- Remplacer le 'detail.txt'par 'detail.html'
Réalisation:
-
1.D'après le conseil de monsieur Blaise,on définit une mémoire dynamique qui peut lire le table 'csv',et comme ca, quand on faire le calcul de note,le programme n'a pas besoin d'ouvrir le 'csv' tous les temps.
-
2.On a fait un texte 'detail.html'qui est plus visible que 'detail.txt',et poure pouvoir fair notre projet suivant 'génerer le morceau'aussi. Mais pour l'instant,il peut pas se lire des paramètres de programme principale.
Septième séance
Objet:
- S'améliorer le'detail.html'
Réalisation:
-
On a modifié le'detail.html'pour qu'il peut lire le résultat calculé de programme principale et on a définit une fonction qui peut distinguer le question jugé par le prof appartient à quelle partie.
Huitième séance
Objet:
- Créer le fonction 'genererMorceauImage'
Réalisation:
-
Après bien compris l'utilisation de programme précédent,on a créé le fonction 'genererMorceauImage' qui peut lire les coordonées ou il y a un confuse,et puis il peut générer l'image en prenant les coordonées.
Difficultés rencontrés:
-
Pour générer l'image en rappelant le bibliithèque 'PIL',les coordonées soient entiers. Au début ,on l'ai connu pas.
-
Choisir présicement l'endroit de morceau
Neuvième séance
Objet:
- Déduire le temps de génerer le Morceau d'Image
Réalisation:
-
Pour le fonction 'genererMorceauImage',on a pas besoin de calculer chaque fois le repere(cet calcul est assez long à cause de lecture des coordonées d'images),et comme ca on a modifié 'genererMorceauImage' qui passe le repere comme un paramètre.