Les bases de données et la programmation objet

publicité
Projets
1) MySQL et C++
Dans ce projet on se propose d’explorer les possibilités du langage C++ dans le but de
communiquer avec un système de gestion de bases de données (SGBD).
Il s’agira notamment de concevoir, dans un premier temps, une classe écrite en C++
permettant de se connecter au serveur MySQL, puis à une base préalablement configurées, et
d’extraire certaines informations d’une table de la base.
Une base de données comportant une table sera donc suffisante pour élaborer un protocole de
tests.
Informations :
- La documentation officielle de MySQL fournit un grand nombre d’informations concernant
les API (Application Programming Interface) disponibles dans de nombreux langages de
programmation pour dialoguer avec le SGBD.
2) MySQL et QT
Dans ce projet on se propose d’explorer les possibilités du langage C++ assorti de la
bibliothèque d’objets QT dans le but de communiquer avec un système de gestion de bases de
données (SGBD).
Il sera intéressant d’examiner les potentialités de la bibliothèque QT et de regarder comment
procéder pour se connecter à la base et afficher les résultats d’une requête d’extraction et/ou
d’insertion dans une fenêtre graphique.
Informations :
- On regardera la version 4.x de QT, disponible notamment sous le système d’exploitation
Windows XP, et sa documentation officielle à la rubrique Home->Grouped Classes>Databases. On pourra s’inspirer également du site officiel de QT : http://qtfr.org/index.php
3 Extension pour Firefox
Dans ce projet, on se propose de développer une extension pour le navigateur Mozilla/Firefox.
Nous souhaitons, munir Firefox d’un « bouton » permettant d’ouvrir une interface dans la
fenêtre du navigateur contenant plusieurs champs de saisie de données (par exemple, nom,
prénom, date, commentaires…) à insérer dans une base de données (par exemple Mysql ou
SQLite). Les extensions Firefox suppose une prise en main du langage XML/XUL pour
lequel on trouve une description sur http://xulfr.org/ . Afin que l’extension puisse être chargée
en tant que « module complémentaire » du navigateur, il est nécessaire de créer un fichier au
format XPI, dont on trouvera une documentation sur http://developer.mozilla.org/Fr .
4 Programmation système et développement d’un daemon
Dans le système Unix/Linux un daemon est un processus lancé par root au démarrage et
s’exécutant en tâche de fond (background). Certains daemons sont fondamentaux et
nécessaires au bon fonctionnement du système, d’autres sont « optionnels » et correspondent
à des services que l’administrateur de la machine souhaite offrir à ses utilisateurs. Ainsi, les
scripts localisés dans le répertoire /etc/init.d sont lancés au démarrage si des drapeaux (flags)
ont été positionnés par l’administrateur (notamment au moyen de la commande chkconfig).
Le but de se projet est de développer un daemon qui gère un système de quotas de processus
pour chaque utilisateur de la machine. Par exemple, si l’utilisateur Galilée a le droit de lancer
10 processus (en plus de ceux nécessaires au bon fonctionnement de son environnement),
lorsqu’il tente d’exécuter une onzième tâche, le daemon, que nous nommerons iuld (pour
Interface User Limits Daemon), l’avertit d’un dépassement de quotas et suspend la tâche. De
plus iuld gère également le temps de processeur par processus. Vous devrez donc réfléchir à
une structure de bases de données simple (en développant un script BaShell qui stocke les
informations Utilisateurs/Nombre de Processus/Temps de Processeur dans un fichier
séquentiel) qui sera remplie par l’administrateur. Vous développerez également iuld et son
script de démarrage qui sera stocké dans /etc/init.d et lié symboliquement aux différents
niveaux de fonctionnement de Linux (niveaux 3 et 5 en particulier).
Renseignements complémentaires :
Les étudiants peuvent me contacter par courrier électronique : [email protected] en
mentionnant « PROJET IUT » en objet. Nous pouvons convenir d’un rendez-vous.
Bon courage !
Téléchargement