Archives du tag : Projet

Projet de Génie Logiciel : Monitoring Domotique

Contexte : la domotique

monitoring_ip_camera

La domotique désigne un ensemble de techniques (électronique, automatismes, informatique, réseaux et télécommunications) mises en œuvre dans les bâtiments afin de centraliser ou d’automatiser le contrôle des différents systèmes et sous-systèmes (chauffage, volets roulants, éclairage, porte de garage, portail d’entrée, prises électriques, alarme. . .). La domotique vise à apporter des solutions techniques pour répondre aux besoins de confort (gestion d’énergie, optimisation de l’éclairage et du chauffage), de sécurité (alarme) et de communication (commandes à distance, signaux visuels ou sonores. . .) que l’on peut retrouver dans les maisons, les hôtels, les lieux publics…

Objectifs

La domotique met en œuvre un nombre important de capteurs et d’actionneurs. Il est intéressant de pouvoir monitorer les changements d’états de tous ces modules pour rendre compte de l’évolution de la température, de la consommation électrique, du nombre de détection d’un détecteur de mouvements…

La réalisation d’un tel monitoring nécessite :

  1. dans un premier temps de stocker l’information dans une base de données,
  2. et dans un deuxième temps de permettre l’exploration ou l’exploitation cette information en produisant des graphiques intelligibles et interactifs.
(suite…)
Publié dans Enseignement, Domotique | Tagué | Laisser un commentaire

Projet Bases de Données/Programmation C : Gogol

veille

L’objectif du projet consiste à développer un petit moteur de recherche en appliquant les connaissances acquises dans les cours de bases de données et de programmation C.

Plus précisément, l’objectif est de parvenir à identifier parmi un ensemble de fichiers texte ceux qui correspondent le mieux à la requête d’un utilisateur. Les ressources mises à disposition pour ce projet sont un corpus d’environ 3000 petits fichiers texte ainsi qu’un antidictionnaire sous la forme d’un fichier texte énumérant les mots vides (un par ligne). Le corpus (i.e. l’ensemble des quelques 3000 fichiers) peut être considéré comme le résultat du premier processus du moteur de recherche : l’exploration. Il reste donc à implémenter les deux processus suivants : l’indexation, puis la recherche.

L’implémentation de l’indexation consiste à développer un programme (GogolIndex) en C qui va lire chacun des fichiers du corpus pour en extraire les mots significatifs (i.e. autres que ceux qui figurent dans l’antidictionnaire) et les enregistrer dans une base de données organisée comme un gigantesque dictionnaire inverse. La base de donnée doit ainsi permettre de connaître l’ensemble des fichiers contenant chacun des mots significatifs extraits.

L’implémentation de la recherche consiste à développer un programme (GogolRecherche) en C qui va demander à l’utilisateur de saisir une requête puis retourner la liste des fichiers contenant au moins l’un des mots significatifs de la requête. Cette recherche est bien entendu réalisée en effectuant des requêtes sur la base de données. Les noms des fichiers retournés seront ordonnés en mettant en premier ceux qui contiennent le plus de mots significatifs et en dernier ceux qui en contiennent le moins.

Ce projet a été donné aux étudiants de 1ère année du DUT informatique en apprentissage dans le cours de Bases de Données en janvier 2013.

Publié dans Enseignement, Base de données | Tagué | Laisser un commentaire

Projet UML/Java : Submersibles

Sous-marin

L’objectif du projet consiste à proposer un modèle UML d’une petite application permettant de mettre en oeuvre des combats entres deux sous-marins, puis de proposer une implémentation en Java de cette application. Le jeu met en scène quatre types de sous-marins : le standard, l’agile, le cuirassé et le furtif.

L’application doit permettre de créer de nouveaux sous-marins et de les équiper avant un combat. L’application doit, bien entendu, permettre de gérer des combats entre deux adversaires. Un combat doit se dérouler avec deux exécutions distinctes de l’application (une par joueur) communiquant par l’intermédiaire d’un fichier d’échange pour synchroniser le déroulement du combat.

Ce projet a été donné aux étudiants de 1ère année du DUT informatique dans le cours d’UML en mai 2012.

Publié dans Enseignement | Tagué | Laisser un commentaire

