M1:Projet - DptInfo

M1:Projet

Sommaire

Liste des projets 2012-2013 pour M1 Info

Les projets sont pour un binôme à chaque fois sauf mention contraire dans le sujet.

PepitMobil : application Android de ressources pédagogiques - Eric Ramat - LISIC/ULCO

un binômes de M1 et/ou un binôme de M2

Etudiants : ???

Introduction

Le site web pepit.be met à disposition de manière gratuite des ressources pédagogiques. De nouveaux exercices sont proposés très régulièrement ce qui entraîne un trafic important sur le site, lors des mois "scolaires", on dépasse les 200.000 visiteurs uniques par mois. Les ressources proposées s'adressent à des élèves allant du niveau de maternelle (2/3 ans) au niveau primaire (10/11 ans), une partie basée sur la méthode « actimath » s’adresse à des collégiens, elle n’est pas concernée par ce projet. Les ressources sont organisées par niveau (par âge) et par matière (principalement Français / Mathématiques/Eveil). Chaque matière est abordée selon plusieurs thèmes (l'alphabet, les additions, ...). Un thème est ensuite divisé en exercices indépendants. Les exercices proposent de manière générale différents niveaux de difficulté. Les exercices de conjugaison, sur les tables de multiplication et les exercices "pour tous" n’entrent pas dans ce classement par niveau de même que ceux destinés à l’enseignement spécialisé (utilisés pour les enfants et pour la rééducation d’adultes victimes d’accidents de la route ou d’AVC principalement).

Aujourd'hui, l'utilisateur du site web accède dans l'ordre qu'il veut. De plus, tous les exercices sont proposés sous 2 formats : web (flash) ou exécutable pour Windows. Le format flash est aussi utilisable indépendamment du web : il suffit de sauvegarder sur sa propre machine les fichiers swf (comme proposé pour mac).

Un système de notation est intégré dans l'ensemble des exercices. Un exercice possède plusieurs modules. A l'issue d'un module, une note est définie (souvent en fonction du nombre de bonnes ou mauvaises réponses). A la sortie de l'exercice, un résumé des notes est proposé.

Fonctionnalités

L'objectif du projet est de proposer l'ensemble des exercices de la version web sous une nouvelle version mobile (Android). Ce projet se fera en coopération avec les auteurs de la version Web. La philosophie de l'application mobile doit être la plus proche possible de la version web en utilisant au maximum les fonctionnalités de la technologie mobile. L'application est totalement gratuite et libre d'accès à tous. Elle est sous licence libre GPL v3.

Le socle commun

Aujourd'hui, les exercices sont totalement indépendants informatiquement (un exercice = un fichier flash ou un fichier exécutable). Cet aspect risque poser problème dans une version mobile à cause de la procédure "un peu" longue d'installation. Il est donc nécessaire de réfléchir à un mécanisme plus transparent d'installation des exercices à partir d'une application Android unique que l'on appelera "Le Coeur" (core). Le Coeur doit proposer les fonctionnalités suivantes :

  • gestion des utilisateurs : l'élève doit s'associer à un personnage auquel il attache son propre prénom ; ce mécanisme doit permettre le suivre de l'activité de l'élève ;
  • gestion des exercices : l'application doit s'avoir quels sont les exercices installés sur la tablette et doit proposer l'installation des exercices non installés ; on peut aussi imaginer la gestion de suppression des exercices déjà faits ou non pertinents (l'espace mémoire d'une tablette étant souvent limitée)
  • gestion du suivi : le Coeur doit présenter les exercices selon la même hiérarchisation que le site web (niveau / matière / thème) ; le système de navigation doit être très simple et visuel ; le lancement d'un exercice est réalisé via ce système de navigation ; à l'issue de l'exercice, la notation doit être archivée dans le "profil" de l'élève ;

Malgré la présence du Coeur, il est indispensable que les exercices puissent être téléchargés et utilisés indépendamment.

Les exercices

