Compte-Rendu d UV Libre : Système d Information du Bureau Des Etudiants de l INSA de Rouen

Documents pareils
Architectures web/bases de données

Avant-propos 1. Avant-propos Organisation du guide À qui s'adresse ce guide?...4

<Insert Picture Here>ApExposé. Cédric MYLLE 05 Février Exposé Système et Réseaux : ApEx, Application Express d Oracle

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France

Compte Rendu d intégration d application

Catalogue des Formations Techniques

Formation en Logiciels Libres. Fiche d inscription

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

Echosgraphik. Ce document sert uniquement à vous donner une vision sur ma manière de travailler et d appréhender un projet

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Introduction à. Oracle Application Express

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

Jahia. Guillaume Monnette École Ingénieurs 2000 Marne-La-Vallée IR3

arcopole Studio Version 3.3

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

Mise en oeuvre d'une base de données mono-utilisateur avec SQLite

CATALOGUE FORMATION 2015

Information utiles. webpage : Google+ : digiusto/

les techniques d'extraction, les formulaires et intégration dans un site WEB

Module BD et sites WEB

Programme ASI Développeur

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Introduction aux Bases de Données Relationnelles Conclusion - 1

Bases de données Cours 1 : Généralités sur les bases de données

SQL SERVER 2008, BUSINESS INTELLIGENCE

ArcGIS 10.1 for Server

Présentation du module Base de données spatio-temporelles

Hébergement de sites Web

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

PHP. PHP et bases de données

BES WEBDEVELOPER ACTIVITÉ RÔLE

BTS S.I.O PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais

emuseum PUBLIEZ VOS COLLECTIONS SUR INTERNET Pourquoi choisir emuseum? Intégration facile avec TMS Puissante fonction de recherche

PostgreSQL, le cœur d un système critique

CONCEPTION ET IMPLANTATION DES SI PROJET : GESTION DU FOYER DE L ENIT

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Environnements de Développement

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Chapitre VIII. Les bases de données. Orientées Objet. Motivation

Rapport de stage. Développement d un logiciel de vidéoconférence : Enjeux 3. Guillaume DOTT 2009

L A B U S I N E S S. d a t a g i n f o r m a t i o n g a c t i o n

GUIDE D INSTALLATION DE L APPLICATION GECOL SUR

Devenez un véritable développeur web en 3 mois!

FTP : File TRansfer Protocol => permets d envoyer des gros fichiers sur un serveur (ou de télécharger depuis le serveur)

TP réseaux 4 : Installation et configuration d'un serveur Web Apache

Pratique et administration des systèmes

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

SIO Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault

Nom de l application

Introduction à la B.I. Avec SQL Server 2008

THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL

Notre Catalogue des Formations IT / 2015

Ingénieur Généraliste Spécialité Informatique

FLEX 3. Applications Internet riches avec Flash ActionScript 3, MXML et Flex Builder. Aurélien Vannieuwenhuyze

Bases de données. Chapitre 1. Introduction

4. SERVICES WEB REST 46

Content Management System. bluecube. Blue Cube CMS V4.3 par Digitalcube

Développement des Systèmes d Information

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

Java et les bases de données

Bien programmer. en Java ex. couleur. Avec plus de 50 études de cas et des comparaisons avec C++ et C# Emmanuel Puybaret.

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT

Catalogue De Formation Pour Les Entreprises

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

Sécurisation des accès au CRM avec un certificat client générique

FileMaker Server 14. Aide FileMaker Server

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Jérôme FESSY. IUT de Paris 5. Base de Données. Cours Introductif. Base de Données

Bases de données cours 1

Plesk Automation. Questions techniques fréquemment posées

FileMaker Server 14. Guide de démarrage

Gestion de stock pour un magasin

Armand PY-PATINEC 2010

Mercredi 15 Janvier 2014

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09

Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant

et Groupe Eyrolles, 2006, ISBN :

Serveur de Téléphonie Asterisk implanté sur Trixbox

Vérifier la qualité de vos applications logicielle de manière continue

De quoi avez-vous besoin pour ce manuel?

ECLIPSE ET PDT (Php development tools)

Mise à jour : Octobre 2011

EXAMENS EN VUE DU RECRUTEMENT ET DE LA CONSTITUTION DE RÉSERVES DE RECRUTEMENT DE SYSTEM ADMINISTRATORS APPLICATION DEVELOPERS

