Soutenance PFE 2012

Post on 22-Jun-2015

4.532 views 1 download

Transcript of 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

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

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

II. eBusiness Information, Capico 4

II. eBusiness Information

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

CAPICO

II. CapicoII. eBusiness Information, Capico 5

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

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

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

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

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

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

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

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

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 »

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

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

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 »

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

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

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

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

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

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

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

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

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

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

V. Déploiement et tests 27

V. Déploiement et tests Processus de livraison

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

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

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

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

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

V. Déploiement et tests 33

V. Déploiement et tests Visuels

V. Déploiement et tests 34

V. Déploiement et tests Visuels

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

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