OUTIL de GESTION ADMINISTRATIVE des UE CAHIER DES CHARGES



Documents pareils
Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Architectures web/bases de données

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

Programmation Web. Introduction

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

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

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Architecture et infrastructure Web

Hébergement de site web Damien Nouvel

«Clustering» et «Load balancing» avec Zope et ZEO

Expert technique J2EE

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

Java pour le Web. Cours Java - F. Michel

Introduction MOSS 2007

Hébergement de sites Web

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)

et Groupe Eyrolles, 2006, ISBN :

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

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

Idéalement, une mission alliant XML ou base de données SQL avec des technologies internet et/ou logiciels libres.

Une famille d'applications permettant à toute organisation d'optimiser le suivi et la gestion de ses ressources internes vous présente

Serveur de travail collaboratif Michaël Hoste -

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

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

1. La plate-forme LAMP

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

Développement des Systèmes d Information

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

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

Zope: une plateforme collaborative de développement web open source

Raspberry pi : Développer une petite application web sur Raspberry

Architectures en couches pour applications web Rappel : Architecture en couches

Drupal, pour quel usage? Comment se positionne Drupal? Les fonctionnalités de Drupal et de son écosystème. L'architecture technique et logicielle Le

OFFRE MDB Service & Architecture Technique. MyDataBall Saas (Software as a Service) MyDataBall On Premise

Paul FLYE SAINTE MARIE

Module BD et sites WEB

Programmation Web. Madalina Croitoru IUT Montpellier

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

M Études et développement informatique

TP réseau Android. Bidouilles Tomcat. a) Installer tomcat : il suffit de dézipper l'archive apache-tomcat windowsx64.zip.

Messagerie asynchrone et Services Web

ANALYSTE PROGRAMMEUR DIPLÔME D ÉTABLISSEMENT

Formation en Logiciels Libres. Fiche d inscription

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Introduction au développement SharePoint. Version 1.0

M Études et développement informatique

Single Sign On. Nicolas Dewaele. Single Sign On. Page 1. et Web SSO

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

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

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i

Architectures n-tiers Intergiciels à objets et services web

BTS SIO SISR3 TP 1-I Le service Web [1] Le service Web [1]

WebDAV en 2 minutes. Tous ces objectifs sont complémentaires et ils sont atteints grâce au seul protocole WebDAV. Scénarii

Présentation de l'architecture QlikView. Livre blanc sur la technologie QlikView. Date de publication : octobre

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

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

Visual Paradigm Contraintes inter-associations

Fiche méthodologique Rédiger un cahier des charges

Stages ISOFT : UNE SOCIETE INNOVANTE. Contact : Mme Lapedra, stage@isoft.fr

«clustering» et «load balancing» avec Zope et ZEO

Qu est-ce que ArcGIS?

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin

Ethernet Supervision Interfaces Administration

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

Télécom Nancy Année

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA

Auteur LARDOUX Guillaume Contact Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA

MailStore Server 7 Caractéristiques techniques

PFE Télécommunications. Pré-rapport à l'issue des 6 premières semaines de stage. Page 1 sur 5 1 %

Activité sur Meteor. Annexe 1 : notion de client-serveur et notion de base de données

Sage CRM. 7.2 Guide de Portail Client

WebSSO, synchronisation et contrôle des accès via LDAP

FileMaker 13. Guide ODBC et JDBC

LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS

1/ Présentation de SQL Server :

SITE WEB E-COMMERCE ET VENTE A DISTANCE

Mise en œuvre des serveurs d application

La problématique de la Préservation des Bases de Données. Olivier ROUCHON CINES Groupe PIN Jeudi 7 Octobre

contact@nqicorp.com - Web :

M Études et développement null informatique. R i. Appellations. Analyste cogniticien / cogniticienne informatique

CAHIER DES CHARGES D IMPLANTATION

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

molis result portal Description fonctionnelle La structure système Configuration système requise Architecture du système

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

ECLIPSE ET PDT (Php development tools)

Spécifications de l'offre Surveillance d'infrastructure à distance

DOCUMENTATION ADMINISTRATEUR

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques

Notre Catalogue des Formations IT / 2015

Présentation du relais HTTP Open Source Vulture. Arnaud Desmons Jérémie Jourdin

Infrastructure RDS 2012

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

Système de Gestion de Ressources

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

Qu'est-ce que le BPM?

Yann BECHET 32 ans 8 ans d expérience yann@bechet.org

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Transcription:

OUTIL de GESTION ADMINISTRATIVE des UE CAHIER DES CHARGES ELIAS Éric POUZANCRE Sébastien SOULIE Guillaume ROGER Rémy Encadrants : Mme LIBOUREL Master Informatique Professionnel Année 2006 2007 Université Montpellier II 1