Informatique & Systèmes de Communication. Stages de 12 à 16 semaines aux Etats-Unis

IBM DB2 Alphablox. d administration GC

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

Gestion d identités PSL Exploitation IdP Authentic

Annexe : La Programmation Informatique

Introduction aux bases de données Cours 1 : Généralités sur les bases de données

10. Base de données et Web. OlivierCuré

Point sur les solutions de développement d apps pour les périphériques mobiles

Industrialiser la chaîne complète de fabrication 1ère partie - Les bénéfices de la solution logicielle IBM VisualAge Pacbase / Rational

Transcription:

Compte-Rendu d UV Libre : Système d Information du Bureau Des Etudiants de l INSA de Rouen Réalisé par Maxime Chambreuil maxime.chambreuil@free.fr Encadré par Nicolas malandain nicolas.malandain@insa-rouen.fr 16 janvier 2003

Table des matières 1 Introduction 2 2 Présentation du sujet 3 2.1 Objectif de l UV......................... 3 2.2 Les contraintes techniques.................... 3 2.3 La collaboration......................... 3 3 Déroulement du projet 4 3.1 Analyse de l existant....................... 4 3.1.1 Situation initiale..................... 4 3.1.2 Choix techniques..................... 4 3.2 Conception............................ 5 3.2.1 Conception du schéma de la base de données..... 5 3.2.2 Conception de l application............... 5 3.3 Documentation.......................... 6 3.4 Implémentation.......................... 6 3.4.1 ESQL........................... 6 3.4.2 Logicsheets........................ 6 3.4.3 Database Actions..................... 6 3.4.4 Modular Database Actions............... 7 4 Problèmes rencontrés 8 4.1 Problème de répartition du temps................ 8 4.2 Problème de motivation..................... 8 4.3 Problème de débugguage..................... 8 4.4 Problème de sécurit e....................... 8 4.5 Problème de fonctionnement................... 9 5 Conclusion 10 5.1 Ce que j ai appris......................... 10 5.2 Ce qu il m a manqué....................... 10 5.3 Ce qu il reste à faire....................... 10 1

Chapitre 1 Introduction Le Bureau Des Etudiants de l INSA de Rouen utilise pour la gestion financière de l association plusieurs logiciels propriètaires différents, qui ne répondent pas à l intégralité du besoin. Depuis 2 ans, le BDE utilise déjà un logiciel, développé par une étudiante pour répondre à ce besoin. Cependant, aprés ses 2 années d utilisation, il apparait que certaines fonctionnalités ont été omises et s avèrent nécessaires à l heure actuelle. 2

Chapitre 2 Présentation du sujet 2.1 Objectif de l UV Aprés une utilisation et une analyse approfondie du logiciel existant et ses fonctionnalités, mon objectif était de réaliser le logiciel de vente version 2002. Le produit final doit donc comporter : - Le logiciel proprement dit - La documentation de la conception - La documentation de la réalisation technique - La documentation pour son utilisation, avec un tutoriel Le travail doit aussi se conclure par une formation des étudiants, qui vont utiliser le logiciel. Cette formation permettra de soumettre la documentation destiné aux utilisateurs et de la faire évoluer. Il est intéressant aussi de savoir qui a suivi la formation pour faire une base de connaissances et avoir une transmission sans perte de connaissances, les personnes ne restant que 5 ans. 2.2 Les contraintes techniques Les contraintes techniques se résument surtout à la technologie utiliée pour l implémentation du produit : XML / Cocoon. Je ne les avais jamais utilisé auparavant, on comprend donc aisément les objectifs pédagogiques de cette UV : découvrir un nouvel outil. 2.3 La collaboration Durant ce semestre, de nombreuses UV libres axées sur la technologie XML/Cocoon ont été proposées. Cette technologie étant nouvelle, il s est avéré très formateur de travailler avec les autres membres des UV, malgré le caractére individuel de la mienne. 3

