Application informatique

IUP 2 - année 2003


Cette année, il y a 5 groupes de TP. Chaque groupe devra réaliser un projet (très) différent. Comme dans une entreprise, vous devrez concevoir un produit (informatique), ensemble, en utilisant vos diifférentes capacités. Dans chaque groupe, il faudra se partager le travail (lors de la première séance), individuellement ou par binôme (mais les binômes seront évalués individuellement). Chaque groupe se réunit avec l'enseignant responsable (P. Trau cette année) pendant 5 séances de 4 heures, afin de valider ensemble les travaux effectués depuis la séance précédente, rendre compte des recherches effectuées, tenter de résoudre les différents problèmes rencontrés, redéfinir les tâches à effectuer pour la semaine suivante... En fin de projet, vous réaliserez un dossier, qui devra comporter une partie commune sur le projet, mais aussi une partie individuelle décrivant votre participation au projet, les difficultés rencontrées, votre avis sur le travail du groupe.
 

Les 5 sujets


 

Sujet 1 : gestion de données / architecture client-serveur

Aujourd'hui, le présentation de pages web statiques n'est plus suffisante pour une entreprise qui veut réellement utiliser internet pour toucher de nouveaux clients et fidéliser ses clients. En plus des pages de présentation, Il faut pouvoir présenter des données toujours à jour et surtout personalisées. Il faut aussi pouvoir influer à distance et en temps réel sur les données présentées.
Pour cela, vous allez réaliser une architecture client-serveur :

J'ai écrit une page présentant simplement cette architecture client HTML et serveur en C : www-ipst.u-strasbg.fr/pat/tst-form.htm.

Un très grand nombre d'applications peuvent utiliser ce schéma (établissement de devis personnalisé, disponibilité de produits et calcul de délais d'approvisionnement, liste des téleskis ouverts,...). Pour être très appliqué, vous allez traiter un sujet vous concernant : une gestion des salles de TP de l'IPST : gestion des salles, rotation des groupes... En accès public, vous donnerez des tableaux d'utilisation des salles, de rotation de TP, emplois du temps personnalisés (étudiants ou profs)... En acces protégé, vous permettrez l'introduction des données. Si possible, vous proposerz également des outils de vérification (prevenir en cas de chevauchement par exemple) et des outils d'aide à la décision (proposition automatique de plages libres par exemple).

Ce cahier des charges est volontairement peu précis : à vous de définir précisément le besoin. C'est aussi à vous de gérer l'intégralité du projet.

Sujet 2 :  bibliothèque de fonctions C pour les programmes mécaniques

Pour résoudre (par programme) un grand nombre de problèmes de mécanique, il vaut mieux disposer d'outils de base pour le calcul. Vous allez développer des bibliothèques C de fonctions et types, pour le calcul vectoriel, les torseurs, les polynômes, les dérivées et intégrales des polynômes et fonctions sinusoïdales. Puis vous rechercherez des applications utilisant ces bibliothèques : application du Principe Fondamental de la Statique sur un ensemble de solides, analyse d'un mécanisme (liaisons), mouvement vibratoire,...

L'année dernière, les étudiants ont commencé le travail. Vous trouverez l'information sur ftp://ftp-ipst.u-strasbg.fr/pub/appli-info-2002/biblio-meca. Mais il vous faut aller plus loin : prévoir des problèmes de cinématique (l'année dernière un groupe devait faire une bibliothèque pour la commande de robots), ainsi que des sorties graphiques (par exemple tracer la courbe des moments fléchissants ...). Pour le graphique, vous pouvez regarder www-ipst.u-strasbg.fr/pat/program/graphic.

Ce cahier des charges est volontairement peu précis : à vous de définir précisément le besoin. C'est aussi à vous de gérer l'intégralité du projet.

Sujet 3 : gestion de données / architecture client-serveur

Aujourd'hui, le présentation de pages web statiques n'est plus suffisante pour une entreprise qui veut réellement utiliser internet pour toucher de nouveaux clients et fidéliser ses clients. En plus des pages de présentation, Il faut pouvoir présenter des données toujours à jour et surtout personalisées. Il faut aussi pouvoir influer à distance et en temps réel sur les données présentées.

Pour cela, vous allez réaliser une base de données, physiquement placée sur un serveur (nommé ipst-sv2.u-strasbg.fr), que l'on pourra consulter de n'importe quel endroit d'intertnet à l'aide de n'importe quel navigateur.

Un très grand nombre d'applications peuvent utiliser ce schéma (établissement de devis personnalisé, disponibilité de produits et calcul de délais d'approvisionnement, liste des téleskis ouverts,...). Pour être très appliqué, vous allez traiter un sujet vous concernant : une gestion des salles de TP de l'IPST : gestion des salles, rotation des groupes... En accès public, vous donnerez des tableaux d'utilisation des salles, de rotation de TP, emplois du temps personnalisés (étudiants ou profs)... En acces protégé, vous permettrez l'introduction des données. Si possible, vous proposerz également des outils de vérification (prevenir en cas de chevauchement par exemple) et des outils d'aide à la décision (proposition automatique de plages libres par exemple).