Master Informatique Professionnel Année 2006 2007 Université Montpellier II 2

SOMMAIRE I Présentation II Description des outils utilisés 1) Modèle MVC 2) Apache 3) Langage Python 4) Subversion 5) PostgreSQL 6) aodapi III Déroulement du projet IV Moyens de communication Master Informatique Professionnel Année 2006 2007 Université Montpellier II 3

I Présentation L'objectif principal de ce projet est de réaliser un outil permettant de gérer dynamiquement (en ligne) les inscriptions aux UE du département informatique de l'université Montpellier II. Un responsable d'ue devra pouvoir gérer les intervenants, et les interventions d'une UE proposée par le département, par l'intermédiaire d'un outil de saisie et de modification en ligne. La description de l'ue devant être compatible avec le standard européen, nous nous appuierons sur le modèle du CDM (Cursus Description Metadata). Nous allons donc dans un premier temps devoir nous approprier les outils déjà existant afin de les comprendre dans le but de développer par la suite notre propre outil. L'outil réalisé devant permettre la saisie et la modification de données en ligne, cela nous conduira à étudier : l'architecture d'un Modèle Vue Contrôleur (MVC) le serveur Apache la base de données PostgreSQL le langage Python II Description des outils utilisés 1) Modèle MVC pour la saisie et la modification en ligne des données L'architecture Modèle Vue Contrôleur (MVC) est un motif de conception pour le développement d'applications logicielles qui sépare le modèle de données, l'interface utilisateur et la logique de contrôle. Ce modèle d'architecture impose la séparation entre les données, les traitements et la présentation, ce qui donne trois parties fondamentales dans l'application finale : le modèle, la vue et le contrôleur Le Modèle représente le comportement de l'application : traitements des données, interactions avec la base de données, etc. Il décrit les données manipulées par l'application et définit les méthodes d'accès. la Vue correspond à l'interface avec laquelle l'utilisateur interagit. Les résultats renvoyés par le modèle sont dénués de toute présentation mais sont présentés par les vues. Plusieurs vues peuvent afficher les informations d'un même modèle. Elle peut être conçue en HTML, ou tout Master Informatique Professionnel Année 2006 2007 Université Montpellier II 4

autre «langage» de présentation. La vue n'effectue aucun traitement, elle se contente d'afficher les résultats des traitements effectués par le modèle, et de permettre à l'utilisateur d'interagir avec elles. le Contrôleur prend en charge la gestion des événements de synchronisation pour mettre à jour la vue ou le modèle. Il n'effectue aucun traitement, ne modifie aucune donnée, il analyse la requête du client et se contente d'appeler le modèle adéquat et de renvoyer la vue correspondant à la demande. En résumé, lorsqu'un client envoie une requête à l'application, celle ci est analysée par le contrôleur, qui demande au modèle approprié d'effectuer les traitements, puis renvoie la vue adaptée au navigateur, si le modèle ne l'a pas déjà fait. Un avantage apporté par ce modèle est la clarté de l'architecture qu'il impose. Cela simplifie la maintenance ou l'amélioration sur le projet. En effet, la modification des traitements ne change en rien la vue. Par exemple on peut passer d'une base de données de type SQL à XML en changeant simplement les traitements d'interaction avec la base, et les vues ne s'en trouvent pas affectées. Le MVC montre ses limites dans le cadre des applications utilisant les technologies du web, bâties à partir de serveurs d'applications. Des couches supplémentaires sont alors introduites ainsi que les mécanismes d'inversion de contrôle et d'injection de dépendance. Un Schéma du Model View Controller Master Informatique Professionnel Année 2006 2007 Université Montpellier II 5