Chapitre 3 Déroulement du projet Voici les différentes phases du projet. 3.1 Analyse de l existant 3.1.1 Situation initiale Le logiciel du BDE v2000 est actuelment installé sur chaque poste de l association, qui n a qu une seule trésorerie. On comprend donc l utilité de centraliser les applications. Le projet a été développé sous Microsoft Access 2000. De plus, de nombreux bugs á l affichage rende l application parfois inutilisable. Le projet n a jamais été documenté, je n ai pas pu travailler à son adaptation et je suis donc reparti de zéro, au niveau implémentation. De toute facon, c était imposé par les contraintes techniques du projet. Par ailleurs, chaque utilisateur avait accés á toutes les données confidentiels á la trésorerie : solde du compte, montant des factures, etc... On avait donc un gros problème de sécurité. 3.1.2 Choix techniques J ai donc décidé d installer le nouveau système sur le serveur Linux Mandrake de l association. L accés à l application se fait par le web grâce à des logiciels légers, répandus et couramment utilisés comme Microsoft Internet Explorer, Netscape ou Mozilla. Comme un serveur web apache est déjà en place sur la machine, j ai du installé un connecteur pour spécifier l application (Apache ou Tomcat) grâce à l URL. Ma préférence s est porté sur les logiciels libres : Le serveur web Tomcat, version 4.1.10 L application web Cocoon, version 2.0.3, utilisant la technologie Java Le Java Development Kit, version 1.4.0 Le connecteur Apache/Tomcat, version 4.1.10 4

Le serveur de base de données PostgreSQL, version 7.2 Le driver JDBC de PostgreSQL, version 2 3.2 Conception La conception s est faite en simultanée avec la lecture de la documentation, que nous étudierons juste après. Le travail de conception s est décomposée en 2 parties : celle du schéma de la base de données et celle de l application. 3.2.1 Conception du schéma de la base de données Au départ, je n avais que pour seul document le schéma physique de la base de données du premier logiciel, générée par Access. Cela m a permis d avoir une bonne idée de la taille de l application à mettre en oeuvre. J ai donc commencé par faire le schéma conceptuel selon le modèle Entités / Associations. J ai un peu perdu du temps à utiliser et à retoucher mon schéma avec un outil de développement peu adéquat : Dia. Par la suite, j ai découvert et apprécié Power Designer 9 grâce à sa version d essai. Une fois que le schéma fut validé, Power Designer m a généré le modéle physique, ainsi que le script sql pour implémenter la base dans le serveur PostgreSQL. 3.2.2 Conception de l application L application a été concu suivant les groupes d utilisateurs : Le trésorier générale Les trésoriers d Amicale de chaque site géographique Les différentes personnes assurants des permanences dans chacun des sites A chaque groupe correspond un pipeline de l application, et à chaque connexion correspond des variables de session : le username, qui va renvoyer sur le pipeline correspondant au groupe ; et le site, qui va permettre à un site de ne pas voir les transactions des autres. Sur chaque pipeline, on peut ainsi spécifier les pouvoirs de chaque utilisateur : insertion dans une table, affichage, mise à jour, etc... L appel de toute page du logiciel implique à une requête sur la base de données : selection, insertion, mise á jour, effacement. Chacune de ses transactions pouvant être sur un ou plusieurs tuples, et sur une ou plusieurs bases. 5

3.3 Documentation Comme je l ai dit précédemment, j ai lu la documentation fourni par M. Malandain pendant la phase de conception. Elle provient principalement d IBM et est disponible à cette adresse : http ://www.ibm.com/developerworks Introduction to Cocoon 2 Working with XSP in Apache Cocoon 2 Build database-driven sites Celle-ci m a permis de mettre en place l environnement de l application, nécessaire pour envisager son implémentation. J ai aussi pu comprendre le fonctionnenement de Cocoon, son mécanisme de génération de page html, son interaction avec les bases de données, son architecture (ou trouver les fichiers de log ou d erreurs, utiles pour le debugguage), etc... Ainsi, j avais en tête toute la théorie sur les différentes technologies à employer : ESQL, Logicsheets, Database Actions, Modular Database Actions ; suivant la problématique de ma page html. 3.4 Implémentation Elle s est faite par ordre croissant des difficultés : 3.4.1 ESQL J ai tout d abord cherché à afficher les données présentes dans ma base. La technologie ESQL s inscrivait idéalement dans cette problématique. J ai ainsi pu me faire la main sur la génération de page et mettre en forme mes résultats en personnalisant la feuille de style fourni par Cocoon, exemple sur lequel je me suis principalement basé. 3.4.2 Logicsheets J ai ensuite envisagé de faire la même chose mais en utilisant la technologie Logicsheets : en déclarant mes propres balises auprés de Cocoon dans le fichier cocoon.xconf. Jusque là, l implémentation s est plutôt bien passé : J ai eu quelques erreurs qui m ont permis de trouver et d utiliser les outils de débugguage : access.log et error.log. 3.4.3 Database Actions A la suite logique de l implémentation, venaient les transactions simples d interaction avec la base : insertion, mise à jour et effacement d un tuple. C est là que c est devenu plus compliqué : durant l exécution d une seule requête (URL), je pouvais avoir des erreurs à plusieurs endroits (sitemap, fichier de description de la base, évaluation des champs du formulaire, etc... 6

