Projet L3 Système d Information (présentation du projet) Jacky AKOKA - Tatiana AUBONNET Conservatoire National des Arts et Métiers
Contenu Organisation du projet Connexion Internet: CNAM, personnelle, professionnelle Objectifs pédagogiques: réalisation du projet, présentation orale, rapport écrit
Organisation Cours du 5 octobre au 16 novembre Séances de Travaux Pratiques de novembre à février Travaux pratiques par groupe de 3 personnes de novembre à février choix du sujet et bibliographie cahier des charges et planning réalisation du projet Février : présentation orale, selon calendrier Rapport écrit à remettre avant la présentation orale
Objectifs du projet Faire la synthèse des cours Travailler en groupe Tester de nouvelles méthodes de travail: documentation en ligne, FAQ, réutilisation Découvrir les logiciels libres Faire un projet informatique Utiliser une méthodologie (merise, UML)
Projet de travaux pratiques Réalisation d un site web programmé Choix d un thème d approfondissement Manipulation d outils, de langages, de logiciels Bonne compréhension du réseau internet Maîtrise d une interface avec une BD MySQL Utilisation de langages tels que PHP, Javascript, JAVA, XML, etc
Avant le début du projet Connexion aux machines du CNAM Messagerie http: la navigation, telnet: la connexion, ftp: le transfert de fichier Familiarisation avec des sites internet Familiarisation avec les outils de base: Netscape ou Explorer, HTML, etc
Connexion Internet Accès CNAM Login 6 premiers caractères du nom_premier caractère du prénom aubonn_t Mot de passe code en haut à gauche carte CNAM Accès professionnel ou personnel (choisir un provider gratuit: free, freesurf, voilà, etc ) Incoming mail server : POP.cnam.fr Outgoing mail ( SMTP ) server : adresse du courrier chez votre fournisseur, par exemple SMTP.freesurf.fr Outgoing mail server user name : aubonn_t@cnam.fr
Objectifs à atteindre Maîtriser certains aspects techniques du web: interface avec une base de données, programmation PHP, etc Approfondir la conception d un site : contenu, forme, dynamique, gestion, sécurité, etc. Publier l ensemble de la documentation sous forme de site WEB
Avant le début du projet Connexion aux machines du CNAM Messagerie HTTP: la navigation: IE, Netscape, Opera, Mozilla, etc. TELNET: la connexion FTP: le transfert de fichier CuteFTP Familiarisation avec des sites internet Familiarisation avec les outils de base: éditeur HTML, UNIX, moteurs de recherche, etc
Exemple de sujets déjà traités (1) Visualisation de la carte du ciel Organisation des résultats d un moteur de recherche selon divers paramètres Création d un portail associatif avec les outils de gestion du site Définition d un chemin d accès sur un plan Organisation d un site de jeu en ligne
Exemple de sujets (2) Site de formation Site d une organisation humanitaire Site sur la cuisine, le vin Site d une ville, d un théâtre. Agence immobilière, de voyage.
Les catégories de logiciels Logiciel libre: code source disponible Logiciel public: pas de copyright, payant Logiciel copylefté: pas de copyright, gratuit Logiciel GPL Licence publique générale Logiciel GNU= logiciel libre Logiciel semi-libre: usage privé (PGP) Logiciel propriétaire = non libre Logiciel commercial,payant peut-être libre
Thèmes d approfondissement Peer to Peer Sécurité: SPAM, cryptographie Internet et la téléphonie La vidéo sur Internet Les moteurs de recherche évolués Administration de site Les annuaires LDAP Les chats, les forums, les news, les listes de diffusion SPIP, PHP(version 5), etc
Diffusion des informations http://deptinfo.cnam.fr/ Supports Info. d'entreprise NFE104 vous permet d accéder aux : supports des cours CNAM listes des sites intéressants site du Projet 3i
Bases du Web Jacky AKOKA - Tatiana AUBONNET Conservatoire National des Arts et Métiers
Contenu Les bases du Web : architecture,adressage, noms, protocoles Les pages web statiques : HTML Les pages web dynamiques : JavaScript Les services web : basé sur XML
3 générations d application Web 1 Génération Pages Web statiques (HTML) 2 Génération Des applications réelles (Pages Web dynamiques, ASP, JSP, PHP,...) 3 Génération Les Web services (basé sur XML)
L Internet C est un réseau, basé sur les protocoles (de bas niveau),tcp/ip Permet d échanger des données dans un environnement hétérogène Chaque ordinateur est connu par une adresse IP unique ou par son nom cortes.cnam.fr = 163.173.212.26
Le protocole de base est IP chaque station a une adresse (appelée adresse IP ou numéro IP) gestion centralisée de l'affectation des adresses (NIC), pour garantir l'unicité elles sont de la forme A.B.C.D, A, B, C, D étant des entiers décimaux dans l'intervalle [0,255], ABC étant l adresse réseau et D l adresse locale DNS fait le lien entre l adresse IP et le nom de domaine IPV6 l adressage sera modifié pour satisfaire les besoins futurs
Domain Name Service (DNS) Établit une correspondance noms/adresses Jusqu en 1984, tout était centralisé dans un seul fichier hosts.txt! Remplacé par le DNS : une organisation hiérarchique des noms de domaine La gestion du DNS est décentralisée : un sous-domaine est géré par un serveur de nom
Structure du DNS Les serveurs de nom collaborent entre eux pour convertir un nom de machine en adresse IP Domaines:.org.com.net.fr dept25.cnam.fr
Le WEB C est un système d information basé sur l Internet. Ce SI est constitué de «documents», terme à prendre au sens large Ils sont fournis par des serveurs web Ils sont consultés grâce à des clients web Serveurs et clients communiquent par un protocole : HTTP
Fonctionnement du Web Requêtes: documents HTML, PHP, Java, Perl, etc Machine du client: Navigateur (HTML) Machine du serveur: APACHE Communication : HTTP
HTTP (HyperText Transfer Protocol) Protocole d échange d informations propre au Web On ouvre une connexion On envoie un en-tête Puis une ligne blanche Puis éventuellement un contenu Et on ferme la connexion Pas de connexion permanente
Les requêtes HTTP Principaux types de requêtes : GET : on demande quelque chose au serveur GET /index.html HTTP/1.0 POST : on envoie quelque chose au serveur POST /cgi-bin/prog.php HTTP/1.0 HEAD : on demande des infos sur un document
Les réponses HTTP En-tête/ligne blanche/contenu : Date: Tue, 21 Oct 2001 20:39:56 GMT Server: Apache/1.3.17 (Unix) mod\_jk PHP/4.0.2 Last-Modified: Tue, 05 Jun 2003 20:13:39 GMT Content-Length: 159 Connection: close Content-Type: text/html <HTML><HEAD> <TITLE>Page d accueil</title></head> <BODY><H1>Paged accueil</h1> </BODY></HTML>
Informations d une réponse HTTP Dans l en-tête : le type de contenu Content-type indique si le contenu est du HTML, du GIF,du PDF, du XML... la longueur du contenu (permet de savoir combien de temps ça va prendre) la date de dernière modification (pour gérer le cache) éventuellement des cookies
Le client (navigateur) Le programme client est en charge du rendu des documents Il dialogue avec le serveur: lui demande des documents Lui fournit des informations (paramètres, fichiers) Il communique les documents à l utilisateur (textes, images, sons)
Le programme serveur C est un démon (Unix) ou un service (NT) Il est en écoute permanente sur un port réseau (en général le port 80) Il reçoit, analyse les requêtes de clients web Il transmet en retour un document résultat de la requête
Adressage de documents : les URL URL (Universal Resource Location) Syntaxe générale: p://ms[:port]/chemin/document?args p : le protocole: http, ou autre ms : le nom ou adresse IP du serveur port : port d écoute chemin : arborescence des répertoires pour accéder au document document : nom du document args : liste de paramètres
Exemples d URL http://localhost/ Projet3I/WEB/ExHTML1.html Le document est dans le sous-répertoire WEB du répertoire racine de projet3i (ex.:/home/projet3i/public_html) Un langage de présentation de documents: Des balises intégrées dans le texte indiquent le formatage souhaité. C est le navigateur qui détermine la présentation finale Les ancres Certaines parties du texte donnent accès à d autres documents
Documents hypertextes : HTML HTML (Hypertext Markup Language) Un langage de présentation de documents des balises intégrées dans le texte indiquent le formatage souhaité c'est le navigateur qui détermine la présentation finale Les ancres certaines parties du texte donnent accès à d'autres documents navigation vs lecture séquentielle
Un document HTML <HTML> <HEAD> <TITLE>Un exemple de document HTML</TITLE> </HEAD> <BODY BGCOLOR="white"><!-- Ceci est un commentaire --> <CENTER><H1>Mon premier document HTML</H1> </CENTER> Je tape du texte <B>n importe comment</b> </BODY> </HTML> http://localhost/~aubonnet/exhtml1.html
Programmation client : JavaScript (1) C est un langage interprété par le navigateur initialement proposé par Netscape repris (avec des différences) par Internet Explorer Plus ou moins normalisé par le W3C sous le nom d ECMA- Script Rôle de JavaScript : rendre plus interactive l interface HTML
JavaScript (1) Chaque fois qu il faut répondre aux actions de l utilisateur sans retourner au serveur, pour faire un calcul en local pour contrôler une zone de saisie pour afficher un message pour piloter l interface du navigateur (fenêtres, menus déroulant) Gros souci : la compatibilité avec les navigateurs
JavaScript (2) Très utile pour animer les pages HTML De préférence, chercher des ressources existantes sur le Web Exemple de menus Gros souci : compatibilité des navigateurs
Vers les nouvelles technologies Procédural Orienté objet Orienté composants de services Orienté model Procédures, (C, Pascal) Objets, Classes, (java, C++) Package, Patterns, Frameworks (java) métamodèle, UML, XML Le raffinement procedural La composition objets La transformation de modèles Développement du logiciel
LES SERVICES WEB Qu est ce que c est un service Web : Un service Web est une «unité logique applicative» accessible en utilisant les protocoles standard d Internet Une «librairie» fournissant des données et des services à d autres applications. Ils combinent les meilleurs aspects du développement à base de composants et du Web. Ils s appuient sur un ensemble de standards (WSDL, SOAP et UDDI)
Les quatre principales technologies des Services Web Langage XML : Décrit les informations Protocole SOAP : Exécute les services à distance Langage WSDL : Décrit l interface des services Annuaire UDDI : Trouve les services dont on a besoin
LES SERVICES WEB résultat Conteneur du service (UDDI) recherche publication interrogation Client Fournisseur réponse
Caractéristiques Les Web services sont réutilisable Indépendamment de : la plate-forme (UNIX, Windows, ) leur implémentation (Java, C++, Visual Basic, ) l architecture sous-jacente (.NET, J2EE, )
Création d'un Service Web SOAP UDDI (Universal Description, Discovery and Integration) WSDL (Web Service Description Language ) SOAP(Simple Object Access Protocol)
Protocole SOAP (Simple Object Access Protocol) Protocole de transport réseaux Utilisation conjointe de XML et HTTP Il est particulièrement utile pour exécuter des dialogues requêteréponse RPC (Remote Procedure Call) Permet à un client d'invoquer un service distant SOAP a été construit pour pouvoir être aisément porté sur toutes les plates-formes et les technologies
Structure d un message SOAP SOAP Message HTTP Headers SOAP Envelope SOAP Header Headers SOAP Body Method Call & Data Le message SOAP Complet Entête standard HTTP et entête SOAP HTTP Enveloppe Entête Entête individuelle Corps qui contient les appels de méthodes SOAP Appel de méthode et description en XML de données
Langage WSDL WSDL (Web Service Description Language ) est un langage qui permet de décrire: un service Web, et comment l invoquer Objectif : Décrire les services comme un ensemble d opérations et de messages abstraits relié à des protocoles et des serveurs réseaux Permet de décharger les utilisateurs des détails techniques de réalisation d un appel WSDL est un langage qui standardise les schémas XML utilisés pour établir une connexion entre émetteurs et récepteurs.
Structure de WSDL : <?xml version="1.0" encoding="utf-8"?> <definitions> <types>!--abstract data types</types> <message>!--message structure</message> <porttype>!--web Service Interface</portType> <binding>!--how the service is accessed</binding> <service>!--who provides the service</service> </definitions>
Concepts de WSDL (1) WSDL définit : Les types Contient les définitions de types utilisant un système de typage. Utilisation de XML Schema pour définir les types de données. Le message Décrit les noms et types d un ensemble de champs à transmettre. Peut-être comparé aux paramètres d'un appel de procédure. Les types de port (port Type) Décrit un ensemble d opérations. Peut être comparé à une interface Java.
Eléments de WSDL (2) La Liaison (binding) Définit le format des messages et le protocole utilisé par chaque type de port Le port un point de terminaison identifié de manière unique par la combinaison d'une adresse Internet et d'une liaison Un Service Une collection de points d entrée (endpoint) relatifs.
UDDI (Universal Description, Discovery and Integration) Annuaire mondial d'entreprises basé sur le Web Il permet d'automatiser les communications entre prestataires, clients, etc.. Très orienté «affaires» (vente, prestation) Accessible grâce à SOAP Intégrant toutes sortes d'entrées (nom, carte d'identité des sociétés, description des produits et des services, etc.),
Structure des données UDDI Qui : Le nom de l entreprise, les contacts... Quoi : Les classes, les noms des services Où : Les adresses d accès aux services Comment : Les informations concernant les interfaces, les propriétés
Annuaires UDDI en ligne uddi.microsoft.com www.ibm.com/services/uddi uddi.hp.com uddittest.sap.com...
LES SERVICES WEB / Avantages o les services Web fournissent l'interopérabilité entre divers logiciels fonctionnant sur diverses plateformes, o les services Web utilisent des normes et protocoles ouverts, o la raison principale pour laquelle des services Web sont employés semble être qu'ils se fondent sur le port 80/TCP de HTTP (passe les firewalls).
LES SERVICES WEB / Inconvénients o l'utilisation du protocole HTTP, permet de contourner les mesures de sécurité mises en place au travers des firewalls, o normes de sécurité pour les services web inexistantes ou toujours dans leur petite enfance comparée CORBA, o performances faibles comparée à d'autres approches de l'informatique répartie telles que le RMI, CORBA, ou DCOM.
Conclusion le Web est conçu pour : transmettre les documents (HTTP) inclure dans ces document des directives de mise en forme (HTML) accéder à d'autres documents de façon transparente (URL) permet d'exécuter les services à distance (services web)
Références Philippe Rigaux, son livre: Les bases de MySQL et PHP, Editions O Reilly http://www.commentcamarche.net Le site du consortium w3c : http: // www.w3c.org Les documents de référence sur HTTP,HTML, CSS, XML, XHTML, etc Publiés sous la forme de Request for Comments (RFC). Certains ont acquis le statut de norme par exemple HTML 4.0 à consulter régulièrement
Références / services Web Services Web : Spécifications officielles : http://www.w3c.org Documentations et exemples en ligne : http://www.xmlbus.com http://lfe.developpez.com/webservice http://www.softeam.fr/technologies_web_services.php SOAP : Spécification SOAP 1.1 : http://www.w3c.org/tr/soap Spécification SOAP 1.2 : http://www.w3c.org/tr/soap12 Implémentations : http://www.soapware.org Exemples en ligne : http://soapclient.com/soaptest.html WSDL : Web Services Description Language (WSDL) 1.1 : http://www.w3.org/tr/wsdl UDDI : Spécification : http://www.uddi.org Serveur UDDI : http://uddi.microsoft.com et http://uddi.ibm.com