Aujourd'hui les exercices sont développés en Flash à partir de ressources graphiques de type clipart. Le passage de la version Flash à la version mobile ne sera pas automatique. Seuls les ressources graphiques et naturellement l'organisation de l'exercice sont réutilisables. Enormément d'exercices sont basés sur de simples glisser-déposer ou sélections. En technologies mobiles, l'aspect tactile sera l'unique moyen pour assurer ces fonctions. Dans la version Flash, l'utilisateur peut utiliser indifféremment la souris ou le clavier. Le clavier virtuel d'Android sera utilisé pour les opérations de saisie de texte. Il est possible que pour les saisies simples (un chiffre, par exemple) l'option clavier soit remplacée (par le choix dans une liste simple de chiffres, par exemple).

Un exercice se compose de plusieurs "écrans" :

  • une page de titre avec le thème de l'exercice, une phrase de résume de l'exercice, un dessin, un bouton "jouer" et une ligne Auteurs/Copyright/Date ;
  • une page qui explique le principe de l'exercice sous forme d'une illustration et un bouton "A toi de jouer !" ;
  • une page avec la liste des modules (tous les exercices ne possèdent pas cette page intermédiaire, il faut peut être généraliser) ; lorsqu'un module est réalisé, il apparait avec un signe distinctif ; l'utilisateur peut choisir de faire les modules dans l'ordre qu'il veut (peut être à remplacer par un ordre défini afin de définir une progression)
  • une ou plusieurs pages (selon les modules) forment l'exercice proprement dit ;
  • une page de résumé des scores par module ;