Dans un premier temps, il va donc falloir que vous collectiez un certain nombre d'informations : sur HTML  les formulaires HTML, le langage PHP, les fonctions PHP spécifiques pour SQL,  le langage SQL, le serveur (MySQL),... Vous pourrez trouver des informations sur de nombreux sites, par exemple l'UNGI (guide.ungi.net/) ou mon memento HTML ( www-ipst.u-strasbg.fr/pat/memohtml.htm), ou le site comment ca marche (www.commentcamarche.net). Je peux également répondre à vos questions, et si vous le voullez vous présenter lors de la première séance les bases d'HTML, du PHP, de SQL. Vous pouvez également consulter les documents  créés ou récoltés par vos collèques de l'année dernière  : ftp://ftp-ipst/pub/appli-info-2002/edt. Peut-être pourriez vous également utiliser PHPmyAdmin que j'ai installé sur ipst-sv2.

Ce cahier des charges est volontairement peu précis : à vous de définir précisément le besoin. C'est aussi à vous de gérer l'intégralité du projet.

Sujet 4 : gestion de données / bases locales

Dans un nombre incroyable de cas, on a besoin d'organiser des données nombreuses et complexes, et l'on utilise pour cela un SGBD (système de gestion de bases de données). Souvent, il est souhaitable voire nécessaire d'accéder à ces données à distance (en réseau local ou internet).

Les deux groupes qui ont à créer une base de donnée partagée sur internet auraient (pour certains) préféré pouvoir le faire sous ACCESS. Vous êtes chanceux, je vous le propose. ACCESS n'étant pas disponible pour Linux, vous développerez la même base sous StarOffice / Adabas. Vous pourrez ansi comparer les fonctionnalités des deux bases. Pour utiliser ACCESS, vous passerez par le bureau nomade.

Nous pourrions choisir toute sorte d'application, mais à force de voir partout une application sur une bibliothèque (de livres ou cassettes), vous allez plutôt traiter un sujet vous concernant : la gestion des salles de TP de l'IPST : gestion des salles, rotation des groupes... Vous donnerez des tableaux d'utilisation des salles, de rotation de TP, emplois du temps personnalisés (étudiants ou profs)... Si possible, vous proposerez également des outils de vérification (prevenir en cas de chevauchement par exemple) et des outils d'aide à la décision (proposition automatique de plages libres par exemple). Vous chercherez aussi comment tout étudiant pourrait consulter ces données à distance, par exemple depuis le bureau nomade, mais sans pouvoir les modifier.

Ce cahier des charges est volontairement peu précis : à vous de définir précisément le besoin. C'est aussi à vous de gérer l'intégralité du projet.
 

Sujet 5 :  bibliothèques de fonctions graphiques utilisables en C

Vous allez rechercher, tester et comparer différentes manières de faire du graphisme dans un programme en C, sous Linux. Vous utiliserez ces bibliothèques pour créer un petit outil de tracé de courbes et de surfaces, pour analyser des fonctions, un peu comme on peut en trouver sur les calculatrices graphiques.

Vous essayerez

Vous vous renseignerez également sur la possibilité d'utilisation sur différentes plateformes (Windows, Mac, Sun...) ainsi que les conditions d'utilisation (libre, commercial,...)

Ce cahier des charges est volontairement peu précis : à vous de définir précisément le besoin. C'est aussi à vous de gérer l'intégralité du projet.


 

Restitution du travail 


 

Il faut rendre :

1) Le produit qui a été commandé à votre groupe, accompagné de son dossier technique. Le produit sera remis soit sur un support ammovible (disquette / CD), soit sur un ordinateur accessible de l'IPST (en précisant la manière d'y accéder).

Le dossier technique décrit le produit, ses fonctionnalités, ses limites. Les différents composants du produit y sont décrits. Les différentes parties du dossier peuvent évidement être rédigées séparément, mais un document de synthèse sera bienvenu (au minimum une liste des sous-dossiers). En cas de partage du travail par petits groupes, chaque sous-dossier comportera le nom des étudiants l'ayant réalisé. L'un d'entre vous  peut se proposer comme coordinateur.

Pour chaque partie, un nom (et événtuellement une adresse e-mail) désignera la personne "service après vente" à qui le client (par l'intermédiaire de Mr TRAU) pourra poser des questions techniques.

2) un rapport individuel qui précisera ce que vous avez fait, comment vous vous êtes organisés (tous ensemble et dans votre sous-groupe), ce que vous avez découvert et appris, comment et où vous avez cherché l'information, les difficultés que vous avez rencontrées et comment vous les avez résolues (ou pas). Si pour certains d'entre vous le travail consistait en une recherche d'informations pour le reste du groupe, vous expliquerez dans le rapport individuel votre démarche, et annexerez au dossier technique la synthèse de vos résultats.

Toujours dans votre rapport individuel, vous préciserez comment vous vous organiseriez si c'était à refaire (attention à ce que vous dites, on vérifiera peut-être dans vos projets d'IUP3). Vous pourrez également donner votre avis sur le module "application informatique", quelques conseils pour pour que les étudiants des prochaines années puissent mieux s'organiser, être plus efficaces, gérer leur temps et la progresion du travail, se partager plus efficacement le travail (sur ce dernier point, comment ferez vous, une fois ingénieur maître, pour faire travailler les fainéants de votre service). Vous pourrez également dire quelles informations vous manquaient et comment vous avez essayé de les obtenir