INFO64 - Projet de Programmation Proposition de projets
Transcription
INFO64 - Projet de Programmation Proposition de projets
INFO64 - Projet de Programmation Proposition de projets - 2008 N.B. : les descriptions des projets sont données à titre indicatif. Veuillez contacter les enseignants pour obtenir plus de renseignements. Christophe Jaillet – [email protected] Sujet Nº 1 : Simulation d'un microprocesseur [java] Objectif : utilisation en TP en L1 ("éléments d'architecture des ordinateurs") NB : Un tel outil existe déjà : il s'agit de le corriger/l'améliorer, et d'y ajouter des fonctionnalités. Sujet Nº 2 : compatibilité + export entre formats de calendriers électroniques exemple : Google calendar, i-cal, calendriers PDA sous Windows Mobile voir l'API Google calendar Sujet Nº 3 : Suivi des présences en TP [PhP/MySQL] Quelques fonctionnalités à envisager : ● différents niveaux d'administration/utilisation (admin. générale ; responsable de module ; intervenant ; étudiant) ● limitation des informations aux matières utiles selon l'utilisateur + choix de la matière (si au moins 2) ● exporter les résultats (par étudiant/groupe ; par matière ; ...) ● gestion des notes, avec différentes modalités de contrôle continu (niveau responsable ; niveau intervenant) Sujet Nº 4 : Programme TV personnalisé [XML / flux RSS] Sujet déjà attribué. A voir : ● format XML-TV (http://xmltv.org/wiki/), standard pour conserver les informations relatives à un programme TV ● fichier XML fourni/à récupérer pour plusieurs chaines => lecture (PhP5) et export des informations dans une base de données ● site pour consulter le programme : identification des bouquets (hertzien, TNT, freebox, CanalSat, ...), des thèmes (sport, jeu, série, film, info, ...) Objectifs : Un utilisateur enregistré peut choisir de voir certains bouquets/thèmes, et même s'abonner pour recevoir son programme TV personnalisé ● en ligne / par email (toutes les semaines ?) ● alertes sur des émissions choisies Sujet Nº 5 : Raid Aventure (Service Jeunesse et Sports, Mairie de Reims) [PhP/MySQL] Gestion des résultats d'épreuves sportives + information sur le déroulement du raid : inscriptions, galerie photos, publication des résultats, ... Un outil de gestion des résultats existe déjà mais doit être intégré. Sujet Nº 6 : Bot MSN, serveur de Poker [Jabber] Il s'agit de créer un "Bot" (robot simulant un utilisateur de messagerie instantanée) qui gère un jeu (ici un tournoi de Poker, par exemple). Voir jabber (http://www.jabber.org), msn.jar, msnMessenger (http://www.javafr.com/codes/JMSNMESSENGER-JAVA-WEB-MSN-MESSENGER_35581.aspx) NB : Jabber est compatible MSN, ICQ, AIM, ... Sujet Nº 7 : Représentation graphique de l'exécution de code java [génération de flash en PhP : bibliothèque MING (ou autre)] Objectif : utilisation en TD/TP en L1 ("introduction à l'algorithmique et à la programmation Java") NB : le sous-ensemble de code java à considérer vous sera précisé. Sujet Nº 8 : site marchand moto-cross Sujet déjà attribué. Sujet Nº 9 : site marchand pour http://www.lebillarddesnanas.fr/ Sujet Nº 10 : moteur de requêtes Google [PhP/MySQL] Récréer le moteur de recherche + analyse de pertinence des réponses + interfaçage BD Luiz Angelo Steffenel – [email protected] Sujet Nº 1 : Plate-forme P2P pour l'expérimentation d'algorithmes de communication de groupe (élection, consensus) L'objectif initial est d'utiliser la plate-forme P2P Jxta pour créer un réseau de clients P2P disposant de mécanismes d'échange de messages et de détection de défaillance. À partir de cette base, nous allons implémenter des opérations de coordination entre les processus, notamment l'élection et le consensus, et les tester dans différents scénarii (avec et sans pannes, augmentation du nombre de machines, etc.). Sujet Nº 2 : Simulation d'algorithmes de routage (RIP, OSPF) sur une plate-forme P2P (java) L'objectif initial est d'utiliser la plate-forme P2P Jxta pour créer un réseau de clients P2P QUI simule les routeurs dans un réseau informatique. À partir d'un fichier XML qui décrit la topologie du réseau, les client doivent créer et mettre à jour des tables de routage dynamiques selon les algorithmes de routage RIP et OSPF. Cet outil pourra être utilisé en cours pour démontrer le fonctionnement des deux algorithmes. Sujet Nº 3 : Mesure et modélisation des performances communication OpenMP sur un cluster de machines multi-coeur de OpenMP est une API pour la programmation parallèle qui simule une mémoire partagée entre les processus. Seulement, les coûts de communication varient selon la localisation des données. L'objectif est de mesurer et établir des modèles simples pour la prédiction des coûts de communication d'une application selon le type d'opération (lecture ou écriture) et la « distance » entre un processus et les données (même coeur, même processeur, même machine, même cluster). Sujet Nº 4 : Extraction d'informations et transformation d'un document XML Les ontologies sont une manière de représenter de concepts et de leurs relations, très utilisés en intelligence artificielle mais aussi en informatique mobile pour l'adaptation des applications au contexte d'utilisation (dispositifs, localisation, ressources disponibles, etc.). L'objectif est de créer des outils pour la traduction de la sortie XML d'une base de connaissances (base AROM) dans le langage d'ontologies OWL (standard W3C) et vice-versa. La traductions devrait s'effectuer autant en mode hors-ligne qu'en temps d'exécution (dans une application Java). Mots clés : XML, XSLT, parsers DOM et SAX. Sujet Nº 5 : Outil pour la découverte de la topologie d'un réseau L'objectif est de créer un outil capable de découvrir et représenter les interconnexions dans un réseau informatique. Les étudiants doivent étudier les différentes métriques (distance, débit, partage de chemins, etc.) et les différents mécanismes (agents, sondes TCP/UDP, SNMP, ...) et implémenter l'une des stratégies. La topologie du réseau ainsi établie doit être représentée en XML pour permettre une possible intégration avec un outil de visualisation et gestion du réseau. Sujet Nº 6 : Évaluation des systèmes de virtualisation (VMWare, qemu, Xen, Bochs, ...) L'objectif est d'établir une comparaison entre les différentes systèmes de virtualisation actuellement disponibles. Des tests de performance (benchmarks) devront être faits pour comparer ces systèmes sur différents aspects : lecture/écriture sur le disque, communication sur le réseau, exécution d'une application gourmande en mémoire et processeur, etc. Sujet Nº 7 : Outil de visualisation de traces d'exécution d'applications réparties Les applications distribuées ou parallèles ont souvent besoin d'échanger des messages entre les processus. L'analyse des traces d'échange de messages est un outil très important pour la compréhension des algorithmes et pour le débogage/optimisation des applications. L'objectif est de développer un outil pour la visualisation des échanges de message obtenus à partir d'un fichier contenant les traces de communication. L'outil doit permettre de zoomer, filtrer selon le type de message et indiquer des inconsistances dans la trace de communication (par exemple, des messages envoyés par un processus P qui ne sont pas reçus par le processus Q). Sujet Nº 8 : Outil pour l'analyse de tentatives d'intrusion dans une machine Unix à partir des fichiers de log du système Les fichiers de log des systèmes Unix gardent souvent la trace des tentatives de connexion sur ces machines. L'objectif est de développer un outil qui vérifie ces tentatives de connexion et qui indique des éventuelles tentatives d'intrusion selon différents critères (connexions répétées, port scan, connexions à des horaires inhabituels, rafales de connexions issues de plusieurs sources). L'outil pourra tourner en permanence ou à des intervalles régulières et avertir l'administrateur de la machine (par mail ou SMS) si des situations d'attaque potentielles sont détectées. Sujet Nº 9 : meta-serveur pour le jeu Crack-Attack Le jeu Crack-Attack dispose d'un mode de jeu en réseau qui relie deux joueurs dans une course contre la montre – celui qui résiste plus longtemps gagne la partie. Actuellement, les joueurs doivent indiquer l'adresse IP de l'une des machines qui sera le « serveur » pour la partie, ce qui oblige les deux joueurs à se mettre d'accord avant le début de la partie. L'objectif est de créer un meta-serveur qui fera le rôle d'annuaire pour mettre en contact les joueurs. En plus d'indiquer les joueurs disponibles et de faciliter le début d'une partie, ce meta-serveur doit aussi être capable de garder les scores des parties et d'établir des statistiques sur les joueurs. Florent Nolot – [email protected] Sujet Nº 1 : Gestion de mailing list en php. Pour envoyer des mails à un groupe via une interface web. Sujet Nº 2 : Développement d'un outils d'aide à la création de visite virtuelle sur internet Sujet Nº 3 : Amélioration d'un site Web en PhP/MySql pour le suivi des stages des étudiants en filières professionnelles Sujet Nº 4 : Outils d'aide à la configuration de matériel réseau Cyril Rabat – [email protected] DASOR1 est une bibliothèque de simulation à événements discrets pour les applications de grille et pair-à-pair, écrit en C++ et en Lex&Yacc. Un simulateur est écrit à l’aide de DASOR indépendamment des modèles de simulation et du réseau. Ces derniers sont renseignés au moment de l’exécution du simulateur à l’aide d’un fichier de description .net. Autour de la bibliothèque, une boîte à outils a été développée permettant d’exploiter les différents fichiers de description et de sortie. Sujet Nº 1 : Simulations d’applications de grille DASOR permet de créer des simulateurs d’applications de grille ou pair-à-pair. L’objectif de ce projet est de simuler quelques intergiciels existants : XtremWeb, DIET et Globus. Pour cela, les étudiants devront dans un premier temps étudier une de ces solutions afin de comprendre leur fonctionnement. Dans un deuxième temps, ils devront écrire un simulateur de la solution choisie. Sujet Nº 2 : Topologies de graphe Les fichiers de description passés en paramètre aux simulateurs écrits avec DASOR permettent de décrire les modèles de simulation appliqués au moment de l’exécution. En particulier, la syntaxe simple de ces fichiers permet de décrire des topologies de réseaux complexes. Afin de compléter la bibliothèque, le but de ce sujet est d’implémenter différentes topologies : les arbres, les grilles toriques, les graphe de densité constante, etc... Les étudiants devront dans un premier temps faire une recherche sur ces topologies (caractéristiques, paramètres et algorithmes de génération). Dans un deuxième temps, ces différentes topologies devront être intégrées à la bibliothèque. Sujet Nº 3 : Gestion des réseaux sans fils Lors de l’exécution d’un simulateur, des modèles de simulation sont appliqués, décrits via le fichier de description .net. La gestion des réseaux sans-fils est prévue dans la bibliothèque, mais aucun modèle de communication ni de mobilité n’ont été implémentés. Le but de ce sujet est donc d’implémenter un modèle de communication simpliste ainsi que plusieurs modèles de mobilité standard. Sujet N°4 : Gestion de la mise à jour d'une base de données (MySQL et PHP) L'objectif de ce sujet est de gérer la mise-à-jour automatique d'une base de données MySQL d'un site Internet écrit en PHP. La base est décrite en XML : l'ensemble des champs est précisé ainsi que le type de chacun des champs et la valeur par défaut. L'idée est de pouvoir mettre à jour automatiquement la base de données à l'aide de ce fichier de description : si un champ est présent dans le fichier XML et qu'il n'existe pas dans la base, il est automatiquement ajouté. De même, si un champ de la base est obsolète, il est supprimé. Ce type de gestion, couplé avec un outil SVN, permettrait donc d'automatiser la gestion de la base (en exécutant un script PHP). 1voir la page officielle http://cosy.univ-reims.fr/~crabat/DASOR/