Cyril Rabat


Info0606 : année 2017-2018

   Info0606 (Projet de programmation) est dispensé en Licence 3 Informatique. Les étudiants sont amenés à réaliser un projet de programmation en groupes de 6 étudiants. Les sujets sont proposés par différents enseignant/chercheurs et uniques pour chaque groupe. Ils sont ajoutés au fur-et-à-mesure sur cette page.

Explications générales

Modalités de contrôle des connaissances

  • Projet : 50 pts / 100 pts
  • Oral (20min) : 30 pts / 100 pts
  • Compte-rendu : 20 pts / 100 pts
Attention ! L'EC optionnelle ayant disparue, l'EC Info0606 compte sur 100 points sur 500 pour le S6.

Calendrier

  • Vendredi 26 janvier (s. 4) : mise en ligne de la liste définitive des sujets.
  • Vendredi 2 février (s. 5) : choix définitif du projet.
  • Vendredi 23 février (s. 8) : remise du cahier des charges.
  • Du 7 mai au 16 mai (s. 19 et 20) : présentation sur machine (avec l'encadrant).
  • Lundi 14 mai - 8h00 (s. 20) : remise du rapport.
  • Mercredi 16 mai et jeudi 17 mai (s. 20) : soutenance (avec les responsables de l'unité et des encadrants).

Choix du sujet

   Pour bloquer un sujet définitivement, les étudiants doivent constituer un groupe de six étudiants et prendre rendez-vous avec l'encadrant du projet. Ce dernier leur expliquera le contenu du projet et pourra apporter des précisions par rapport à ce qui est indiqué sur cette page. Une fois le groupe d'étudiants sélectionné par l'encadrant, une fiche de suivi devra être complétée avec les noms et les prénoms des encadrants et étudiants, ainsi que la signature de chacun. À partir de ce moment, l'attribution du sujet est définive et il n'est plus possible de modifier les groupes ou changer de sujet. Le choix du sujet devra être réalisé au plus tard le Vendredi 2 février (s. 5).

   Un étudiant devra être choisi parmi les 6 pour être le coordinateur de l'équipe. Il est donc préférable de choisir le coordinateur en même temps que vous constituerez votre équipe. C'est lui qui devra être en charge du suivi du projet, de la bonne coordination au sein du groupe. Il sera noté en conséquence.

Rédaction du cahier des charges

   Pour le Vendredi 23 février (s. 8), les étudiants doivent remettre un cahier des charges sous la forme d’un rapport de quelques pages. Il devra être validé d'abord par l'encadrant du projet. Il devra comporter notamment :
  • Une présentation du sujet (aussi précise que possible)
  • La liste des tâches à réaliser (complétée par un diagramme de Gantt)
  • La liste des attributions pour chaque étudiant (tâches, temps de travail, etc.)
  • La liste des tâches complémentaires qui pourront être réalisées si le temps le permet
  • etc.

Rendez-vous réguliers

   Les étudiants devront prendre régulièrement rendez-vous avec les encadrants afin de valider l’avancée du projet : ils ne doivent pas attendre une relance de la part de leurs encadrants ! Tout au long du projet, il est demandé à chaque membre du groupe de noter précisément le temps passé au développement pour chaque tâche. Ces notes seront ajoutées en annexe du rapport.

Remise des travaux

   Une fois le projet terminé, une présentation sur machine devra être programmée Du 7 mai au 16 mai (s. 19 et 20) avec les encadrants : le projet devra alors être finalisé. Un rapport devra être rédigé pour décrire en détail le projet, le travail réalisé, les choix faits, etc. Il comportera notamment en annexes : le cahier des charges et le relevé du temps de travail. Il devra être rendu au plus tard le Lundi 14 mai - 8h00 (s. 20). Une présentation orale de 20 minutes au lieu le Mercredi 16 mai et jeudi 17 mai (s. 20) (le planning exact est disponible ici).

Vérifier les remises des travaux
Planning des soutenances

Liste des sujets

   Vous trouverez ci-dessous la liste des projets proposés pour l'unité Info0606. Pour rappel, chaque projet ne peut être attribué qu'à un seul groupe de six étudiants et obligatoirement à un groupe complet. Il n'est donc pas possible de choisir un projet déjà attribué. Dans tous les cas, il faut prendre rendez-vous auprès des encadrants qui ont proposé le projet pour obtenir des explications supplémentaires et surtout pour réserver le sujet.

1 2 3 4 5 6 

  • 1 Attribué Suivi d'étudiants
    Encadrant : RABAT Cyril
    Sujet :

    Le but est de développer une application permettant de gérer les listes de présence des étudiants.

    L'application doit permettre aux responsables de créer les diplômes/unités puis de saisir les groupes. Aux responsables de CM, TD ou TP, elle doit permettre d'accéder aux listes, de saisir les présences des étudiants. Enfin, aux étudiants, elle permet de consulter la liste des présences dans les différentes matières et de poster des justificatifs/messages pour les absences.

    Une application mobile permettra aux enseignants de scanner des QRCodes (qui seront générés par l'application) pour simplifier la saisie des présences. Elle communiquera avec l'application principale à l'aide d'un service Web.

    L'application sera développée en PHP, basée sur le modèle MVC. La base de données sera MySQL. L'application mobile Android devra communiquer à l'aide d'un service Web en utilisant le format JSON.

  • 2 Attribué Gestion de cartes à jouer
    Encadrant : RABAT Cyril
    Sujet :

    Le but du projet est de réaliser une application de gestion de cartes à jouer (JCC).

    Contrairement aux jeux de cartes classiques, le nombre de cartes est très important (plus de 17000 cartes différentes pour Magic, par exemple). Pour les joueurs, lister l'ensemble de leurs cartes est donc parfois compliqué. C'est pourquoi il existe de nombreuses applications, sous différents formats, permettant de répertorier, classer, etc.

    Pour ce projet, l'objectif principal est de reprendre une application existante et d'apporter les fonctionnalités de base : récupérer les informations depuis le site officiel, permettre aux joueurs de saisir les cartes (avec les fonctions d'importation et d'exportation aux formats classiques), etc.

    Dans un deuxième temps, le but est de permettre aux joueurs de créer des decks, c'est-à-dire de choisir des sous-ensembles de cartes leur permettant de jouer contre des adversaires. Comme le choix des cartes est complexe, l'objectif est de développer un outil pour simplifier cette saisie en proposant, par exemple, des combinaisons courantes, etc.

    Enfin, une application mobile Android permettra aux joueurs d'avoir sur eux en permanence leur collection de cartes, facilitant par exemple, l'acquisition de nouvelles cartes non présentes dans leur collection.

  • 3 Attribué Gestion de stages
    Encadrant : NOLOT Florent
    Sujet :

    Le but du projet est de reprendre un projet existant permettant de réaliser la gestion des stages et de le compléter.

    L'application de gestion de stages permet aux différents responsables de les assister dans le suivi de stage (collecte des données, édition de convention, suivis de stage, soutenances, etc.). Cette application a été développée par des étudiants précédents et des fonctionnalités sont manquantes.

    L'application a été développée à l'aide du framework Symfony.

  • 4 Attribué Gestionnaire d'évènements publiques
    Encadrant : AYAIDA Marwane
    Sujet :

    Le but du projet est de développer une application complète permettant de gérer des évènements qui seront ensuite diffusés dans des lieux publics.

    Un ou plusieurs super-administrateurs peuvent donner des accès à des administrateurs locaux, qui gèrent des lieux particuliers (exemple bibliothèque 1, bibliothèque 2, piscine 1,…). Chaque administrateur local aura sa propre interface de gestion et un code relatif à son lieu. Ce code sera communiqué aux abonnés (utilisateur d’application mobile) afin qu’ils reçoivent ou postent des informations relatives à ce lieu.

    Les administrateurs locaux de l'application doivent pouvoir saisir les différents lieux (par exemple bibliothèque, piscine, mairie, etc.). L'application doit permettre à des utilisateurs de s'inscrire puis poster des évènements en choisissant les lieux où ils seront affichés. Les utilisateurs et les évènements devront être validés par des administrateurs.

    Une seconde application doit être développée afin de récupérer les informations à afficher sur un écran. Le choix de la technologie devra être fait en fonction des lieux, etc.

    La troisième application est une application mobile Android permettant à des clients de recevoir les évènements associés à des lieux pour lesquels ils sont inscrits.

  • 5 Attribué Automatisation de gestion de commandes
    Encadrant : BOISSON Jean-Charles
    Sujet :

    L'objectif de ce projet est de proposer une automatisation de la gestion des commandes au sein d'un environnement basé uniquement sur des saisies manuelles séquentielles dans des feuilles Microsoft Excel et des documents Microsoft Word. En effet, la saisie d'une commande demande l'impression puis le remplissage d'une première fiche. Ensuite, cette fiche en même temps qu'elle est en attente de signature doit être saisie au sein d'un document Excel qui lui-même va être repris dans un autre document. L'annulation d'une saisie entraîne toute une vérification des étapes déjà initiées et la saisie à elle-seule demande des vérifications manuelles forcément laborieuses et rébarbatives pour la personne en charge de cette tâche.

    Afin d'aider à cette gestion de commande, il devra être nécessaire d'élaborer une application graphique Python qui permettra de rendre transparente la création, lecture et/ou mise à jour des différents fichiers Microsoft tout en permettant de vérifier la viabilité des informations et d'assurer la canonicité des actions notamment car il s'agit d'informations comptables.

    Le cas échéant, il sera possible ensuite de faire évoluer l'outil pour une plus grande flexibilité (gestion des signatures électroniques, auto-génération de modèles de fiches, ...).

    L'idéal serait bien sûr d'obtenir un framework assez généraliste pour permettre sa réutilisation pour d'autres objectifs basé sur les mêmes types de documents (par exemple, être réutilisé dans un autre service pour gérer du suivi d'inscriptions, de l'évolution d'effectifs, ...).

    Technologies utilisées : Python, XML, IHM

  • 6 Attribué hpcPORTAL : Développement de l’interface web d’utilisation de ROMEO
    Encadrant : RENARD Arnaud
    Sujet :

    L’utilisation d’un supercalculateur est parfois complexe : il faut demander la création d’un compte selon des règles très précises, puis s’adapter à la configuration via des outils comme ssh, et slurm.

    Il est parfois nécessaire d’utiliser un supercalculateur facilement :

    • Dans le cadre d’un cours, les étudiants souhaitent se concentrer sur leur code, pas sur les détails techniques
    • Pour tester un programme, un invité n’a pas envie d’avoir à suivre la procédure pour quelques minutes
    • Un non-informaticien n’a pas besoin de maitriser tous les paramètres, il veut juste une interface web avec quelques options

    Pour mettre en place tout ceci, nous allons nous appuyer sur des briques existantes qu’il faudra adapter :

    • Configurable http Proxy : ce proxy web en NodeJS doit être sécurisé pour accéder au serveur web avec l’authentification
    • Applis et Visu : il faut définir un format de fichier (json ?) pour décrire un calcul (liste des inputs, des outputs …) et des visu (quel programme lancer pour visualiser tel type de problème) et mixte.
    • Exporter / modifier / importer / partager le fichier json, et disponibilité des applis en fonction des projets
    • Transformer le fichier json en formulaire web
    • Traiter le formulaire web pour soumettre un calcul

    Une étude préliminaire et des descriptions d’outils équivalents seront fournis.


Version de cette page Vendredi 11 Mai 2018

© Cyril Rabat 2016

Connexion

Mot de passe perdu

Dernières nouvelles

Aucune pour le moment

Contact

Courriel :
cyril.rabat [at] univ-reims.fr

Téléphone :
+33-326-91-33-81

Fax :
+33-326-91-33-97

Facebook :
lien Facebook direct