Soutenance PFE 2012

36
Création et développement d’une application Java de génération de contenu à partir de fichiers CSV sur une plateforme web d’e-coaching eBusiness Information Vanessa Pasquet Mars – Août 2012

Transcript of Soutenance PFE 2012

Page 1: Soutenance PFE 2012

Création et développement d’une application Java de génération de contenu à partir de fichiers CSV sur une

plateforme web d’e-coachingeBusiness InformationVanessa PasquetMars – Août 2012

Page 2: Soutenance PFE 2012

Projet de fin d’étudesI. Groupe ExcilysII. eBusiness Information : produit CapicoIII. Enjeux du projet « Orthographe et

Conjugaison »IV. Etapes de développementV. Déploiement et testsVI. Conclusion

Projet de fin d’études 2

Page 3: Soutenance PFE 2012

I. Groupe Excilys 7 sociétés de services en informatique

Technologies Java/JEE

Secteurs d’activités:Santé, Banque, Sécurité, Fret, …

I. Groupe Excilys 3

Page 4: Soutenance PFE 2012

II. eBusiness Information, Capico 4

II. eBusiness Information

Conseil et développement Expertise Java/JEE Produit d’e-learning, e-coaching :

CAPICO

Page 5: Soutenance PFE 2012

II. CapicoII. eBusiness Information, Capico 5

Plateforme web d’ e-learning / e-coaching Apprentissage et suivi Mise en commun des connaissances

Page 6: Soutenance PFE 2012

Mode élève :

Consultation de cours Cours sonorisés Exercices QCM et questions à trous Travail à faire et évaluation Communication et commentaires

Mode coach:

Edition de cours Sonorisation personnalisée Edition exercices QCM et questions à trous Classes : Travail à faire, évaluations et suivi des élèves

Elève et CoachII. eBusiness Information, Capico 6

Page 7: Soutenance PFE 2012

III. Enjeux du projet « Orthographe et Conjugaison » 7

III. Enjeux du projet « Orthographe et Conjugaison »

Académie de CréteilClasses « pilotes » de primaire (CP au CM2)

Thèmes pédagogiques et programmes scolaires

Rentrée Septembre 2012

Orthographe Conjugaison

Mathématiques

Page 8: Soutenance PFE 2012

III. Enjeux du projet « Orthographe et Conjugaison » 8

Formats de l’archive Orthographe

CSV Comma-Separated Values Tabulaire Encodage UTF-8 Orthographe.csv

pistache,picetache,pystache,pistacheux,pistache.mp3piste,pystte,pisteux,pyste,piste.mp3pistolet,pistaulet,pistoler,pystolet,pistolet.mp3

Audio format MP3

Page 9: Soutenance PFE 2012

III. Enjeux du projet « Orthographe et Conjugaison » 9

DimensionnementOrthographe• QCM & question à trous• CSV : 20 000 lignes/mots• 40 000 questions• Sonorisation• Rapport d’état de sonorisation

Conjugaison• Questions à trous• 468 CSV : Lettre/Mode/Temps• 80 000 questions

Page 10: Soutenance PFE 2012

Développement

III. Enjeux du projet « Orthographe et Conjugaison » 10

Méthodes de création de cours Capico communes

Hiérarchies de dossiers

Méthodes de « Parsing » adaptées

Sonorisation et gestion de contenu

Page 11: Soutenance PFE 2012

III. Enjeux du projet « Orthographe et Conjugaison » 11

Déploiement Cycle de déploiement

Gestion de contenu

Flot d’exécution

Temps d’exécution

Rapports d’erreurs

Rapports d’état du gestionnaire de contenu

Page 12: Soutenance PFE 2012

Gestion de projet Equipe : 2 développeurs et 1 chef de projet Intégration dans projet global « Capico

Condor »

III. Enjeux du projet « Orthographe et Conjugaison » 12

Page 13: Soutenance PFE 2012

IV. Etapes de développement 13

IV. Etapes de développement

A. Environnement de développement

B. Suivi de projet

C. Gestionnaire de versions

D. Choix technologiques

E. « Orthographe »

F. « Conjugaison »

Page 14: Soutenance PFE 2012

IV. Etapes de développement A. Environnement 14

A. Environnement de développement

Langage Java, version Java 6

Compatibilité avec projet « Capico Condor »

eBusiness Information : Java/JEE

Eclipse, version Indigo

Développement sous Windows 7

Machine virtuelle de tests Capico : Ubuntu

Page 15: Soutenance PFE 2012

IV. Etapes de développement B. Suivi de projet 15

2 étapes : « Orthographe » puis « Conjugaison » Dimension du traitement des fichiers CSV

Scrum Sprints Scrum Master Planification Daily Scrum

AgileFant Outil Open-Source Gestion et visualisation des Sprints : burndown

B. Suivi de projet

Page 16: Soutenance PFE 2012

IV. Etapes de développement C. Gestionnaire de versions 16

C. Gestionnaire de versions Gestion de versions

Git

Branche principale « master » du projet Capico condor

Branche dédiée « CSVConverterBeforeMerge »

Page 17: Soutenance PFE 2012

IV. Etapes de développement D. Choix technologiques 17

D. Choix technologiques Framework Spring

Java/JEE

Alternative aux EJB

Gestion des transactions

Intégration « Capico Condor » Injection de dépendances Accès aux données via JDBC

Pattern MVC

Page 18: Soutenance PFE 2012

IV. Etapes de développement D. Choix technologiques 18

D. Choix technologiques Hibernate

Librairie Java

ORM : Mapping Relationnel d’Objets

Liaison Objets Java et Objets persistés en base de données

