LearnUp !
-
Upload
alessandra-tandy -
Category
Documents
-
view
13 -
download
0
description
Transcript of LearnUp !
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
Evolution/Extensions
Bilans
Conclusion
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
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
• 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
LearnUp ! - Contraintes
Portable
Centralisé
Simple et intuitif
Accessible pour des néophytes
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
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
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.
• 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
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
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();
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
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.
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
LearnUp !
Démonstration
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
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
Projet complexe et intéressant
Travail en équipe efficace
Evolutions futures !
LearnUp ! - Conclusion