Download - 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