LearnUp !

19
LearnUp ! Aymeric Assier Hajer Chrigui Thibaut Krattinger Claire Rollinger

description

LearnUp !. Aymeric Assier Hajer Chrigui Thibaut Krattinger Claire Rollinger. LearnUp ! - Plan. Besoins Etude de l’existant Contraintes Solutions techniques Répartitions des tâches Conception Base de données Module de langue Module de mathématiques Gestion des utilisateurs - PowerPoint PPT Presentation

Transcript of LearnUp !

Page 1: LearnUp  !

LearnUp !

Aymeric Assier

Hajer Chrigui

Thibaut Krattinger

Claire Rollinger

Page 2: LearnUp  !

LearnUp ! - Plan

Besoins

Etude de l’existant

Contraintes

Solutions techniques

Répartitions des tâches

Conception

Base de données

Module de langue

Module de mathématiques

Gestion des utilisateurs

Evolution/Extensions

Bilans

Conclusion

Page 3: LearnUp  !

AbaLect

AbaCalcLearnUp!

Suite « Abalog », créée par Philippe Chevé

LearnUp ! - Besoins

• 3 acteurs : administrateur, enseignant et élève• Elève : effectuer les exercices• Enseignant : créer des exercices de français, suivre les résultats des élèves• Administrateur : gestion globale

Page 4: LearnUp  !

AbaLect

• Logiciel de mathématiques

• Du CP au CM2

• Nombres naturels et manipulations

• Pédagogie différenciée

• Suivi des résultats

LearnUp ! - Etude de l’existant

Page 5: LearnUp  !

• Logiciel de lecture

• Du CP à la 6ème

• L’enseignant saisie ses propres textes, questions, exercices

• Blocs d’exercices

• Suivi des résultats

LearnUp ! - Etude de l’existant

AbaCalc

Page 6: LearnUp  !

LearnUp ! - Contraintes

Portable

Centralisé

Simple et intuitif

Accessible pour des néophytes

Page 7: LearnUp  !

LearnUp ! - Solutions techniques

Portabilité et centralisation : Application web

Technologie choisie : Framework Symfony2 en PHP5

Ergonomie et interactivité : Javascript / JQuery

Gestion de projet :– Tortoise SVN– Partage des documents via Google Docs

Page 8: LearnUp  !

LearnUp ! - Solutions techniques

Symfony2

Framework PHP5.3 français

Performant

Complet

Gère la sécurité, le débug, les requêtes, la session, le MVC…

Gestion de la base de données via l’ORM Doctrine

Permet un développement plus rapide………… une fois pris en main !

Exemple : Dailymotion est entièrement codé avec Symfony2

Page 9: LearnUp  !

LearnUp ! - Répartitions des tâches

• Thibaut : – Générations et validations automatiques des exercices de mathématiques

• Apprendre et maitriser le JavaScript ainsi que la librairie JQuery

• Hajer :– Database, gestion des utilisateurs (administration) et des résultats

• Claire :– Database et développement de la partie «  Français »

• Création et validation des textes, questions et réponses.

• Aymeric :– Coordination, raccords, support et développement du squelette de

l’application.

Page 10: LearnUp  !

• Conception de l’application par mécanismes de « Bundles »– Chaque Bundle correspond à une partie de l’application (user, langue, math…)– Chaque développeur à son propre bundle à développer : application modulaire

• Symfony permet un développement simplifié et rapide par son système de MVC imbriqués : conception guidée.

LearnUp ! - Conception

App

Bundle

Bundle

Module

Module

Contrôleurs

Vues

Modèles

Page 11: LearnUp  !

Bundles

HomeBundle• pages d’accueil et login

LabsBundle• pages de tests dédiées aux développeurs pre-production

LangueBundle• modules d’exercices de français

MathBundle• modules d’exercices de maths

StoreBundle• modules de stockages des entités de la base de données

UserBundle• gestion des utilisateurs et des résultats

LearnUp ! - Conception

Page 12: LearnUp  !

LearnUp ! - Base de données

Database– Diagramme…

ORM Doctrine– Object Relational Mapper– Couche d’abstraction objet entre l’application et la base de données– Requêtes SQL abolies– DQL : requêtes par entité

• EntityManager::getRepository(‘Member’)->where(‘ecole = ?’, ‘Université de Savoie’)->groupeBy(‘subject’)->findAll();

Page 13: LearnUp  !

LearnUp ! - Module de langue

Textes

– Textes proposés par les enseignants et disponibles pour tous

Questions et réponses

– Questions/réponses saisies par l’enseignant– Correction et validation du score lors de l’utilisation par l’élève– Affichage d’un tableaux de résultats disponible depuis le détails de l’élève

Page 14: LearnUp  !

LearnUp ! - Module de mathématiques

Module entièrement en JavaScript

– Les exercices ont été factorisés en une seule librairie JS– Génération automatique en fonction du nom et du type d’exercice– Validation et correction automatique– Extensions possibles

Base de données

– Seules les noms des exercices sont stockés afin de permettre un suivi des résultats.

Page 15: LearnUp  !

LearnUp ! - Gestion des utilisateurs

Administrateur :

– Tous les droits sur les CRUD– Validation des enseignants

Enseignant

– Modification de son compte– Gestion de ses élèves– Consultation des résultats– Création de textes

Elève et Anonyme

– Aucuns droits

Page 16: LearnUp  !

LearnUp !

Démonstration

Page 17: LearnUp  !

Etat final

– Application fonctionnelle– Testée par des tierces personnes– Déploiement spécifique à prévoir

Extensions possibles

– Base de données évolutive, prête pour l’ajout de nouveau module ou exercices– Librairie JavaScript utilisable– Parseur de texte pour des exercices de français spécifiques– Sécurité et gestion des utilisateurs modulables– Modules autonomes

LearnUp ! - Etat final/ Extensions

Page 18: LearnUp  !

Deux challenges

• Ce que l’on devait apporter– une application fonctionnelle, simple et efficace pour des enfants et des enseignants

potentiellement néophytes.

• Ce que cela devait nous apporter– une prise en main d’un framework difficile et des techniques à la pointe du

développement web» patterns, standards, langages, philosophie…

Bilans

• Ce que l’on devait apporter : fait.• Ce que cela devait nous apporter : bilan mitigé dû à l’extrême complexité de Symfony2.

LearnUp ! - Bilans

Page 19: LearnUp  !

Projet complexe et intéressant

Travail en équipe efficace

Evolutions futures !

LearnUp ! - Conclusion