Projet UML/Java : Ring

Guerrière

L’objectif du projet consiste à proposer un modèle UML d’une petite application permettant de mettre en œuvre des combats entres deux personnages, puis de proposer une implémentation en Java de cette application.

Les combattants peuvent être de trois types : guerrier, athlète ou magicien. Tous les combattants du jeu sont caractérisés par un nom, une force physique, une dextérité, une intelligence, une capacité de concentration, une vitalité et une expérience.

Ce projet a été donné aux étudiants de 1ère année du DUT informatique dans le cours d’UML en mai 2011.

Publié dans Enseignement | Tagué | 11 commentaires

Projet GL : Cohérence des tags ID3 de fichiers musicaux

ID3 est le nom des métadonnées pouvant être insérées dans un fichier audio (comme les fichiers mp3, ogg,…). Ces métadonnées permettent d’avoir des informations sur le contenu du fichier comme le titre, le nom de l’interprète, ou encore le genre.

L’objectif du projet consiste à développer une application d’assistance à la restauration de la cohérence de l’ensemble des tags ID3 des fichiers musicaux se trouvant dans un dossier donné.

Ce projet a été donné aux étudiants de 2ème année (semestre 4) du DUT informatique dans le cours de projet GL en octobre 2008 et 2009.

Publié dans Enseignement | Tagué | Laisser un commentaire

Projet UML/Java : Dilemme Itéré des Prisonniers

Le dilemme du prisonnier est un des plus célèbres exemples de la théorie des jeux. Il vise à estimer les bénéfices des stratégies de coopération. Les règles sont simples et partent de la petite histoire décrite ci-dessous dont le jeu tire son nom.

Deux suspects porteurs d’armes ont été arrêtés devant une banque et mis dans deux cellules séparées. Les deux prévenus ne peuvent pas communiquer et doivent choisir entre avouer qu’ils s’apprêtaient à commettre un hold-up ou ne rien avouer. Les règles que le juge leur impose sont les suivantes :

  • si l’un avoue et pas l’autre, celui qui avoue sera libéré en remerciement de sa collaboration et l’autre sera condamné à cinq ans de prison ;
  • si aucun n’avoue, ils ne seront condamnés qu’à deux ans de prison, pour port d’arme illégal ;
  • et si les deux avouent, ils iront chacun faire quatre ans de prison.

Lorsque le jeu est joué une seule fois, l’attrait de la dénonciation est très fort bien que la coopération soit la meilleure solution pour les deux joueurs. A défaut de connaître les intentions de l’autre, la dénonciation est souvent le premier choix. Mais en faisant jouer plusieurs fois de suite les mêmes joueurs, on commence à voir des stratégies comportementales se dessiner, chacun gardant la mémoire des choix précédents.

Ce projet a été donné aux étudiants de 1ère année du DUT informatique dans le cours d’UML en décembre 2007.
L’objectif du projet consiste à proposer un modèle UML d’une petite application permettant de mettre en oeuvre des tournois de stratégies jouant au Dilemme Itéré des Prisonniers, puis de proposer une implémentation en Java de cette application.

Publié dans Enseignement | Tagué | Laisser un commentaire

Projet UML : Système d’information d’une bibliothèque

L’objectif du projet consiste à proposer un modèle du système informatique d’une bibliothèque. Actuellement, la bibliothèque en question n’en possède pas et ne travaille qu’avec des notices et des fiches papier.

Ce projet a été donné aux étudiants de 1ère année du DUT informatique dans le cours d’UML en décembre 2006.

Publié dans Enseignement | Tagué | 1 commentaire

Projet C : Conway’s Game of Life

Conway’s Game of Life est un projet a réaliser en C en mode texte. Il consiste en une implémentation de l’automate cellulaire imaginé par John Horton Conway. Le principe est simple. Sur une grille théoriquement infinie (appelée plan de Conway), les cases représentent des cellules vivantes ou mortes. À chaque étape, l’évolution d’une cellule est calculée en fonction de l’état de ses huit voisines.

Ce projet a été donné aux étudiants de 1ère année du DUT informatique dans le cours Bases de la programmation le 29 janvier 2008.

Publié dans Enseignement | Tagué | Laisser un commentaire