Méthodes d’accès aux données, s’affranchir de requêtes SQL

Etats des objets, gestion des écritures en base de données

Page 19: Soutenance PFE 2012

IV. Etapes de développement D. Choix technologiques 19

D. Choix technologiques Outil Maven

Version Maven2

Intégration plugin Eclipse

Gestion et génération de projets Java/JEE Génération de module jar Utilisable au déploiement

Intégration « Capico Condor » Structure en POM, gestion de dépendances

Page 20: Soutenance PFE 2012

IV. Etapes de développement D. Choix technologiques 20

D. Choix technologiques Log4J

API Java

Intégration à l’outil Maven

Logging Rapport d’erreurs Temps d’exécution Rapport d’état des objets persistés

Page 21: Soutenance PFE 2012

E. Orthographe

IV. Etapes de développement E. Orthographe 21

Hiérarchie dossiers pour 20 000 mots Contrainte: 50 éléments par dossier

Orthographe 20 dossiers

20 sous-dossiers 10 cours

10 questions = 10 mots

Page 22: Soutenance PFE 2012

E. Orthographe

IV. Etapes de développement E. Orthographe 22

Gestion de ressources

Alfresco

Contenu Audio

Attachement à objets en base de données par connexions Alfresco

Chargement des fichiers MP3 de l’archive Temps d’exécution

Page 23: Soutenance PFE 2012

E. Orthographe

IV. Etapes de développement E. Orthographe 23

Parsing CSV

Parsing linéaire

Création des mots au fur et à mesure du parcours du fichier CSV

Organisation selon la hiérarchie

Page 24: Soutenance PFE 2012

E. Orthographe

IV. Etapes de développement E. Orthographe 24

Transactions avec Spring

Création de la hiérarchie de dossier Création d’élément (cours/exercice) Sonorisation

Chargement de fichier

Annotations

@Transactional en tête de méthode Roll-back en cas d’erreur Limiter impact du code sur reste de l’application

Page 25: Soutenance PFE 2012

F. Conjugaison

IV. Etapes de développement F. Conjugaison 25

Parsing CSV Opencsv, librairie Java, Sourceforge

Réécriture de fichiers CSV Parcours de l’arborescence initiale

Conjugaison >> Lettre >> Mode >> fichier CSV avec verbes et différents temps et différents groupes

Conjugaison >> Lettre >> Groupe >> Mode >> Temps >> verbe

Séparateur « , » ou « ; » uniformisé à « ; » Encodage UTF-8

CSVReader : lecteur d’objet File InputStreamReader : Wrapper pour l’encodage

Page 26: Soutenance PFE 2012

F. Conjugaison/Orthographe

IV. Etapes de développement F. Conjugaison 26

Paramètres de lignes de commande

--archivePath --targetFolder --questionType (Orthographe) --begin (Conjugaison) --end (Conjugaison --number (Orthographe)

Scripts lancés au déploiement sur serveur

Page 27: Soutenance PFE 2012

V. Déploiement et tests 27

V. Déploiement et tests Processus de livraison

Page 28: Soutenance PFE 2012

V. Déploiement et tests 28

V. Déploiement et tests Tests et Résultats « Orthographe »

Local : VM Ubuntu, Virtual Box avec configuration

d’intégration « Capico Condor » 15 heures d’exécution 1 à 2 secondes par question Contenu présent sur serveur local Alfresco

Diagnostic : Problème de performances

Page 29: Soutenance PFE 2012

V. Déploiement et tests 29

V. Déploiement et tests Tests et Résultats « Orthographe »

Recette: Moins de mots Confirmer diagnostic de performance Erreur timeout Alfresco Segmentation en paquets de 1000 mots à

chaque script Création manuelle du dossier parent

Orthographe Récupération de l’id pour création de la

hiérarchie

Page 30: Soutenance PFE 2012

V. Déploiement et tests 30

V. Déploiement et tests Tests et Résultats « Orthographe »

Pré-production:

1000 mots en 80 minutes

Déploiement par paquets de 1000 mots Maximum de 3 paquets lancés simultanément

pour garder visibilité sur l’exécution et la connexion Alfresco

Passage en Production

Page 31: Soutenance PFE 2012

V. Déploiement et tests 31

V. Déploiement et tests Tests et Résultats « Conjugaison »

Local: Temps de création de question croissant

10ms à 3 secondes après 30 minutes Persistance de plus en plus d’objets

Cascade d’exécution

Clear() session Hibernate dans méthode de création d’un DAO

Back-end de Capico embarqué dans jar généré par Maven

Page 32: Soutenance PFE 2012

V. Déploiement et tests 32

V. Déploiement et tests Tests et Résultats « Conjugaison »

Recette: Pas de conflits ni de problèmes de performances

diagnostiqués et réglés en local Pas de sonorisation prévue 45 minutes ensemble des fichiers 468 CSV

Passage en Pré-production et Production

Page 33: Soutenance PFE 2012

V. Déploiement et tests 33

V. Déploiement et tests Visuels

Page 34: Soutenance PFE 2012

V. Déploiement et tests 34

V. Déploiement et tests Visuels

Page 35: Soutenance PFE 2012

VI. Conclusion 35

VI. Conclusion Réponse au besoin pour rentrée 2012 Déploiements réussis Contenus répertoriés pour sonorisation future

Formation en début de stage Projet pratique Projet en situation Gestion de projet Technologies Java/JEE

Page 36: Soutenance PFE 2012

Création et développement d’une application Java de génération de contenu à partir de fichiers CSV sur une

plateforme web d’e-coachingeBusiness InformationVanessa PasquetMars – Août 2012