De plus, les informations fournis par les fichiers de log ne permettaient pas d en apprendre beaucoup sur les erreurs. Par exemple, j ai eu à de nombreuses reprises des problèmes avec le fichier descripteur de la base, mais je ne savais pas si le fichier comportait une erreur, ou s il ne recevait pas les paramètres de la page html. 3.4.4 Modular Database Actions Je n ai pas eu assez de temps pour faire l implémentation des mod-dba. Ils sont nécessaires à l application, qui comporte plusieurs héritages dans le schéma de la base. Avec les transactions sur plusieurs tables, les mod-dba permettent aussi les transactions multi-tuples, qui seront également bien utile au nouveau logiciel de vente. 7

Chapitre 4 Problèmes rencontrés 4.1 Problème de répartition du temps A mon sens, j ai perdu beaucoup de temps sur la conception de la base de données : mon schéma n a été validé qu à mi-semestre. Ceci m a laissé que trop peu de temps pour le codage, surtout que la technologie m était inconnue. 4.2 Problème de motivation Durant ce semestre, j étais souvent tout seul avec mes problémes. Même si plusieurs étudiants avaient le même type d UV, j ai du concevoir le schéma de la base de données sans dynamique de groupe. Par ailleurs, j allais voir mon tuteur, M. Malandain, tous les 15 jours pour l entendre dire que je ne travaillais pas. Ceci m a découragé et je ne suis plus retourné le voir dés que mon schéma de base était validé. 4.3 Problème de débugguage Ce problème provient principalement du fait que les erreurs sont très mal explicitées. Les sources d information pour le développeur sont peu nombreuses, et souvent mal concues : on vous indique une erreur sur un fichier lors d une compilation intermédiaire du process, et les numéros de ligne fournis ne correspondent pas du tout à celle de votre fichier source, il devient alors périlleux de trouver l erreur. 4.4 Problème de sécurité En effet, l accés à la base de données n est pas sécurisé. Le fonctionnement simultané du logiciel et de l interface web PhpPgAdmin ne permet pas 8

de garantir des conditions de sécurité optimales pour ce genre d application et constitue une faille pour le système. 4.5 Problème de fonctionnement Durant l implémentation, j ai effectué mes tests en requétant sur le port 8080. Or, ce port n est pas accessible depuis les postes clients, les utilisateurs n ont donc pas accés à l application. L installation du connecteur entre Apache et Tomcat aurait pu résoudre ce problème, mais cela n a jamais été une priorité dans l objectif pédagogique de l UV. 9

Chapitre 5 Conclusion 5.1 Ce que j ai appris Cette UV m a permis d appliquer mon cours sur les bases de données, de découvrir un nouvelle technologie web, d être capable de proposer une nouvelle alternative face au langage PHP, d aborder le monde Java par le web. Par ailleurs, apprendre seul, c est démotivant surtout quand ca ne peut pas marcher. 5.2 Ce qu il m a manqué Une 2ème personne m aurait permise d avancer plus rapidement sur chaque partie, de finir les mod-dba et dans un même temps le logiciel. Si la technologie avait été maitrisée, j aurais pu envisager la rédaction des documentations pour les utilisateurs et l administrateur du logiciel. Si l implémentation avait été terminée, j aurais pu prévoir de faire la formation. 5.3 Ce qu il reste à faire Comme je l ai évoqué précédemment, aucune documentation n est en cours de rédaction. Le logiciel ne fonctionne pas et les mod-dba ne marchent pas. Comme le besoin du BDE n est toujours pas satisfait, que la technologie XML/Cocoon demande un gros investissement d apprentissage au départ, je pense redévelopper l application en PHP. Il sera ainsi plus simple aux administateurs successifs du logiciel de maintenir l application. 10