2) APACHE pour la publication des données sur le site Le logiciel Apache HTTP Server, souvent appelé Apache, est un serveur HTTP produit par la Apache Software Foundation. C'est le serveur HTTP le plus populaire du Web. C'est un logiciel libre avec un type spécifique de licence, nommée licence Apache. Apache est conçu pour supporter de nombreux modules lui donnant des fonctionnalités supplémentaires : interprétation du langage Perl, PHP et Python, serveur proxy, Common Gateway Interface, Server Side Includes, réecriture d'url, négociation de contenu, protocoles de communication additionnels, etc. Les possibilités de configuration d'apache sont une fonctionnalité phare. Le principe repose sur une hiérarchie de fichiers de configuration, qui peuvent être gérés indépendamment. C'est notamment utile aux hébergeurs Web qui peuvent ainsi servir les sites de plusieurs clients à l'aide d'un seul serveur HTTP. 3) Langage PYTHON pour la publication des données sur le site Python est un langage de programmation interprété, multi paradigme. Il autorise la programmation impérative structurée, orientée objet, et fonctionnelle. Il est doté d'un typage dynamique fort, d'une gestion automatique de la mémoire par ramasse miettes et d'un système de gestion d'exceptions. Le langage Python est placé sous une licence libre et fonctionne sur la plupart des plates formes informatiques. Il est conçu pour optimiser la productivité des programmeurs en offrant des outils de haut niveau et une syntaxe simple à utiliser. 4) Serveur Subversion pour la gestion des versions concurrentes du projet Un gestionnaire de version permet, comme son nom l indique, de gérer les différentes versions d un projet. Il est principalement utilisé pour maintenir le code source ou la documentation d un logiciel, mais on pourrait, en théorie, l employer dans bien d autres domaines, comme par exemple, la conception d un site Web, ou la rédaction d un rapport. Le dépôt Subversion garde en mémoire toutes les versions validées. Il offre ainsi la possibilité de revenir rapidement à un moment particulier du développement, ou de déterminer les différences entre deux versions quelconques. Un gestionnaire de version facilite le travail collaboratif. Plusieurs personnes peuvent en effet travailler en parallèle, et mettre à jour leurs répertoires de travail locaux en fonction des modifications apportées par les autres. Dans le cas de Subversion, le dépôt intègre au mieux les différentes modifications, même si elles portent sur le même fichier. En cas de conflit, par exemple si la même partie du même fichier a été modifiée, le serveur prévient Master Informatique Professionnel Année 2006 2007 Université Montpellier II 6

alors l utilisateur et lui propose plusieurs solutions, comme par exemple, modifier sa version locale, ou celle en ligne. 5) PostgreSQL PostgreSQL est un SGBDR fonctionnant sur des systèmes de type Unix. PostgreSQL est un logiciel libre et gratuit dont les sources sont disponibles. PostgreSQL possède de nombreuses caractéristiques en faisant un SGBDR robuste et puissant digne des SGBD commerciaux : des interfaces graphiques (X-Window est donc nécessaire) pour gérer les tables des bibliothèques pour de nombreux langages (appelés frontaux) afin d'accéder aux enregistrements à partir de programmes une API ODBC permettant à n'importe quelle application supportant ce type d'interface d'accéder à des bases de données de type PostgreSQL PostgreSQL fonctionne selon une architecture client/serveur, il est ainsi constitué d'une partie serveur, c'est-à-dire une application fonctionnant sur la machine hébergeant la base de données (le serveur de bases de données) capable de traiter les requêtes des clients. Il s'agit dans le cas de PostgreSQL d'un programme résident en mémoire appelé postmaster d'une partie client devant être installée sur toutes les machines nécessitant d'accéder au serveur de base de données (un client peut éventuellement fonctionner sur le serveur luimême) 6) aodapi Automatic Object oriented Database Application Program Interface permet de travailler en Python avec toute base de donnée PostgreSQL en conservant une approche objets. L'objectif est de ne plus avoir à manipuler de curseur et de se débarrasser du code SQL à l'intérieur de nos programmes. À chacun des objets est associé un certain nombre de méthodes qui vont permettre de travailler avec la base de données et de programmer plus simplement en Python. Master Informatique Professionnel Année 2006 2007 Université Montpellier II 7

III Déroulement du projet Le travail se découpera en 3 parties, 5 semaines par partie, la première de chaque partie étant réservée à l'apprentissage 1) la modélisation et la création de la base de données 2) la publication des données sur le Web 3) la modification en ligne à l aide de formulaires, avec la gestion des droits Emploi du temps : Semaines S1 (1/01/07) S2 S3 S4 S5 (29/01/07) Cahier des charges Semaines S6 S7 S8 S9 S10 Apprentissage : Subversion + PostgreSQL Partie 1 Partie 1 Partie 1 Partie 1 Semaines S11 S12 S13 S14 S15 Apprentissage : Python + MVC + aodapi Partie 2 Partie 2 Partie 2 Partie 2 Semaines S16 S17 S18 S19 S20 Partie 3 Partie 3 Partie 3 Partie 3 Partie 3 IV Moyens de communication Un serveur Subversion sera mis en place afin de permettre à tous de pouvoir suivre les évolutions des sources, sans avoir de problème de version concurrentes. Ensuite nous utiliserons le moyen classique de l'e mail afin de tenir au courant nos encadrants, des évolutions du projet. Une réunion hebdomadaire est prévu tous les vendredi après midi avec les encadrants. Master Informatique Professionnel Année 2006 2007 Université Montpellier II 8