Chaque page possède un bouton de retour au "menu" (pour la version mobile, un bouton de retour au Coeur").

La page de titre et d'explication peuvent être refaite très simplement comme des ressources Android (layout). La page avec la liste des modules et du résumé des scores peuvent être généralisés à tous les exercices.

Tous les exercices et tous les modules peuvent être interropus à tout moment et l'utilisateur peut y revenir. Lors du retour, deux options doivent être proposés :

  • l'utilisateur recommence tout depuis le début et son score oublié ;
  • l'utilisateur veut continuer le module ou l'exercice où il l'a abandonné ;

Questions :

  • ne peut-on pas définir certains modules de manière automatique ? Par exemple, pour les exercices de mathématique (addition, ...), on peut générer les questions de manière aléatoires. Cela limite la programmation et offre un éventail de combinaisons plus importants. De plus, l'élève peut refaire l'exercice sans retomber sur les mêmes questions.

Extensions

Voici une liste des fonctionnalités supplémentaires qui pourraient être suivi pour une meilleure intégration de l'outil dans un contexte pédagogique :

  • les utilisateurs définis sur la tablette sont aussi enregistrés sur un "serveur" que l'enseignant peut consulter pour observer l'avancement de l'élève ;
  • l'enseignant pourrait proposer des parcours d'exercices ; l'élève suit alors le parcours ; ces parcours pourraient même être individualisés ;

Contraintes techniques

La version mobile est à réaliser sous Android de Google. La priorité sera donnée à une version tablette (Android 3.2 minimum). Une attention particulière est à apporter sur l'adaptation de l'application aux différentes tailles d'écran. De plus, il faut gérer la rotation de l'écran.

Le dépôt PepitMobil sur github.com est ouvert pour l'hébergement des sources informatiques des applications.

Autres points

Le copyright de l'application sera : Conçue et réalisée l'équipe PepitMobil / (c) 2012-2013 Les membres de l'équipe PepitMobil seront précisés dans les sources de l'application et dans une fenêtre du Coeur


Développement d'un jeu multi-plateforme (GTK, Facebook, Google+ et Android) - Eric Ramat - LISIC/ULCO

Un ou deux binômes de L3 (HTML/JS pour Facebook/Google+), un ou deux binômes de M1 (IA et serveur Web) et un ou deux binômes de M2 (version Android et version en réseau)

Etudiants : ???

Objectifs

Le but de ce projet est de développer un environnement de gestion de jeux deux à deux via trois plateformes (GTK, Facebook, Android et iphone/ipad) sous licence GPL. L'idée est de gérer :

  • l'inscription des joueurs via les différentes plateformes ou directement sur le site web du projet ;
  • les parties à deux en mode connecté sachant que les deux joueurs peuvent ne pas être sur la même plateforme ;
  • l'interface graphique du jeu ;
  • des tournois multi-joueurs ;
  • un classement mondial sur le modèle du jeu d'échec (ELO)
  • un mode Point à point en wifi avec Android et iphone

Afin de construire cet environnement multi-plateforme, nous allons nous intéresser à l'un des jeux de Kris Burm. Kris Burm a inventé une multitude de jeux abstraits de stratégie (Bi-litaire, Dvonn, GIPF, Invers, Pünct, Quads, Tamsk, Tzaar, Yinsh et Zertz). Vous pouvez retrouver la description de la plupart des jeux sur le projet GIPF

Dans ce cadre de ce projet, nous allons intéresser à l'ensemble des jeux de K. Burm. Il existe une version Java d'une partie de ces jeux sur boardspace On pourrait s'inspirer de la présentation et des idées du site web.

Aujourd'hui, il existe une version GTK/C++ sous Linux de Yinsh, Zertz et Invers (Tzaar est en cours de finalisation), une version Android de Yinsh et une version JS non finalisée de Yinsh. Le début d'un site web en PHP existe pour l'inscription des jeux et des joueurs. Plusieurs scripts de gestion des interactions en mode connecté sont aussi écrits.

Travail

Il reste encore pleins de choses à faire :

  • Facebook / Google+ :
    • finalisation du jeu Yinsh en HTML/JS pour Facebook
    • étude de la portabilité sous Google+
    • développement des autres jeux (Invers, Zertz, Tzaar, ...)
  • Android :
    • finalisation du protocole en mode connecté
    • ajout du mode "point à point"
    • développement des autres jeux (Invers, Zertz, Tzaar, ...)
  • serveur Web :
    • finalisation des fonctions de gestion des jeux, des joueurs et des parties
    • réalisation des fiches "jeu" (présentation du jeu, règles du jeu, ...)
    • intégration du classement des joueurs
    • développement du mode Tournoi
  • travaux transversaux :
    • développement d'IA pour Yinsh, Invers, Zertz et Tzaar
    • étude de la fiabilité en mode connecté
    • mise en production et mis à disposition des jeux sous Facebook, Google+ et Google Play
    • négociation avec l'auteur des jeux

Langages et technologies


Développement d'un générateur d'albums photo

Description  Un générateur d'albums transforme un ensemble d'images en une page web qui permet de regarder ces images à distance et de façon intuitive. Deux types de pages sont construites : une page donnant un aperçu de toutes les images et une page permettant de faire défiler les images. Il existe déjà de nombreux générateurs mais ceux-ci sont propriétaires, infestés de publicités ou nécessitent une base de données. Le but du projet est de pouvoir générer des pages html classiques et sans pub. Une interface graphique ou différents paramétrages pourront également être implémentés.

Compétences à mettre en œuvre 

  • developpement web (html)
  • developpement C, C++ ou bash

Contact Julien Dehos, bureau A212


Intelligence artificielle pour le jeu par ordinateur

Description  Depuis la victoire de Deep Blue sur le champion du monde des échecs Gary Kasparov, l'intérêt pour développer des intelligences artificielles pour les jeux par ordinateur s'est développé. Récemment de nouvelles techniques ont été découvertes pour créer des programmes de jeux pour lesquels les humains sont données favoris. Le but de ce projet sera d'étudier ces dernières techniques afin de les comparer sur un jeu. Le jeu peut être choisi par l'étudiant (en accord avec les encadrants).

Compétences à mettre en œuvre 

  • algorithmique et programmation
  • curiosité pour l'IA et les jeux

Encadrants Fabien Teytaud et Denis Robilliard

Contact Fabien Teytaud, bureau B009

Archives