Architecture informatique
Transcription
Architecture informatique
ARCHITECTURE INFORMATIQUE 2005 AVERTISSEMENT CET OUVRAGE CONTIENT DES REPRODUCTIONS EFFECTUEES PAR L'IGPDE AVEC L'AUTORISATION DU CENTRE FRANÇAIS D'EXPLOITATION DU DROIT DE COPIE (CFC). TOUTE NOUVELLE REPRODUCTION EST SOUMISE A L'AUTORISATION PREALABLE DU CFC . SOMMAIRE PREAMBULE .................................................................................................................................. 7 PRINCIPES GENERAUX ............................................................................................................ 10 1. Système d’information ......................................................................................................................... 10 1.1. Définition...................................................................................................................................... 10 1.2. Système de production transactionnel .......................................................................................... 10 1.3. Système de diffusion..................................................................................................................... 11 1.4. Comparaison système transactionnel-décisionnel......................................................................... 12 2. Architecture informatique................................................................................................................... 12 2.1. Architecture centralisée ................................................................................................................ 12 2.2. Architecture distribuée.................................................................................................................. 13 3. Evolutions vers l’architecture distribuée ........................................................................................... 18 3.1. Evolutions technologiques............................................................................................................ 18 3.2. Evolution des débits de transmission............................................................................................ 19 3.3. Evolution vers les systèmes ouverts ............................................................................................. 19 3.4. Internet.......................................................................................................................................... 19 3.5. Orientation objet ........................................................................................................................... 20 ARCHITECTURE PHYSIQUE ................................................................................................... 21 1. Définition............................................................................................................................................... 21 2. Modèles standards................................................................................................................................ 21 2.1. Modèle OSI................................................................................................................................... 21 2.2. Modele TCP/IP ............................................................................................................................. 28 2.3. Organismes de standardisation ..................................................................................................... 37 3. Réseau ................................................................................................................................................... 38 3.1. Principes généraux........................................................................................................................ 38 3.2. Réseau physique ........................................................................................................................... 45 3.3. Réseau local.................................................................................................................................. 53 3.4. Réseau sans fil .............................................................................................................................. 56 3.5. Réseau longue distance................................................................................................................. 57 3.6. Offre France Télécom................................................................................................................... 64 4. Système d’exploitation ......................................................................................................................... 66 4.1. Définition...................................................................................................................................... 66 4.2. Capacités....................................................................................................................................... 68 4.3. Poste client.................................................................................................................................... 69 4.4. Serveur.......................................................................................................................................... 78 4.5. Logiciel libre................................................................................................................................. 86 ARCHITECTURE TECHNIQUE................................................................................................ 91 1. Modélisation.......................................................................................................................................... 91 2. API......................................................................................................................................................... 93 2.1. Définition...................................................................................................................................... 93 2.2. Objectifs........................................................................................................................................ 93 3. Services de distribution........................................................................................................................ 94 Toute reproduction même partielle interdite IGPDE page 3 Préambule 3.1. 3.2. 3.3. 3.4. EDI ............................................................................................................................................... 94 Messagerie.................................................................................................................................... 96 Transfert de fichier ..................................................................................................................... 105 Web http ..................................................................................................................................... 105 4. Services d'annuaire ............................................................................................................................ 106 4.1. Caractéristiques .......................................................................................................................... 106 4.2. X.500 .......................................................................................................................................... 108 4.3. DNS ............................................................................................................................................ 109 4.4. UDDI .......................................................................................................................................... 110 4.5. NDS ............................................................................................................................................ 111 4.6. Active Directory ......................................................................................................................... 111 5. Communication inter application ..................................................................................................... 111 5.1. RPC ............................................................................................................................................ 111 5.2. MOM .......................................................................................................................................... 111 5.3. Objets distribués ......................................................................................................................... 112 5.4. SOAP.......................................................................................................................................... 113 ARCHITECTURE APPLICATIVE PHYSIQUE ..................................................................... 114 1. Modélisation ....................................................................................................................................... 114 1.1. Description ................................................................................................................................. 114 1.2. Modèle maître/esclave ................................................................................................................ 114 1.3. Modèle hiérarchique ................................................................................................................... 114 1.4. Modèle d’égal à égal................................................................................................................... 114 1.5. Modèle client/serveur ................................................................................................................. 116 1.6. Client/Serveur Web .................................................................................................................... 120 2. Données ............................................................................................................................................... 141 2.1. Définition.................................................................................................................................... 141 2.2. Représentation ............................................................................................................................ 142 2.3. Modèles ...................................................................................................................................... 142 2.4. SQL ............................................................................................................................................ 149 2.5. SGBD ......................................................................................................................................... 150 3. Transactions ....................................................................................................................................... 153 3.1. Définition.................................................................................................................................... 153 3.2. Moniteur transactionnel.............................................................................................................. 154 4. Objets .................................................................................................................................................. 155 4.1. Définition.................................................................................................................................... 155 4.2. Composant.................................................................................................................................. 157 4.3. Serveur d’application.................................................................................................................. 162 5. Technologies fédératrices .................................................................................................................. 163 5.1. Infrastructure de travail en groupe.............................................................................................. 163 5.2. Infrastructure d’aide à la décision............................................................................................... 164 5.3. Internet........................................................................................................................................ 171 5.4. EAI ............................................................................................................................................. 190 5.5. ERP............................................................................................................................................. 192 5.6. CRM ........................................................................................................................................... 192 5.7. SCM............................................................................................................................................ 193 5.8. ASP............................................................................................................................................. 193 5.9. GED............................................................................................................................................ 194 5.10. SIG.............................................................................................................................................. 195 ARCHITECTURE APPLICATIVE LOGIQUE ....................................................................... 196 1. Objectif................................................................................................................................................ 196 page 4 Toute reproduction même partielle interdite IGPDE Préambule 1.1. 1.2. 1.3. 2. Application fonctionnelle ........................................................................................................... 196 Fonction commune ..................................................................................................................... 196 Typologie des applications ......................................................................................................... 196 Décomposition du système d’information ........................................................................................ 197 2.1. Urbanisation des fonctions du SI ................................................................................................ 197 2.2. Architecture serveur logique....................................................................................................... 198 2.3. Architecture Service ................................................................................................................... 198 SECURITE ................................................................................................................................... 200 1. Introduction ........................................................................................................................................ 200 2. Analyse de risque................................................................................................................................ 200 2.1. Classification des risques............................................................................................................ 200 2.2. Menace passive........................................................................................................................... 200 2.3. Menace active ............................................................................................................................. 200 2.4. Méthodes d’analyse de risques ................................................................................................... 202 3. Approche globale................................................................................................................................ 204 3.1. Politique de sécurité.................................................................................................................... 204 3.2. Sécurité matérielle ...................................................................................................................... 204 3.3. Sécurité logique .......................................................................................................................... 205 3.4. Sécurité réseau ............................................................................................................................ 208 4. Services et mécanismes ...................................................................................................................... 209 4.1. Services....................................................................................................................................... 209 4.2. Mécanismes ................................................................................................................................ 210 5. Détection d’intrusion.......................................................................................................................... 216 5.1. Introduction ................................................................................................................................ 216 5.2. Classification des systèmes de détection d'intrusions ................................................................. 216 5.3. Agents mobiles ........................................................................................................................... 217 6. Législation française .......................................................................................................................... 218 6.1. Cadre général.............................................................................................................................. 218 6.2. Finalités ...................................................................................................................................... 218 6.3. Régimes ...................................................................................................................................... 218 6.4. Application des régimes.............................................................................................................. 218 6.5. Dématérialisation........................................................................................................................ 218 6.6. SSL ............................................................................................................................................. 220 6.7. HTTPS ........................................................................................................................................ 221 6.8. SHTTP ........................................................................................................................................ 221 6.9. SMIME ....................................................................................................................................... 221 6.10. TLS ............................................................................................................................................. 222 6.11. IMAPS, POPS ............................................................................................................................ 222 6.12. SMTP/TLS.................................................................................................................................. 222 6.13. PGP............................................................................................................................................. 223 GLOSSAIRE LEXICAL ............................................................................................................. 224 Toute reproduction même partielle interdite IGPDE page 5 Préambule PREAMBULE Le monde informatique est en perpétuelle évolution technologique et conceptuelle. Il véhicule un brouillard de termes et sigles plus ou moins "ésotériques" (infocentre, travail collaboratif, gestion de flux, gestion de la connaissance, SQL, architecture N-Tiers, etc.) qui font référence à des concepts ou à des technologies disponibles de plus en plus évoluées. Or, le besoin depuis l'apparition de l'informatique n'a pas changé: il s'agit de spécifier, développer, maintenir et exploiter des systèmes d'information qui répondent aux besoins métier d'une organisation et cela de manière cohérente, fiable et robuste. Les composants des systèmes modernes sont désormais distribués. Il s’agit de les identifier et positionner les uns par rapport aux autres, de déterminer les interactions des différentes couches d’architecture informatique pour retrouver un niveau de compréhension acceptable ou pour le moins suffisant pour appréhender les dimensions pertinentes à retenir au moment de la conception et du développement d’un système d’information. A l’origine, le terme architecture était employé en programmation et correspondait à une description d’un système d’ordinateur, il s’agissait de la « structure conceptuelle d’un ordinateur, vue du programmeur ». En fait, il n’y a pas de définition universellement acceptée de la notion d’architecture. Elle concerne essentiellement la gestion du développement de systèmes complexes. Elle se concentre sur la définition au plus tôt dans le cycle de développement des fonctionnalités requises, documente ces besoins et réalise la synthèse de conception du système pris dans sa globalité : performances, construction, coût et planification, qualité, formation et mise à disposition. D'où une définition possible est : « Une architecture est une description, au besoin selon plusieurs points de vue, de l'organisation des composants, de leurs connexions et de leurs dynamiques et guides permettant la mise en place des réponses aux exigences du client concernant un système et son évolution dans le temps.» L’architecture intègre toutes les disciplines et groupes de spécialistes sous la même coupe, employant une méthode de conception structurée qui facilite les transitions de la conception, à la production jusqu’à l’exploitation de manière ordonnée. L’architecture considère à la fois les besoins métier et techniques pour tous les « clients » (utilisateurs et informaticiens) tout en minimisant les risques. Dans ce cadre, cet ouvrage est articulé suivant les couches présentées sur la figure ci-dessous. Elles seront détaillées dans le sens ascendant de la figure : du plus concret au plus abstrait, du plus physique au plus logique. Les couches d’architecture informatique sont étudiées sous l’angle des trois types d’utilisateur d’un système d’information : ♦ l’utilisateur final de l’application ; ♦ l’exploitant du système ; ♦ le développeur de l’application. L’architecture physique correspond principalement aux matériels (serveurs, postes de travail, équipements réseau), systèmes d’exploitation (Windows, Unix, Linux, etc.) et services de communication jusqu’à la couche 4 du modèle OSI de l’ISO (TCP-IP, X.25, etc.). 2005 Toute reproduction même partielle interdite IGPDE page 7 Préambule L’architecture technique comprend les services des couches 5 à 7 du modèle OSI de l’ISO, notamment les services de distribution (messagerie SMTP, X.400, transfert de fichier FTP, web http, etc.) et les services d’annuaire (X.500, LDAP, etc.). L’architecture applicative physique comprend principalement les traitements, les données, les objets et les gestionnaires associés de données (SGBD), de transactions (moniteur transactionnel) et d’objets (serveur d’application). L’architecture applicative logique correspond à la structuration de l’application en composants fonctionnels qui seront ensuite répartis sur les couches d’architecture sous-jacentes. Il s’agit de la partie spécification de l’architecture. Les référentiels d’administration, de sécurité et de développement consistent en un ensemble de règles définissant le cadre méthodologique et le contexte opérationnel applicable (outils) à l’ensemble des acteurs afin de guider en permanence les travaux de développement, de maintenance, d’administration et de sécurité. L’environnement correspond à l’ensemble des moyens matériels et logiciels qui permettent de réaliser les tâches, de produire et de manipuler les objets. Quelle que soit l’infrastructure mise en place, il est possible de schématiser le réseau par le modèle présenté ci-dessous qui fait apparaître trois niveaux hiérarchiques : les serveurs centraux au niveau global, les serveurs décentralisés au niveau intermédiaire et les postes de travail au niveau local. Ce schéma très général est applicable à la plupart des grandes entreprises. Les chapitres suivants permettront de décrire les différentes couches associées à l’infrastructure de base illustrée par cette figure. page 8 Toute reproduction même partielle interdite IGPDE 2005 Préambule 2005 Toute reproduction même partielle interdite IGPDE page 9 Principes généraux PRINCIPES GENERAUX 1. SYSTEME D’INFORMATION 1.1. DEFINITION La définition du système d’information est la suivante : « Le système d'information, à ne pas confondre avec le système informatique, est constitué d'informations, d'événements et d'acteurs inter-réagissant suivant des processus utilisant des technologies de traitement de l'information, plus ou moins automatisées. » Cette définition s’applique à des organismes, tels que les entreprises, les administrations, les états, qui utilisent les technologies de l’information dans un but de meilleure efficacité au service d’objectifs directement liés à leur finalité. Ainsi, un système d'information modélise un ou plusieurs objets du monde réel comme des comptes bancaires, des textes juridiques, etc. Cette modélisation reprend les propriétés des objets, les relations entre ces objets et les opérations sur ces objets. Un système d'information permet donc de gérer l'information et de la diffuser. Il y a deux types d'opération ou procédure d'accès sur les objets : ♦ des opérations d'écriture qui reflètent une évolution du monde réel ; ♦ des opérations de lecture qui permettent de sélectionner des objets et d'afficher leurs propriétés. Un système d'information qui permet aux utilisateurs d'enregistrer et de visualiser le plus fidèlement possible l'évolution du monde réel est un système de production. Un système d'information qui permet aux utilisateurs de sélectionner des objets et d'afficher leurs caractéristiques est un système de diffusion. Un système d'information complet comprendra souvent à la fois une partie production et une partie diffusion, parfois intimement liées. 1.2. SYSTEME DE PRODUCTION TRANSACTIONNEL Ce type de système est le plus connu et le plus utilisé par les applications. Un système transactionnel réalise les fonctions traditionnelles d’un système de traitement des données métier, telles que le paiement et la facturation. Le traitement transactionnel est relatif aux activités fondamentales (la transaction) d’une organisation. Le système de saisie de données reflète ces transactions et les rend disponibles pour d’autres applications et pour le personnel de l’organisation. Une caractéristique clé réside dans le lien entre l’utilisateur et le système : celui-ci est interactif. Les nouveaux enregistrements et les mises à jour sont rentrés interactivement plutôt que stockés et entrés en différé. Les traitements consistent souvent en des opérations simples sur un large volume de données. page 10 Toute reproduction même partielle interdite IGPDE 2005 Principes généraux 1.3. SYSTEME DE DIFFUSION 1.3.1. Description Un système de diffusion est composé fonctionnellement de 4 parties : ♦ un système d'alimentation qui permet d'entrer l'information et de l'attribuer à un groupe d'utilisateurs autorisés ; ♦ un système de recherche qui permet à l'utilisateur d'identifier l'information souhaitée ; ♦ un système de visualisation/rapatriement qui permet de visualiser l'information sur le poste de travail; l'information doit être intégrable à d'autres informations ; ♦ un système d'administration assurant le contrôle d'accès, la disponibilité et la facturation. 1.3.2. Système décisionnel ou infocentre Un infocentre est un système de diffusion qui participe à un processus de décision de l’entreprise qui lui permet d'extraire l'information sous forme synthétique et pertinente au départ d'un grand volume de données. Ce type de système contient un nombre important de données souvent liées à une chronologie. Ces systèmes sont orientés vers l'exploitation de masses de données importantes par l'utilisateur final. DSS Un système DSS (Decision Support System) appelé aussi Système d’Aide à la Décision (SAD) sert à analyser les données et à créer des états. Les utilisateurs peuvent préparer des requêtes complexes, effectuer des simulations, chercher des corrélations, établir des graphes et les intégrer dans des feuilles de calcul ou des documents de traitement de texte. EIS L’EIS (Executive Information System) ou système d'information de pilotage est plus puissant, plus facile d'emploi et plus spécifique que le SAD. L'EIS ou tableau de bord de l'entreprise, constitue l'interface entre l'utilisateur et des bases de productions agrégées. L'EIS offre d’une part des vues synthétiques de l'entreprise et d’autre part des fonctions prospectives de simulation. Les outils de requête pour l'extraction des données à partir de différentes bases et leur consolidation sous formes d'agrégats permettent un développement rapide et efficace. L'EIS s'intègre dans l'environnement Bureautique (traitement de texte et tableur) de l'utilisateur. OLAP Le multidimensionnel constitue l'un des concepts clés des infocentres. Il se manifeste dans l'interface utilisateur par des fonctions de visualisation mais il concerne aussi les composants logiciels qui alimentent la base de données. Cette dernière est souvent construite selon un modèle multidimensionnel, adapté aux traitements selon plusieurs axes de recherche. 2005 Toute reproduction même partielle interdite IGPDE page 11 Principes généraux Data mining Les statistiques et les outils de Data Mining permettent de concevoir ou de découvrir des modèles, des relations à partir d’un ensemble de données, en les segmentant, en les corrélant, ou encore en permettant d’extrapoler, de prédire ou de prévoir. Le terme de Data Mining désigne des systèmes permettant à un utilisateur "métier" d'extraire de la connaissance de ses données. Le Data Mining va explorer les données et remonter de l'information non prévisible à l'utilisateur. 1.4. COMPARAISON SYSTEME TRANSACTIONNEL-DECISIONNEL CARACTERISTIQUES BESOIN TRANSACTIONNEL BESOIN DECISIONNEL Type d’utilisateur • personnel de production • traqueur d'information Fréquence de mise à jour • valeur des données à jour • valeur des données stables pendant une certaine période Fréquence des accès aux données • continue durant la période de • sur demande des utilisateurs, des travail, des pics de charge peuvent analystes et des dirigeants survenir Format des données • données capturées brutes • multiples niveaux de conversion, filtrage, agrégation et extraction Origine des données • une application unique • sources multiples, dont données d'archives Connaissance de la source des données • oui, l'essentiel provient d'une application • non, les données proviennent de diverses bases de données Régularité des prélèvements • non, données continues, une seule version • oui, on peut fixer la date/heure du prélèvement Droits d’accès sur les données • la valeur en cours est continuellement mise à jour • lecture seule Souplesse d'accès • faible: accès via des procédures ou des programmes figés • grande: utilisation de générateurs de requêtes Performances • la rapidité des réponses est impérative: les tâches sont répétitives et très automatisées • relativement lent Besoins en données • bien compris • flous, travail de recherche important 2. ARCHITECTURE INFORMATIQUE 2.1. ARCHITECTURE CENTRALISEE 2.1.1. Description Une architecture centralisée correspond principalement à une architecture où tous les traitements et les données sont centralisés à l’exception de la partie visualisation de l’interface utilisateur et des page 12 Toute reproduction même partielle interdite IGPDE 2005 Principes généraux impressions locales. Cependant, stricto sensu, une architecture dite centralisée peut l’être à plusieurs niveaux. Ordinateurs centralisés Un ou plusieurs ordinateurs sont installés sur un même site : on parle alors d’ordinateurs centraux. Traitements centralisés Toutes les applications tournent sur les ordinateurs centraux. Cela correspond aux applications qui adressent des besoins communs à toute l'entreprise ou des applications mettant en œuvre des services de support horizontaux pour une unité organisationnelle. Données centralisées Toutes les données sont stockées dans des fichiers ou des bases de données sur les ordinateurs centraux. Il s’agit des données utilisées par une ou plusieurs unités organisationnelles. Personnel informatique centralisé Toutes les personnes qui développent, maintiennent et exploitent se trouvent sur le site central. 2.1.2. Avantages/inconvénients de l'architecture centralisée AVANTAGES INCONVENIENTS Il n’est pas nécessaire d’affecter du personnel La montée en puissance est onéreuse. informatique dans les différentes unités Le besoin d'un nouvel ensemble d'applications organisationnelles de l'entreprise. implique généralement l'achat d'un nouvel La direction peur exercer son contrôle sur les équipement majeur ou la mise à niveau d'un achats de matériels et logiciels informatiques et logiciel majeur. Cela implique des coûts significatifs. réaliser ainsi des économies d’échelle. Le contrôle de la mise en œuvre des standards De plus, une modification majeure peut requérir de programmation, de sécurité, etc. est facilité. la conversion ou la reprogrammation des applications existantes, avec le risque d'erreur et de dégradation de performance. 2.2. ARCHITECTURE DISTRIBUEE 2.2.1. Définition Une architecture distribuée est soit constituée habituellement d'ordinateurs moins puissants que pour les architectures centralisées, soit formée d'un site central associé à des sites satellites possédant des ordinateurs de nature diverse. Il est fréquent que l'ensemble des composants du système soit distribué sur toute l’infrastructure. 2005 Toute reproduction même partielle interdite IGPDE page 13 Principes généraux 2.2.2. Applications distribuées Une application peut être distribuée selon la répartition des fonctions applicatives : ♦ une application divisée en composants qui sont dispersés à travers plusieurs machines ; ♦ une application répliquée sur plusieurs machines ; ♦ plusieurs applications distribuées sur plusieurs machines. 2.2.3. Données distribuées Une base de données distribuée correspond à des sous-ensembles de données dispersés sur plusieurs ordinateurs. Objectifs Les objectifs de la distribution d’une base de données sont : ♦ Répondre à un besoin structurel: une conception distribuée peut refléter une structure organisationnelle ou une fonction ; ♦ Réduire les coûts de communication ; ♦ Réduire le temps de réponse et augmenter la disponibilité des données ; ♦ Offrir des possibilités de secours rapide en cas d'indisponibilité d'un serveur ; ♦ Réduire la charge des systèmes. Types de distribution Il existe deux types de distribution des données : ♦ Base de données répliquées: tout ou partie de la base de données est copiée sur au moins deux ordinateurs. ♦ Base de données partitionnées: la base existe comme un ensemble de segments distincts qui sont dispersés sur plusieurs ordinateurs. page 14 Toute reproduction même partielle interdite IGPDE 2005 Principes généraux Comparaison des types de distribution Type de répartition Avantages Inconvénients Données centralisées ♦ pas de duplication de données ♦ conflit d'accès pour les accès simultanés aux données ♦ faible réorganisation exigée ♦ dans le cas des bases de données importantes, les temps de réponse peuvent être longs, sauf à prévoir une puissance maximum des machines ♦ en cas de panne disque, tous les systèmes sont bloqués sauf à prévoir des mécanismes de sécurité importants (haute disponibilité) Données répliquées ♦ chaque système accède les ♦ coût de stockage des données élevé données sans concurrence dû à la duplication extensive des avec les autres systèmes données ♦ temps de réponse court ♦ les mises à jour d'une copie doivent être répercutées sur les autres ♦ pendant une panne disque, copies une copie peut être obtenue ♦ les coûts de réorganisation des bases sont importants Données partitionnées ♦ pas de duplication de données ♦ la vision globale de la gestion des d'où des coûts de stockage données nécessite une coordination minimisés des bases de données ♦ temps de réponse court 2005 Toute reproduction même partielle interdite IGPDE page 15 Principes généraux 2.2.4. Avantages/inconvénients de l’architecture distribuée Avantages Inconvénients Test et diagnostics de panne plus complexe Réactivité Les infrastructures locales peuvent être bâties de Particulièrement quand il y a un haut degré manière à répondre plus directement aux besoins d'interaction entre les éléments du système distribué, il est difficile de déterminer la cause de d'une unité organisationnelle locale. la panne et des dégradations de performance. Disponibilité Accroissement de la dépendance vis à vis des technologies de communication Avec de multiples systèmes interconnectés, la perte d'un système devrait avoir un impact Pour être efficace, un système distribué doit être minimum. Les systèmes clés peuvent être interconnecté par des services de communication et de réseau. Ces services deviennent critiques répliqués pour un secours éventuel. pour l'activité opérationnelle quotidienne de l'organisation. Correspondance à des modes organisationnels Incompatibilité au niveau des équipements Beaucoup d'organisations emploient des Les équipements et les logiciels de différents structures décentralisées avec des politiques et fournisseurs peuvent ne pas communiquer facilement, voire ne pas inter-opérer. des structures opérationnelles adaptées. Partage de ressource Incompatibilité au niveau des données Des matériels à coût élevé peuvent être partagés par plusieurs utilisateurs. Des données peuvent être gérées et maintenues centralement avec des accès de toute l'organisation. Les services de support, les programmes et les bases de données peuvent être développés sur la base de l'organisation entière et distribués sur les sites délocalisés. De manière similaire, les données générées par une application peuvent ne pas être utilisables en l'état par d'autres applications. L'utilisateur doit restreindre ses applications à celles pour lesquelles elles sont standardisées. Croissance incrémentale Administration du réseau Il est possible de remplacer les systèmes ou les applications graduellement, en évitant l'approche "tout ou rien". De plus, les anciens équipements peuvent être utilisés sur le site local pour tourner une seule application si le coût de migration de l'application vers un nouveau système n'est pas justifié. Comme les équipements sont physiquement dispersés, potentiellement provenant de plusieurs fournisseurs et aussi contrôlés par différentes unités organisationnelles, il est difficile de fournir une gestion générale, d'imposer les standards pour les logiciels et les données et de contrôler les informations disponibles sur le réseau. page 16 Toute reproduction même partielle interdite IGPDE 2005 Principes généraux Activité décentralisée et contrôle centralisé Des applications ou des services décentralisés peuvent être conçus par rapport aux besoins des unités organisationnelles individuelles et être consolidés par des services et des bases de données centralisés avec différents niveaux de contrôle. Productivité de l'utilisateur final Difficulté de contrôle d’informations consolidées des ressources Les données étant potentiellement dispersées, ou, sinon, au moins les accès aux données sont dispersés, il devient difficile pour une autorité centrale de contrôler l'intégrité et la sécurité des données nécessaires au niveau consolidé. Duplication d'effort Les systèmes distribués ont tendance à donner Les personnels techniques dans les différentes des temps de réponse plus rapides aux unités peuvent développer individuellement des utilisateurs, dans la mesure où chaque composant applications ou générer des données similaires. de l'architecture réalise des travaux plus petits. De plus, les applications et les interfaces d'accès peuvent être optimisées aux besoins de l'unité organisationnelle. Indépendance vis à vis de la distance et de la localisation Les interfaces et les méthodes d'accès aux systèmes distribués sont indépendantes de la localisation et de la distance. Indépendance vis à vis des fournisseurs Un système distribué peut intégrer des équipements et des logiciels provenant d'une grande variété de fournisseurs. Cela apporte une plus grande concurrence et renforce donc la possibilité de choix pour l'acheteur. 2005 Toute reproduction même partielle interdite IGPDE page 17 Principes généraux 3. EVOLUTIONS VERS L’ARCHITECTURE DISTRIBUEE 3.1. EVOLUTIONS TECHNOLOGIQUES Le traitement dit distribué a été rendu possible à cause notamment d'une baisse drastique et continue depuis 20 ans des coûts des matériels d’ordinateur, associés à une augmentation de leurs capacités. Mais la puissance des grands systèmes ne s’est pas stoppée brusquement au moment où se produisait une formidable augmentation des capacités des micros et mini ordinateurs ; les grands constructeurs ont su réagir en fournissant des systèmes surpuissants capables d’héberger des infocentres extrêmement imposants. page 18 Toute reproduction même partielle interdite IGPDE 2005 Principes généraux 3.2. EVOLUTION DES DEBITS DE TRANSMISSION A la fin des années 80, chaque site était caractérisé par plusieurs grappes de PC et de stations de travail, chaque grappe supportée par un réseau local. La tendance naturelle était alors claire: l’interconnexion des PC, serveurs et centraux au travers de supports de communication de plus en plus rapide. Ce besoin d’interconnexion de multiples sites a été renforcé par l’extension de services d’échange de type messagerie, l’utilisation commerciale d’Internet et l’introduction de EDI (Electronic Data Interchange) pour supporter la coopération commerciale. Cette évolution a été renforcée par l’évolution des vitesses de transmission au début des années 90. 3.3. EVOLUTION VERS LES SYSTEMES OUVERTS Un système ouvert est un système qui respecte un certain nombre de standards de jure, ou de facto de manière à assurer un maximum de portabilité et d'interopérabilité. L'IEEE (Institute of Electrical and Electronic Engineers) propose la définition suivante: un système ouvert correspond à un ensemble compréhensible et cohérent de standards internationaux de technologie informatique et de profils fonctionnels standards qui spécifient des interfaces, des services et supportant des formats pour réaliser l'interopérabilité et la portabilité des applications, des données et des “ utilisateurs ”. L’interopérabilité correspond à la capacité de deux systèmes à pouvoir communiquer facilement. La portabilité correspond à la capacité de rendre une application exécutable sur plusieurs systèmes sans modification majeure de l’application. 3.4. INTERNET Internet s’est déployé beaucoup plus rapidement que la radio la télévision ou le téléphone mobile. La mise en place d’une infrastructure Internet dans l’entreprise permet de bénéficier rapidement de services destinés à la communication avec l’extérieur (courrier électronique ou serveur Web), pour la gestion interne de l’entreprise, à la gestion des connaissances ou aux relations avec les clients et les fournisseurs. Cette infrastructure comporte non seulement un réseau utilisant un protocole 2005 Toute reproduction même partielle interdite IGPDE page 19 Principes généraux standard universel (IP) mais encore l’accès aux applications en mode web (http) sous un navigateur. Les avantages pour l’entreprise sont immédiats : une infrastructure unique pour toutes les applications informatiques et multimédia, un poste de travail client banalisé indépendant des systèmes centraux et des serveurs locaux et un déploiement technique instantané des nouvelles applications. 3.5. ORIENTATION OBJET Le principe de l’objet est de dissocier la réalisation des objets de leur utilisation. Ce principe est encore plus intéressant pour la réalisation des applications, si l’on se borne à assembler des objets existants. De plus les systèmes de gestion de base de données et les moniteurs transactionnels se sont adaptés pour être capables de gérer ces objets distribués tout en conservant leurs fonctionnalités de gestion de l’espace de données ou de traitement des transactions. Le serveur d’application adresse spécifiquement la gestion d’objets standards dénommés dans ce contexte des composants. page 20 Toute reproduction même partielle interdite IGPDE 2005 Architecture physique ARCHITECTURE PHYSIQUE 1. DEFINITION L'architecture physique comprend : ♦ les machines (postes de travail et serveurs physiques), ♦ leur système d'exploitation, ♦ le réseau de communication, ♦ les protocoles permettant de transporter l'information d'une adresse réseau donnée à une autre adresse réseau indépendamment de l'hétérogénéité des moyens physiques de communication (protocole de transport de la couche 4 du modèle OSI de l'ISO), ♦ leurs logiciels d'administration et de sécurité. 2. MODELES STANDARDS Le monde des communications utilise principalement deux modèles : le modèle OSI de l’ISO et le modèle TCP/IP du monde Internet. 2.1. MODELE OSI 2.1.1. Introduction La normalisation est un point très important en matière de réseau car elle permet de garantir la communication des équipements informatiques. Les objectifs des organismes de normalisation sont : ♦ d'établir une base commune de développement de standards ; 2005 Toute reproduction même partielle interdite IGPDE page 21 Architecture physique ♦ de qualifier des produits comme ouverts par l’utilisation de ces standards ; ♦ de fournir une référence commune pour les standards ; ♦ d’obtenir un consensus, de gérer ces standards. L'ISO (International Standard Organisation) normalise un modèle en 7 couches pour permettre l'interconnexion des systèmes informatiques hétérogènes entre eux: le modèle OSI (Open System Interconnection). 2.1.2. Généralités Un réseau est constitué matériellement de TERMINAUX (par exemple des téléphones, des télécopieurs, des ordinateurs de type PC, Mac ou Unix, des imprimantes ou des scanners) sur lesquels tournent des « applications » et de NŒUDS (que l’on peut nommer routeur, commutateur, etc.). Les NŒUDS sont reliés par des liens de transmissions de nature divers (fibre optique, câble coaxial, paire torsadée, lien radio, lien satellite, etc.). Le but d’un réseau de télécommunications est de faire communiquer deux « applications » de TERMINAUX (généralement de même nature) selon différentes contraintes inhérentes à ces applications (par exemple temps réel ou non). Ce schéma résume ce qu’est un réseau de télécommunications au niveau physique : page 22 Toute reproduction même partielle interdite IGPDE 2005 Architecture physique 2.1.3. Couche Le principe de base est la description des réseaux sous forme d'un ensemble de couches superposées les unes aux autres. L'étude du tout est réduite à l'étude de chacune de ces couches. L'objet de chaque couche est d'offrir un service aux couches qui lui sont supérieures. Il existe sept couches décrites par le modèle OSI et chacune donne une « vue » du réseau en accord avec sa fonctionnalité. 2.1.4. Protocole Entre deux systèmes, une couche d’un système communique de façon indépendante avec la couche de l’autre système qui lui est associée. Le « langage » de télécommunication commun à ces couches s’appelle un protocole. 2005 Toute reproduction même partielle interdite IGPDE page 23 Architecture physique On a tout d'abord un dialogue vertical au sein d'un même système. La couche N dialogue avec la couche immédiatement inférieure N-1 et la couche immédiatement supérieur N+1. On dit que la couche N utilise les services de la couche N-1 et elle est fournisseur de services pour la couche N+1. Dans ce cadre, l'interface définit les opérations et services qui sont offerts par la couche inférieure à la couche supérieure. Ensuite, on aura un dialogue logique horizontal entre les couches de même niveau N mais appartenant à des systèmes différents. Les couches homologues ou processus pairs communiquent via des protocoles. Un protocole est un langage commun pour pouvoir communiquer qui respecte des règles et des conventions. page 24 Toute reproduction même partielle interdite IGPDE 2005 Architecture physique On distingue deux groupements de protocoles : l’un traitant de la partie « application » au sens large (les protocoles de niveau 7, application, 6 présentation et 5 session) et l’autre traitant de la partie « transport » (les protocoles de niveau 4 transport, 3 réseau, 2 liaison de données et 1 physique) comme le montrent les deux schémas suivants : 2.1.5. Commutation Circuit Une communication par commutation de circuit implique qu’un canal de communication dédié est créé entre les deux stations. La commutation de circuit est utilisable aussi bien pour la voix que pour les données. Ce canal est formé d’une suite de nœuds réseaux connectés. Une communication par commutation de circuit se déroule en trois phases : l’établissement du circuit, le transfert d’informations et la libération du circuit. L’exemple le plus commun de commutation de circuit est le réseau téléphonique. 2005 Toute reproduction même partielle interdite IGPDE page 25 Architecture physique Paquet Un réseau à commutation de paquets est un ensemble de nœuds réseaux distribués qui commutent les paquets. Les opérations nécessaires à la commutation de paquets peuvent être résumées ainsi. Les données sont transmises dans des petits paquets. Si une source a des données dont la longueur dépasse la taille admissible des paquets, les données sont découpées en une suite de paquets. Chaque paquet contient les données utiles plus des données de contrôle. Au minimum, ces informations de contrôle incluent les informations nécessaires pour permettre le routage des paquets à travers le réseau pour les délivrer à destination. A chaque nœud du réseau, les données sont reçues, stockées temporairement et passées au nœud suivant. Cellule La commutation de cellules est une solution destinée aussi bien au trafic ne concernant pas des données (par exemple, son et vidéo) qu’au trafic de données. Un des problèmes avec les systèmes comportant des équipements de réseau intermédiaires (routeurs et des ponts) est le temps de transit global qu’ils introduisent sur le réseau. Pour fluidifier les échanges de données et éviter les goulets d’étranglement, la commutation de cellule s’inspire du modèle du sablier : les données sont découpées en cellule (paquet très petit de taille fixe). page 26 Toute reproduction même partielle interdite IGPDE 2005 Architecture physique 2.1.6. Modèle final H correspond à Header, c’est-à-dire l’entête rajoutée par chaque couche M correspond au message à transmettre T correspond à Terminaison, c’est-à-dire la fin de message rajoutée par la couche 2 La nomenclature des unités de protocoles est la suivante : ♦ Protocole 1 : On parle de « bit » ; ♦ Protocole 2 : On parle de « trame » ; ♦ Protocole 3 : On parle de « paquet » ; ♦ Protocole 4 : On parle de « segment » ; ♦ Protocole 5, 6 et 7 : On parle de « message ». 2005 Toute reproduction même partielle interdite IGPDE page 27 Architecture physique Une autre représentation des couches de l'OSI : DESCRIPTION Couche 1 : transmet des bits sur un circuit de communication. Couche 2 : gère la liaison des données en trames de données transmises de l’émetteur et acquittées. Couche 3 : permet l’interconnexion de réseaux hétérogènes en fournissant les moyens d’établir, de maintenir et de libérer des connexions de réseau pour l’acheminement des paquets de proche en proche. Couche 4 : gère la transmission des données de bout en bout. Couche 5 : responsable de la synchronisation et de la gestion du dialogue. Couche 6 : s’intéresse à la syntaxe et à la sémantique des informations. Couche 7 : permet aux applications d’accéder aux moyens d’échange. 2.2. MODELE TCP/IP Les services de transport assurent la transparence des applications par rapport au type de réseau local et longue distance. Les protocoles de transport doivent établir une continuité d’adressage des destinations des informations transportées sur tous les types de réseaux proposés. Le modèle TCP/IP domine désormais ce secteur de l’informatique sous l’effet conjugué de la montée en puissance de l’Internet et de ses protocoles de communication associés. Cependant, d’autres services de transport existent encore de nos jours : IPX/SPX de Novell ou Netbios/netbeui de Microsoft. La couche réseau de la pile IPX/SPX est le protocole IPX (Internet Packet Exchange) : il est de type datagramme. SPX (Sequenced Packet Exchange) construit un protocole de service fiable au-dessus de IPX. page 28 Toute reproduction même partielle interdite IGPDE 2005 Architecture physique Quand à Netbios, il a été pendant longtemps le principal protocole de communication programme à programme sur réseau local. Il peut être utilisé au dessus de Netbeui, TCP/IP, XNS, OSI et IPX/SPX. Netbios est supporté par de nombreux systèmes d’exploitation: DOS, Windows, OS/2, NT, Unix et quelques environnements grands systèmes. Netbeui (Netbios Extended User Interface) est la pile de protocoles qui accompagne les produits de réseaux locaux IBM et Microsoft. Il propose de puissants services de datagramme et de session, mais n'apporte pas de service réseau. 2.2.1. Protocoles Au cours de la décennie 70 est apparue la commutation par paquets. L'agence des projets avancés de la défense américaine (DARPA, Defense Adnonced Rescorch Project Agency) y a apporté une contribution très importante. Elle a mis en place un réseau appelé Aparnet bâti autour de la première architecture formalisée en couches. Le développement de protocoles capables d'interconnecter des équipements hétérogènes a coïncidé avec l'émergence de la technologie des réseaux locaux d'établissements. Parmi l'ensemble des protocoles élaborés au cours de cette période, seul un petit nombre est aujourd'hui couramment utilisé dont : ♦ IP (Internet Protocol) : qui offre les fonctions de base nécessaires à l'interconnexion de réseaux et de matériels hétérogènes. Il correspond aux fonctions de la couche réseau du modèle OSI ; ♦ Protocole TCP (Transmission Control Protocol) : qui permet l'établissement de connexions fiables entre utilisateurs terminaux. Les fonctions de TCP sont équivalentes à celles de la couche transport du modèle OSI ; ♦ Protocole UDP (User Datagram Protocol) : qui fournit en alternative à TCP un mode de transfert sans connexion entre utilisateurs terminaux ; ♦ Protocole ICMP (Internet Control Message Protocol) : qui permet l'échange de messages de contrôle et de supervision entre nœuds de communication au réseau ; ♦ TELNET : un programme d'application qui permet à un terminal de se connecter à distance à un ordinateur hôte ; ♦ FTP (File Transfer Protocol) : programme de transfert de fichiers qui se décompose en éléments "réseau" et en éléments "d'extrémité" de type client/serveur ; ♦ SMTP : programme de courrier électronique ; ♦ SNMP (Simple Network Management Protocol) : programme de gestion et d'administration de réseaux hétérogènes. 2005 Toute reproduction même partielle interdite IGPDE page 29 Architecture physique 2.2.2. Adressage Principes Les adresses IP actuelles, version 4 du standard ou IPv4, (dites aussi adresse Internet même sur un réseau local TCP/IP) ont une longueur fixe de 32 bits, soit 4 octets. Ce sont des adresses logiques, à distinguer des adresses physiques (des cartes Ethernet dites adresses MAC, par exemple). Elles se composent de deux parties : l'adresse du réseau et l'adresse de l'hôte sur ce réseau. Une adresse IP doit être unique au monde, c'est pourquoi seul le NIC (Network Information Center) attribue les adresses de réseau. La partie adresse de l'hôte est laissée à l'appréciation de l'administrateur du site. Si votre réseau local n'est pas relié à Internet, l'installateur peut choisir librement ses adresses IP, dans la classe qui lui convient, sans en référer au NIC. On a l'habitude d'écrire les adresses IP octet par octet, chacun d'entre eux étant séparé du précédent par un point. Exemple : 192.33.160.20. Il existe cinq classes d'adresse Internet mais seules trois sont réellement utilisées : ♦ la classe A est caractérisée par une adresse réseau sur 8 bits dont le premier bit est à 0. Les adresses de classe A sont du type RRR.HHH.HHH.HHH, où RRR désigne un octet de l'adresse du réseau et HHH un octet de l'adresse de l'hôte. La partie RRR, pour les adresses de classe A, est comprise entre 1 et 127. On peut donc avoir 127 réseaux de classe A avec chacun près de 16 millions d'hôtes. Les adresses de cette classe sont réservées aux très grandes entreprises. A ce jour, elles sont quasiment toutes attribuées ; ♦ la classe B est caractérisée par une adresse réseau sur 16 bits, dont les deux premiers sont 10. Les adresses de classes B sont du type RRR.RRR.HHH.HHH. Leur premier octet est compris entre 128 et 191 inclus. On peut donc avoir près de 16.320 réseaux de classe B avec chacun page 30 Toute reproduction même partielle interdite IGPDE 2005 Architecture physique 65.024 hôtes. Les adresses de cette classe sont adaptées aux grandes entreprises. Comme pour les adresses de classe A, toutes les adresses de classe B sont également attribuées ; ♦ la classe C est caractérisée par une adresse réseau sur 24 bits dont les trois premiers bits sont à 110. Les adresses de classe C sont du type RRR.RRR.RRR.HHH. Leur premier octet est compris entre 192 et 223. On peut donc avoir près de 2 millions de réseaux de classe B avec de 254 hôtes chacun. Cette classe est plus adaptée aux entreprises de taille moyenne. On distingue en plus deux autres classes qui ne sont pas utilisées : ♦ les adresses de classe D, utilisées par les mécanismes de multicast (multi diffusion), c'est-à-dire d'envoi de messages à un groupe de machines ; dont les trois premiers bits sont à 1110 ♦ les adresses de classe E, réservées pour de futures extensions d'IP, dont les trois premiers bits sont à 1110. " Remarque : Deux stations situées sur le même sous-réseau (c’est-à-dire entre lesquelles aucune passerelle n'est intercalée), porteront des adresses IP dont les parties réseau (1, 2 ou 3 premiers octets selon la classe de l'adresse) seront identiques. Ipv6 Dans les années à venir un nouveau standard est amené, dans un premier temps à cohabiter et dans un second temps à remplacer définitivement le standard IPv4 : ce standard qui a mis plusieurs années à se dessiner est IPv6. Les 3 principaux objectifs d'IPv6 sont : ♦ une plus grande capacité d'adressage puisque les nouvelles adresses seront sur 128 bits, alors qu'une adresse IPv4 est sur 32 bits et qu'actuellement nous allons vers une pénurie d'adresse ; ♦ une amélioration des capacités de routage des routeurs car la taille des tables de routage augmente beaucoup plus rapidement que le nombre d'ordinateurs connectés au réseau ; ♦ la prise en compte des faiblesses IPv4 et en particulier la capacité d'offrir des fonctions de sécurité (confidentialité des données et authentification des utilisateurs) et la possibilité de réserver de la bande passante (débit) pour les applications qui l'exigeraient. Adresses réservées Il arrive fréquemment dans une entreprise qu'un seul ordinateur soit relié à Internet, c'est par son intermédiaire que les autres ordinateurs du réseau accèdent à Internet (on parle généralement de proxy). Dans ce cas, seul l'ordinateur relié à Internet a besoin de réserver une adresse IP auprès du NIC. Toutefois, les autres ordinateurs ont tout de même besoin d'une adresse IP pour pouvoir communiquer ensemble de façon interne. Ainsi, le NIC a réservé une poignée d'adresses dans chaque classe pour permettre d'affecter une adresse IP aux ordinateurs d'un réseau local relié à Internet sans risquer de créer de conflits d'adresses IP sur le réseau. Il s'agit des adresses suivantes: ♦ 10.0.0.0 à 10.255.255.255 ♦ 172.16.0.0 à 172.31.255.255 ♦ 192.168.0.0 à 192.168.255.255 2005 Toute reproduction même partielle interdite IGPDE page 31 Architecture physique Masques de sous-réseau Notion de masque On fabrique un masque contenant des 1 aux emplacements des bits que l'on désire conserver et des 0 pour ceux que l'on veut rendre égaux à zéro. Une fois ce masque créé, il suffit de faire un ET entre la valeur que l'on désire masquer et le masque afin de garder intacte la partie que l'on désire et annuler le reste. Ainsi, un masque réseau se présente sous la forme de 4 octets séparés par des points (comme une adresse IP), il comprend (dans sa notation binaire) des zéros aux niveaux des bits de l'adresse IP que l'on veut annuler (et des 1 au niveau de ceux que l'on désire conserver). Intérêt Il y en a en fait plusieurs. L’un d'entre eux est de pouvoir connaître le réseau associé à une adresse IP. En effet, comme nous l'avons vu précédemment, le réseau est déterminé par un certain nombre d'octets de l'adresse IP (1 octet pour les adresses de classe A, 2 pour les adresses de classe B et 3 octets pour la classe C). De plus, nous avons vu que l'on note un réseau en prenant le nombre d'octets qui le caractérise, puis en complétant avec des 0. Ainsi, le réseau associé à l'adresse 34.208.123.12 est 34.0.0.0 (puisqu'il s'agit d'une adresse de classe A). Il suffit donc pour connaître l'adresse du réseau associé à l'adresse IP 34.56.123.12 d'appliquer un masque dont le premier octet ne comporte que des 1 (ce qui donne 255), puis des 0 sur les octets suivants (ce qui donne 0..). Le masque est: 11111111.00000000.00000000.00000000. Le masque associé à l'adresse IP 34.208.123.12 est donc 255.0.0.0. La valeur binaire de 34.208.123.12 est: 00100010.11010000.01111011.00001100. Un ET entre 00100010.11010000.01111011.00001100 ET 11111111.00000000.00000000.00000000, donne 00100010.00000000.00000000.00000000. C'est-à-dire 34.0.0.0, c'est bien le réseau associé à l'adresse 34.56.123.12. En généralisant, on obtient les masques suivants pour chaque classe : ♦ Pour une adresse de Classe A, seul le premier octet nous intéresse, on a donc un masque de la forme 11111111.00000000.00000000.00000000, c'est-à-dire en notation décimale : 255.0.0.0 ; on parle aussi de classe /8 ; ♦ Pour une adresse de Classe B, les deux premiers octets nous intéresse, on a donc un masque de la forme 11111111.11111111.00000000.00000000, c'est-à-dire en notation décimale : 255.255.0.0 ; on parle aussi de classe /16 ; ♦ Pour une adresse de Classe C on s'intéresse aux trois premiers octets, on a donc un masque de la forme 11111111.11111111.11111111.00000000, c'est-à-dire en notation décimale : 255.255.255.0 ; on parle aussi de classe /24. Le nombre de sous-réseau dépend du nombre de bits que l'on attribue en plus au réseau. Le nombre de sous-réseaux est donc : NOMBRE DE BITS 1 2 3 4 5 6 7 8 (impossible pour une classe C) page 32 NOMBRE DE SOUS-RESEAUX 2 4 8 16 32 64 128 256 Toute reproduction même partielle interdite IGPDE 2005 Architecture physique Allocation DHCP L’adresse IP qui identifie un nœud d’un réseau TCP/IP peut être allouée soit de manière statique soit de manière dynamique. Dans le cas d’une allocation dynamique d’une adresse IP, un moyen existe : le DHCP. DHCP (Dynamic Host Configuration Protocol) est l’un des choix les plus répandus pour l’allocation des adresses IP sur un réseau. DHCP comprend un code client qui tourne dans la pile TCP/IP du client et le code serveur qui tourne sur n’importe quelle machine jouant le rôle de serveur d’adresses. Un réseau peut posséder plusieurs serveurs DHCP, avec un serveur primaire et des serveurs de secours. Une adresse délivrée par un serveur DHCP a une durée de validité (avantage pour les postes nomades). 2.2.3. IPSEC Pour sécuriser les échanges ayant lieu sur un réseau TCP/IP, il existe plusieurs approches : ♦ niveau applicatif (PGP) ; ♦ niveau transport (protocoles TLS/SSL, SSH) ; ♦ niveau physique (boîtiers chiffrant). IPsec vise à sécuriser les échanges au niveau de la couche réseau. Le réseau IPv4 étant largement déployé et la migration complète vers IPv6 nécessitant encore beaucoup de temps, il est vite apparu intéressant de définir des mécanismes de sécurité qui soient communs à la fois à IPv4 et IPv6. Ces mécanismes sont couramment désignés par le terme IPsec pour IP Security Protocols. IPsec fournit donc : ♦ confidentialité et protection contre l'analyse du trafic ; ♦ authentification des données (et de leur origine) ; ♦ intégrité des données (en mode non connecté) ; ♦ protection contre le rejeu ; ♦ contrôle d'accès. IPsec est une extension de sécurité pour le protocole Internet IP. Il peut être mis en œuvre sur tous les équipements du réseau et de nombreux fournisseurs l'intègrent désormais dans leurs produits. Exemple d'utilisation : les réseaux privés virtuels ou VPN ou bien la sécurisation des accès distants à un intranet. 2005 Toute reproduction même partielle interdite IGPDE page 33 Architecture physique IPSEC n’est pas un logiciel mais un standard qui peut être intégré sous forme matérielle ou logicielle. 2.2.4. Voix sur IP Principes Les points clés de la téléphonie sur réseau IP sont : ♦ l'interopérabilité : adoption d'un même ensemble de protocoles communs implémentés de manière analogue et interconnexion avec d'autres types de réseaux ; ♦ la qualité de service ; ♦ la simplicité ; ♦ l'espace d'adressage (numérotation) et les annuaires ; ♦ les législations et les remarques de certains d'opérateurs téléphoniques. Concrètement, pour l'utilisateur, il existe de nombreuses façons différentes d'utiliser la voix sur IP. La distinction s'effectue principalement selon l'appareil utilisé pour émettre des appels. On parle ainsi de "PC to PC" pour qualifier les procédés permettant d'appeler un correspondant disposant d'un ordinateur (et non d'un téléphone), à partir d'un ordinateur. Cette solution présente l'énorme avantage d'être totalement gratuite : les paquets correspondant à la voix ne sont pas distingués des autres données transitant sur la ligne utilisée pour accéder à l'Internet et les logiciels faisant fonctionner le tout sur les postes clients sont le plus souvent téléchargeables gratuitement. Mais elle pose un sérieux problème d'interopérabilité : les deux correspondants qui communiquent oralement doivent (du moins aujourd'hui) avoir les mêmes logiciels installés sur leur ordinateur pour que cela fonctionne. En clair, cela suppose de savoir par avance de quel logiciel dispose la personne que l'on veut joindre... Un problème rendu délicat du fait de la multiplication de l'offre en la matière. Il existe plus d'une douzaine de solutions non compatibles entre elles. A l'inverse, le "PC to phone" désigne les procédés de voix sur IP avec lesquels on peut appeler n'importe quel numéro de téléphone dans le monde, à partir d'un PC muni du logiciel idoine. L'intérêt est bien sûr de se rapprocher de la téléphonie classique, tout en tirant parti de l'Internet. page 34 Toute reproduction même partielle interdite IGPDE 2005 Architecture physique Cette solution n'est pas gratuite, mais bénéficie de tarifs très inférieurs à ceux pratiqués par les opérateurs de téléphonie classique. Enfin, le "Phone to Phone" correspond véritablement à la "téléphonie sur IP" : un téléphone raccordé à l'Internet peut émettre et recevoir des appels vers et depuis n'importe quel autre téléphone. En France, ce type d'offre est récent. Depuis le 25 août 2003, le fournisseur d'accès Free propose une offre de téléphonie sur IP à ses abonnés qui disposent d'une Freebox. Cette dernière exploite le modem ADSL, auquel se branche un combiné téléphonique classique. L'utilisateur n'a besoin d'aucun logiciel complémentaire et se voit même attribuer un numéro d'appel classique (à 10 chiffres, commençant par "08"). Protocoles MCGP/MEGACO1 Dans une première approche, la passerelle qui fait le lien entre le réseau téléphonique et le réseau de voix sur IP est considérée comme stupide et toute l’intelligence est intégrée dans un contrôleur de passerelle (MGC Media Gateway Controler). Ainsi, les services proposés sont indépendants de la passerelle utilisée et de son constructeur. Le protocole MEGACO/H248 définit les échanges entre ces deux parties. Cette approche permet la construction de terminaux simples et bons marchés. La freebox proposée par le fournisseur d’accès Internet Free dans les zones dégroupées intègre cette approche avec MGCP. Outre ses fonctions locales (modem, routeur, set top box...) elle inclut une passerelle " stupide " entre le poste téléphonique et le réseau Internet. L’intelligence est alors localisée dans le réseau. H.323 Le standard H.323 fournit depuis son approbation en 1996, un cadre pour les communications audio, vidéo et de données sur les réseaux IP. Il a été développé par l'ITU (International Telecommunications Union) pour les réseaux ne garantissant pas une qualité de service (QoS) : IP et IPX sur Ethernet, Fast Ethernet et Token Ring. Adopté par Cisco, IBM, Intel, Microsoft, Netscape, etc et déjà présent dans plus de 30 produits, il concerne le contrôle des appels, la gestion du multimédia, la gestion de la bande passante pour les conférences point à point et multipoints. H.323 traite également de l'interfaçage entre le LAN et les autres réseaux. H.323 est prévu pour les LAN (connexion de terminal à terminal avec une bande passante importante) et pour l'Internet (bande passante faible, délais). SIP Le protocole SIP est développé par le groupe SIP de l’IETF (RFC 2543 de mars 1999 puis RFC 3261 de juillet 2002). Il est bien plus récent que le protocole H323 et pour l’instant moins mature et moins répandu que H323. Il permet d’établir un appel simplement en cliquant directement sur une URL depuis une page Web ou un courriel avec une syntaxe du type " sip:infos_utilisateurs@domaine " à laquelle il est possible de rajouter des paramètres et des entêtes. Par exemples : sip :[email protected] ou sip :[email protected],user=phone. 2005 Toute reproduction même partielle interdite IGPDE page 35 Architecture physique SIP pourrait être une alternative plus évoluée qui pourrait remplacer à terme H323. Il existe cependant de nombreux profils de ce standard adaptés à divers usages mais qui risquent de créer une confusion et des problèmes d’interopérabilité : SIP doit encore faire ses preuves dans la phase actuelle de déploiement qui nous dira si ce protocole sera un succès ou non. page 36 Toute reproduction même partielle interdite IGPDE 2005 Architecture physique 2.3. ORGANISMES DE STANDARDISATION Il existe deux types d'organismes de standardisation : les organisations officielles et les groupes émanant de fournisseurs, comme ATM Forum ou le Frame Relay Forum. Il devient difficile désormais de séparer les deux, particulièrement quand certains consortiums de fournisseurs, tel que le DMTF-Desktop Management Task Force demande à ce que les spécifications soient "ratifiées". Une liste non exhaustive des principaux organismes de standardisation est présentée ci-après. OBJECTIF Organisme officiel de normalisation en France, membre de l’ISO et du CEN Standards pour réseaux locaux et réseaux longue distance TYPE Organisme officiel MEMBRES Organisme officiel ATM Forum ATM spécifications techniques dans le domaine des équipements et des services ATM. Consortium de fournisseurs CEN Comité Européen de Normalisation Frame Relay Forum Homologue Européen de l’ISO Organisme officiel Consortium de fournisseurs Organisme officiel 1400 sociétés, organismes, agences gouvernementales et institutions américaines 880 membres du monde entier incluant des fournisseurs, des opérateurs réseau et des consultants Pays européens NOM AFNOR Association Française de normalisation ANSI-American National Standards Institute Frame Relay IEEE-Institute of Electrical Réseaux and Electronic Engineers Société internationale élaborant des spécifications techniques pouvant avoir valeur de normes à travers l’ANSI, notamment dans le domaine des réseaux locaux. (IEEE-802.x) IETF-Internet Engineering Internet et les technologies Task Force associées ISO-International Technologie de l'information Organisation for publication des normes générales, Standardisation dans tous les domaines techniques en dehors de l’électricité, de l’électronique et de l’électrotechnique IUT-T Union Internationale Standards de télécommunication des Télécommunications sur câbles et à distance. Les recommandations publiées tous les quatre ans sont classées par domaine Open Group Systèmes ouverts W3C-World Wide Web Consortium 2005 WEB 300 membres du monde entier 320 000 membres individuels de 147 pays dans le monde Organisme officiel Organisme officiel 2000 membres Organisme officiel 187 gouvernements et 400 autres membres divers du monde entier Consortium de fournisseurs Consortium de fournisseurs 450 sociétés Des organismes officiels de 118 pays 160 membres du monde entier. Toute reproduction même partielle interdite IGPDE page 37 Architecture physique 3. RESEAU 3.1. PRINCIPES GENERAUX 3.1.1. Signal Une communication entre équipements permet des échanges de données , de voix ou d’images. Pour cela, deux entités sont mises en relation : un émetteur et un récepteur. Le signal est le mécanisme qui permet de transmettre les données entre ces deux entités. Il existe deux types de signaux : analogiques et numériques. Le signal, lorsqu’il est analogique, consiste en des variations physiques dont les caractéristiques dépendent du support utilisé (média : fil de cuivre, atmosphère, fibre optique) sur lequel on établit un canal de transmission. Le signal numérique consiste quant à lui à transmettre l’information sous forme binaire. 3.1.2. Modulation La modulation est la technique qui consiste à agir sur l'oscillation régulière d'un signal appelé "porteuse" pour la déformer. Il existe trois types de modulations : de phase ; d'amplitude ; de fréquence. page 38 Toute reproduction même partielle interdite IGPDE 2005 Architecture physique Chacune de ces modulations peut avoir 2 états (0 ou 1), comme sur les exemples précédents, mais également 4, 8, 16 ou plus d’états. 3.1.3. Normalisation des jonctions ETTD/ETCD Éléments d'une liaison : La communication entre les systèmes s’effectue à travers des liaisons dont la plupart des éléments sont normalisés (recommandations de l’IUT) afin de permettre à des matériels hétérogènes d’échanger des données dès lors qu’ils se conforment aux recommandations. Ces principaux éléments sont : ♦ l’ETTD (Equipement Terminal de Traitement de Données ou DTE en anglais) qui dans le monde de la microinformatique est par exemple le PC. L’ETTD n’est pas concerné par la normalisation mais il intègre un contrôleur de communication, ce dernier devra être conforme ; ♦ l’ETCD (Equipement Terminal de Circuit de Données ou DCE en anglais) qui est, si on reste dans le monde micro informatique, le modem. L’ETCD a deux fonctions essentielles : la conversion du signal binaire de l’ETTD en signal de transmission (Modulation et Démodulation) et la gestion de liaison c’est-à-dire l’établissement, le maintien et la libération de la liaison physique. Description générale des éléments techniques d'une liaison 3.1.4. Débit et classes de débits Le débit dépend du support utilisé, de la méthode de codage et du mode de transmission. Il varie de 50 caractères par seconde (anciens terminaux) à plusieurs centaines de millions d’octets par seconde. Pour les réseaux publics jusqu’au milliard de bits par seconde. On classe les débits en trois catégories ou classes : bas, moyens, hauts. Bas pour les débits inférieurs à 56 Kilobit par seconde (Kbps) ; Moyens à partir de 64 Kbps et inférieurs à 1 Mégabit par seconde (Mbps) ; Hauts à partir de 1 ou 2 Mbps. On parle même de très hauts débits à partir de 155 Mbps jusqu’au Gigabit (Gbps). 3.1.5. Transmissions Vitesse On exprime la vitesse de transmission d'une liaison en bits par seconde. 2005 Toute reproduction même partielle interdite IGPDE page 39 Architecture physique Sens Trois sens de transmission existent, le simplex, le half-duplex et le full-duplex. Le simplex n'autorise le transfert des données que dans un seul sens, toujours le même. Le half-duplex permet la transmission d’informations en alternat dans les deux sens. Le full-duplex permet de transmettre simultanément des données dans les deux sens. Types Il est possible de transférer des informations selon deux types de transmission : ♦ la transmission en parallèle ; ♦ la transmission en série. Si l'on considère que l'on transfère un caractère codé sur 8 bits, la transmission parallèle permettra de les expédier en une seule fois sur 8 canaux séparés, alors que la transmission série obligera à les transférer les uns à la suite des autres sur un seul canal. page 40 Toute reproduction même partielle interdite IGPDE 2005 Architecture physique L'utilisation de la transmission parallèle se fait surtout à l'intérieur des ordinateurs ou vers des périphériques comme les imprimantes sur de courtes distances. Le port parallèle le plus connu est le port LPT1 d'un micro-ordinateur. Modes Les liaisons de télécommunication peuvent fonctionner suivant deux modes de transmission : synchrone et asynchrone. Lors d'un fonctionnement en mode synchrone l'émetteur et le récepteur se caleront sur un rythme d'horloge commun qui réglera l'échange d'informations. Cette horloge est transmise sur un circuit électronique séparé de ceux nécessaires aux données. 2005 Toute reproduction même partielle interdite IGPDE page 41 Architecture physique Le mode asynchrone ne véhicule pas d'horloge. Mais, afin d'assurer un synchronisme entre l'émetteur et le récepteur, des bits particuliers appelés bits de start et bits de stop encadrent l'envoi de chaque caractère pour déclencher et arrêter l'horloge réceptrice. De plus, à la différence du mode synchrone qui transmet des paquets d'information, le mode asynchrone envoie les données, caractère par caractère, à des moments non déterminés. Parité Pour s’assurer que le caractère envoyé est bien celui qui a été reçu, on peut utiliser le contrôle de parité. Le principe est de rajouter un bit de parité directement après le caractère. Ce bit est mis a 0 ou à 1 selon que l’on veuille obtenir une parité paire (le nombre de 1 est pair) ou impaire (le nombre de 1 est impair). Si on souhaite transmettre un caractère ayant un nombre impair de bit à 1 et que l’on utilise un contrôle de parité paire, il faudra que le bit de parité soit positionné à 1 pour que le nombre de total de bits à 1 soit pair. Ceci permet à l’organe de réception de vérifier si on a le même nombre de 1 dans le caractère à l’arrivée qu‘il y en avait au départ. Ce contrôle n’est pas infaillible, mais la probabilité d’avoir plusieurs inversions de bits dans un même caractère est faible. 3.1.6. Types On distingue différents types de réseaux (privés) selon leur taille (en terme de nombre de machine), leur vitesse de transfert des données ainsi que leur étendue géographique. Trois catégories de réseaux sont généralement admises: ♦ LAN (Local Area Network) ♦ Man (Metropolitan Area Network) ♦ Wan (Wide Area Network) LAN LAN signifie Local Area Network (en français réseau local). Il s'agit d'un ensemble d'ordinateurs appartenant à une même organisation et reliés entre eux par un réseau dans une petite aire géographique. Un réseau local est donc un réseau sous sa forme la plus simple. La vitesse de transfert de donnée d'un réseau local peut s'échelonner entre 100 Mbp/s et 100.000 Mbp/s. page 42 Toute reproduction même partielle interdite IGPDE 2005 Architecture physique La taille d'un réseau local peut atteindre jusqu'à 100 voire 1.000 utilisateurs, à condition que ces utilisateurs soient situés à un même emplacement. MAN Il peut arriver que l'on veuille relier deux réseaux locaux (LAN) sans que la vitesse de transfert soit affectée. Pour relier des LAN géographiquement éloignés il est possible d'utiliser un réseau métropolitain (MAN, Metropolitan Area Network). Ces réseaux utilisent des liaisons spécialisées (ou bien des équipements spéciaux) dont le taux de transfert est équivalent à celui d'un LAN, sur de grandes distances. Un MAN permet ainsi à deux LAN distants de communiquer comme s’ils faisaient partie d'un même réseau local. Toutefois, les lignes qu'utilise le MAN sont totalement différentes de celles d'un LAN, car elles permettent de transmettre des données sur de très grandes distances, c'est la raison pour laquelle le coût d'un MAN est considérablement supérieur à celui d'un LAN. WAN Lorsque les distances deviennent trop importantes pour arriver à relier des réseaux locaux à leur vitesse de transfert, on est obligé d'utiliser un WAN, Wide Area Network (réseau étendu). Les WAN fonctionnent grâce à des routeurs qui permettent de "choisir" le trajet le plus approprié pour atteindre un noeud du réseau. Un WAN est donc un ensemble de LAN reliés entre-eux par des routeurs. 3.1.7. Topologie Pour définir l’architecture d’un réseau, le choix de la méthode d’accès, le support de transmission et la topologie sont liés. La topologie décrit la manière d’interconnecter les points de raccordement aux réseaux (nœuds). LAN Trois topologies de base sont implémentées dans la constitution des réseaux locaux. Bus Les stations sont raccordées à une ligne physique commune. Les transmissions s’effectuent en mode unidirectionnel ou bidirectionnel selon le bus. 2005 Toute reproduction même partielle interdite IGPDE page 43 Architecture physique Etoile Les stations sont reliées à un nœud central. Les transmissions s’effectuent en mode point à point ou en multipoint. Anneau Dans ce cas, le support de transmission relie toutes les stations de façon à former une boucle. L’information circule dans une seule direction dans le support qui forme un anneau. WAN Point à point Ce type de liaison est réalisé lorsque la transmission ne met en relation qu’un seul émetteur et un seul récepteur. On peut citer : ♦ LS (Liaison spécialisée). page 44 Toute reproduction même partielle interdite IGPDE 2005 Architecture physique Maille Réseau dans lequel les nœuds sont reliés entre eux par un ensemble de liaisons tel que, d’un nœud à l’autre, existent un ou plusieurs chemins. On peut citer : ♦ RTC (Réseau Téléphonique Commuté) ; ♦ Réseau X.25 (commutation de paquets) ; ♦ RNIS (Réseau numérique d’intégration de services). 3.2. RESEAU PHYSIQUE 3.2.1. Raccordement physique Tous les réseaux modernes, notamment de type Ethernet, suivent une topologie en étoile où chaque appareil sur le réseau se connecte avec son propre câble à un concentrateur ou d’autres appareils. Si le réseau ne concerne qu’une pièce, un câble externe est simplement nécessaire. Si le réseau s’étend sur plusieurs immeubles, il faut installer un système de câblage et désigner un ou plusieurs centres de câblage pour le réseau. Du côté utilisateur, le câble se termine par une prise murale et dans le centre de câblage il se termine par une prise jack sur un panneau de connexion. Dans les environnements actuels, il existe principalement quatre options pour connecter des ordinateurs : le fil de cuivre, le câble coaxial, la fibre optique et les technologies sans fil. Fil de cuivre Les câbles doivent être conformes aux standards. La plupart des réseaux locaux sont basés sur un câblage de fil de cuivre à paire torsadée non blindée (UTP -Unshielded Twisted Pair). Ce câblage est peu cher et peut supporter une grande variété de types de réseau. La plupart des câbles UTP incluent quatre pairs de fils de cuivre, où les paires de fils sont torsadées ensemble. La qualité du fil et le nombre de torsades déterminent les caractéristiques électriques du câble. Un câble correctement torsadé sera moins sensible aux perturbations extérieures et supportera des débits plus élevés. Le standard actuel pour les réseaux LAN les plus répandus de type 100BASE-T est la catégorie 5. Il faut vérifier aussi que les prises jack, les connecteurs et autres composants de câblage sont de qualité adaptée au standard. Câble coaxial Le câble coaxial comme les paires torsadées est constitué de deux conducteurs mais est construit différemment pour permettre de fonctionner sur des plages de fréquences plus grandes. Il comprend un fil de cuivre à l’intérieur, dans son cœur, entouré par un matériel d’isolation qui est lui-même enserré dans un conducteur cylindrique. Un câble coaxial donne une combinaison satisfaisante de débit élevé et de protection contre le bruit. Le débit dépend de la longueur du câble. Fibre optique Les fibres optiques sont adaptées pour constituer l’ossature principale dénommée backbone des réseaux d’une entreprise. La fibre offre d’exceptionnelles performances pour des applications qui nécessitent de hauts débits et extrêmement fiables et sécurisées. La fibre n’est pas sensible aux nombreuses perturbations auxquelles sont confrontés les systèmes de câblage à fil de cuivre. La fibre est considérée comme étant plus sécurisée dans la mesure où elle ne peut pas être espionnée sans être coupée. Les réseaux à fibre optique sont coûteux et nécessitent un haut niveau d’expertise. 2005 Toute reproduction même partielle interdite IGPDE page 45 Architecture physique Technologies sans fil En installant un concentrateur et un transmetteur sans fil sur chaque ordinateur, il est possible de construire un réseau local sans installer de câblage. Le coût de l’équipement sans fil peut, dans certains cas, être moins élevé que le coût du déploiement d’un système de câblage, spécialement dans les immeubles qui ne possèdent pas de faux plafond, de chemin de câble nécessaire pour une installation de câblage. La souplesse de pouvoir déplacer des ordinateurs sans avoir à s’occuper des questions de câble est un autre avantage. Les réseaux sans fil offrent aussi des performances pour l’instant moins élevées que pour des réseaux câblés. Liaisons infrarouge A très courte distance, la liaison infrarouge apporte une solution peu coûteuse. Elle est utilisée couramment pour la télécommande à vue des dispositifs électroniques à l’intérieur des bâtiments car elle est arrêtée par les obstacles et incompatible avec la lumière du soleil. Onde lumineuse Le laser est une source de lumière cohérente, monochromatique et unidirectionnelle produisant un faisceau très étroit ( 1 mm) concentrant toute l’énergie. Il est utilisé avec un photodétecteur pour l’interconnexion des réseaux locaux entre deux immeubles en vue directe. Sa mise en œuvre nécessite un réglage très précis de l’alignement de l’émetteur et du récepteur. Le faisceau laser est perturbé par la pluie, la neige, mais aussi par les courants de convection dégagés par le sol après un fort échauffement solaire. GSM La numérisation et l'utilisation de fréquences plus élevées pour la radiotéléphonie publique ont permis de développer des terminaux portatifs qui en font un véritable outil de communication personnelle. La forte baisse du prix de ces terminaux et surtout du prix du service (abonnements et communications), à partir de la seconde moitié des années 90, a permis le développement d'un marché grand public phénoménal. La transmission de données ne peut s’opérer qu’à 9 600 bps. GPRS Les offres GPRS (General Packet Radio Service) dites 2G (2ème génération) transmet les données par paquets ; en connexion permanente, 3 fois les débits du GSM. Les avantages de la technologie : un débit de 20 à 30 Kbits/s et une facturation des services Internet au volume. EDGE La technologie EDGE (Enhanced Data Rate for GSM Evolution) est une évolution du standard GSM. Il se situe entre la deuxième et la troisième génération. Pouvant atteindre des débits théoriques de 384 Kbps (contre 9,6 Kbps pour le GSM et 30 Kbps pour le GPRS), EDGE fait office de compromis, de tremplin, entre le GPRS et l'UMTS. Ses coûts de migration sont en effet minorés de par sa parenté avec les technologies GSM (même socle technologique). page 46 Toute reproduction même partielle interdite IGPDE 2005 Architecture physique UMTS Ce concept, aujourd'hui bien avancé, puisque des offres sont apparues en 2005 est appelé UMTS (Universal Mobile Telecommunication System) permet de répondre aux besoins grandissants des utilisateurs en terme de flux de données (vidéo, audio). L'UMTS est avant tout une plate-forme évolutive répondant à une série d'objectifs : ♦ système intégré unique dans lequel, quel que soit l'environnement, l'usager accède aux services de manière simple et universelle ; ♦ large gamme de services de télécommunications comprenant à la fois les services fournis par les réseaux fixes à concurrence de 2 Mbit/s de débit de transmission et les services spécifiques aux communications mobiles. Ces services doivent être fournis à un public résidentiel aussi bien que professionnel, urbain aussi bien que rural ; ♦ services offerts au moyen de terminaux portatifs, portables, montés en véhicules, fixes (y compris ceux qui sont habituellement utilisés dans un réseau fixe), dans des environnements résidentiels ou professionnels, pour autant que ces terminaux supportent le service considéré ; ♦ fourniture de services audio, données, vidéo, avec une insistance particulière sur la fourniture de services multimédia ; TYPE GSM (Global System for Mobile Communications) GPRS (General Packet Radio Service) EDGE (Enhanced Data for GSM Evolution) UMTS (Universal Mobile Telecommunications System) GÉNÉRATION DÉBIT DONNÉES 2 9,6 Kbps 2,5 30 Kbps 2,75 384 Kbps 3 2 Mbps Radio Messagerie Les radiocommunications ne sont pas toujours bidirectionnelles. Le besoin peut concerner l'appel de personnes. Il s'agit de faire parvenir sur un terminal de poche un signal, qui peut être un simple « bip » aussi bien qu'une suite de caractères alphanumériques. Le premier service de ce type en France fut Eurosignal, ouvert dans les années 70, offrant juste un bip sonore et visuel ; ce service a été depuis supplanté par plusieurs systèmes plus performants. Il y eut tout d'abord Alphapage et Operator, disponibles depuis la fin des années 80 auprès de France Telecom (Alphapage) ou Télédiffusion de France (Operator). Le système Alphapage de France Telecom est resté un système à usage professionnel jusqu'en 1996 où son opérateur eut l'idée de lancer un nouveau service utilisant les mêmes infrastructures de réseau mais avec deux innovations majeures : des terminaux de très petite taille, de couleurs gaies et variées et surtout, dont l'usage ne requiert aucun abonnement. Vendu sous la marque Tatoo, ce service dans lequel l'usager ne paye que les coups de téléphone qu'il passe pour laisser un message, à l'exclusion de tout frais fixe périodique, a eu un très grand succès, notamment auprès des jeunes. La radiomessagerie venait d'entrer dans le marché grand public. À la même époque, à ces services nationaux a commencé à s'ajouter un système supposé offrir une couverture européenne, le système Ermes. 2005 Toute reproduction même partielle interdite IGPDE page 47 Architecture physique 3RD/3RP Depuis longtemps existent des réseaux dits privés, c'est-à-dire dont l'usage était réservé à une entreprise, la plupart du temps pour gérer sa flotte de véhicules, dans un périmètre limité à une ville ou une région, puisque ces réseaux étaient le plus souvent monorelais. Les communications, établies en phonie se déroulent à l'alternat, ce qui permet, en n'autorisant qu'un sens de conversation à la fois, de n'employer qu'une seule fréquence par communication. Depuis la fin des années 70, le nombre croissant d'entreprises intéressées par ce service a conduit les législateurs nationaux, dans tous les pays industriels, à autoriser l'exploitation de réseaux partageant les ressources radioélectriques entre plusieurs entreprises. En France, ce sont les 3RP (réseaux radio à ressources partagées) et plus récemment les 3RD (réseaux radio à données partagées), qui ont fait l'objet d'attributions de licences d'exploitation régionales pour les premiers, nationales pour les 3RD, à des opérateurs qui vendent un service de radiocommunications permettant à un entrepreneur de rester en liaison avec ses véhicules autant qu'il le désire. Satellite a) Réglementation internationale De nombreux satellites se partagent les mêmes bandes de fréquences et les mêmes emplacements sur l’orbite géostationnaire ; une réglementation des télécommunications dans l’espace s’imposait donc. Celle-ci a été mise en place par l’Union internationale des télécommunications (UIT) pour réglementer l’attribution des bandes de fréquences, l’accès à l’orbite des satellites géostationnaires, etc. Différents types de services sont définis par cette réglementation dont les trois principaux sont : ♦ le service fixe par satellite : service de radiocommunication entre stations terrestres situées en des points fixes déterminés ; ♦ le service mobile par satellite : service de radiocommunication entre des stations mobiles et d’autres stations mobiles ou des stations du service fixe ; on distingue trois classes de services mobiles par satellite : le service avec des stations mobiles terrestres, le service maritime avec des stations à bord, le service aéronautique avec des stations à bord ; ♦ le service de radiodiffusion directe par satellite : service de radiocommunication dans lequel des signaux retransmis par des satellites sont destinés à être reçus par des antennes de faible diamètre, généralement installées chez l’utilisateur final. b) Services Les liaisons satellites ont longtemps été considérées uniquement comme un complément des liaisons terrestres pour les longues distances et la diffusion de chaînes de télévision. Cela est dû à la capacité de couverture, un tiers de la surface terrestre, des satellites situés en orbite géostationnaire. Depuis plusieurs années, les communications par satellites ont progressivement conquis des marchés spécifiques en exploitant au mieux les caractéristiques des satellites : couverture de vastes zones géographiques, déploiement rapide des services et disponibilité de haut débit. Une évolution importante du marché s’est produite avec la fourniture directe de services aux utilisateurs finaux : réception à domicile de chaînes de télévision diffusées par satellites, téléphonie mobile, Internet par satellites. Ce changement s’est accéléré avec le développement et l’industrialisation des technologies spatiales : prise en charge des fonctions de commutation et de routage à bord des satellites, puissance accrue des composants électroniques, plus grande directivité et précision des antennes, cellules solaires plus efficaces, etc. page 48 Toute reproduction même partielle interdite IGPDE 2005 Architecture physique L’utilisation de liaisons satellites à large bande, pour accéder aux nouvelles applications multimédia (visioconférences, enseignement à distance, travail coopératif...) et à la diffusion de contenus audiovisuels (radio et télévision) sur Internet, constitue l’un des domaines d’application majeur pour les satellites de communication dans les prochaines années. c) Architecture Un système de communication par satellites géostationnaires présente la particularité d’être un réseau de type étoilé dans lequel le satellite constitue un point nodal, alors que les réseaux terrestres utilisent plutôt des réseaux maillés. Un tel système comporte deux composantes principales : le segment spatial et le segment terrestre. 3.2.2. Composants réseaux Segment Le plus petit morceau de réseau sur lequel des stations peuvent échanger des données sans intervention d’un autre composant intelligent. Segment étendu Un nombre de segments liés ensemble par des ponts (bridges). Réseau étendu Un ensemble de segments ou de segments étendus reliés par un routeur. Répéteur Un composant qui facilite la connexion des stations sur le segment. Il ne possède pas d’adresse réseau. Il copie les données bit par bit du et vers le média physique auquel il est attaché. Un répéteur n’est pas considéré comme un composant intelligent. Pont Un pont ou bridge en anglais est utilisé pour connecter deux ou plusieurs segments ensemble (par exemple token ring à token ring ou ethernet à ethernet). Un pont a deux objectifs. Le premier est d’étendre la longueur et le nombre de stations qu’un segment peut supporter. Deuxièmement, le pont réduit le flux du trafic général en passant les paquets de données qui ne sont pas destinés à une adresse d’une machine se trouvant sur le segment local. Un pont est considérer comme un composant intelligent. Routeur Des fois appelé passerelle, il est utilisé pour relier deux ou plusieurs segments (potentiellement étendus). Ces segments peuvent être similaires ou non. Les informations de routage en plus de l’adresse machine doivent être contenues dans le paquet de données. Les routeurs sont des composants guidés par logiciel qui permettent de passer d’un segment de réseau sécurisé à un segment de réseau non sécurisé. 2005 Toute reproduction même partielle interdite IGPDE page 49 Architecture physique Interconnexion de réseaux Les réseaux informatiques sont en général constitués de sous-réseaux différents reliés les uns aux autres. Il a donc été indispensable d'élaborer des techniques d'interconnexion qui permettent de constituer une architecture globale de réseau : les sous-réseaux différents sont reliés par des passerelles. Une passerelle désigne l'ensemble des ressources logicielles et matérielles nécessaires pour offrir aux équipements connectés à des réseaux différents les moyens de communiquer entre eux. Les passerelles sont principalement chargées des fonctions de connexion de protocole et de routage. Le rôle joué par une passerelle dépend du niveau où elle se situe dans l'architecture en couches. a) Types de passerelles Il existe 4 moyens d'interconnecter des réseaux: ♦ Répéteur ; ♦ Pont ; ♦ Routeur ; ♦ passerelle. Les caractéristiques des réseaux déterminent la solution à sélectionner. REPETEUR Couche OSI 1 Couche OSI 2 PONT ROUTEUR PASSERELLE = ≠ ≠ Couche OSI 3 ≠ Couche OSI 4-7 b) Passerelle de niveau physique : le répéteur. Les répéteurs sont souvent utilisés dans les réseaux locaux pour relier les différents brins du réseau, ils permettent ainsi d'étendre le support physique de façon transparente pour les utilisateurs. page 50 Toute reproduction même partielle interdite IGPDE 2005 Architecture physique c) Passerelle de niveau liaison : le pont. Le pont travaille au niveau de la couche liaison. Il assure un lien entre deux réseaux qui ont des câblages identiques mais des méthodes d'accès différentes : Ethernet et Token ring par exemple. d) Passerelle de niveau réseau : le routeur. Le routeur va plus loin dans l'interconnexion, il regroupe en un seul réseau plusieurs réseaux qui utilisent des méthodes d'accès différentes : X.25 et IP par exemple. e) Passerelle d'application. Les passerelles d'application offrent la conversion de tous les protocoles, à un niveau plus élevé du modèle OSI : session, présentation ou application. Une passerelle fait par exemple dialoguer deux applications sur des ordinateurs différents et qui, pour communiquer utilisent des procédures logicielles différentes : SMTP et X.400 par exemple. Multiplexeur Un multiplexeur est un composant réseau qui accepte en entrée un ensemble de lignes statiques, dans une séquence prédéterminée et en sortie les données sont dirigées vers une seule ligne. La ligne de sortie doit avoir la même capacité que la somme de toutes les capacités des lignes d’entrée. Concentrateur Par rapport au multiplexeur, quand la ligne de sortie possède une capacité inférieure à la somme des capacités des lignes en entrées, on parle de concentrateur. Sur réseau local, les concentrateurs appelés aussi HUB. Ces concentrateurs sont relativement passifs et ne requièrent pratiquement aucune configuration. Commutateurs La commutation offre un nombre important de fonctions qui en font un des moyens les plus économiques d’obtenir plus de débit pour le réseau. Les commutateurs fournissent des hauts débits et sont à temps de transit global faible. Le temps de transit global est généralement beaucoup plus bas que pour des routeurs car il y a moins de traitements à opérer dans un commutateur. Quel que soit le cas, token ring, Ethernet ou d’autres technologies à média partagé, le succès des réseaux partagés dépend soit du peu de trafic généré par chaque station soit du peu de stations sur le même segment de réseau. Plus une station peut saturer un réseau, mieux vaut avoir peu de stations sur le réseau. La commutation est principalement une technologie qui permet de réduire le nombre de stations sur un segment. Les commutateurs sont : ♦ simples. Ils prennent des paquets, trouvent un chemin et les transmettent sur un autre port ; ♦ économiques ; ♦ efficaces. Commutateur de niveau 2 La commutation de niveau 2 consiste à affecter la totalité des débits nominaux à une machine ou un groupe de machines. Le commutateur placé derrière un concentrateur ou directement derrière une 2005 Toute reproduction même partielle interdite IGPDE page 51 Architecture physique station se charge simplement de transmettre les trames quasiment sans délai entre deux de ses ports. Les commutateurs de niveau 2 découpent le réseau en plusieurs tronçons ou segments : les paquets sont orientés en fonction de leurs adresses physiques d’accès intégrées dans chaque carte réseau ethernet – MAC (Medium Access Control). Chaque segment contenant un nombre restreint de postes, le trafic et le temps d’accès sont nettement réduits. Commutateur de niveau 3 Les commutateurs de niveau 3, contrairement aux routeurs, sont des composants guidés par électronique. Les commutateurs de niveau 3 découpent le réseau en plusieurs tronçons ou segments : les paquets sont orientés en fonction de leurs adresses IP. VLAN Les réseaux virtuels ou VLAN (Virtual LAN) sont une évolution du concept de réseau local sur une topologie en étoile construite autour de commutateurs. Il s'agit de découper virtuellement les équipements de commutation pour construire plusieurs sous-réseaux indépendants. Le câblage reste inchangé. Le découpage permet : ♦ de réduire la portée des messages en diffusion générale ; ♦ d'augmenter la sécurité en empêchant certains équipements d'échanger des données. Par exemple sur le réseau figure ci-dessous, la station A ne peut pas envoyer directement de données vers la station F. Réseau virtuel simple L'utilisation de réseaux virtuels permet ainsi de définir plusieurs niveaux de sécurité dans le réseau. Par l'exemple, des stations peuvent appartenir à un réseau donnant accès aux serveurs Web de l'entreprise, certaines stations peuvent en plus avoir accès au routeur vers l'extérieur et d’autres stations sont les seuls équipements qui peuvent avoir accès à la base de données. Les réseaux virtuels permettent de réaliser des réseaux axés sur l’organisation de l’entreprise en s’affranchissant de certaines contraintes techniques comme la localisation géographique. On peut ainsi définir des domaines de diffusion indépendamment de l’endroit où se situent les systèmes. Les VLAN ne traduisent aucun protocole de haut débit mais sont souvent utilisés dans des réseaux locaux hauts débits. page 52 Toute reproduction même partielle interdite IGPDE 2005 Architecture physique Il existe plusieurs niveaux de VLAN : ♦ Les VLAN de niveau 1 ou VLAN par port (Port-Based VLAN) qui regroupent les stations connectées à un même port du commutateur. ♦ Les VLAN de niveau 2 ou VLAN MAC (MAC Address-Based VLAN) qui associent des stations par leur adresse MAC selon des tables d’adresses introduites par l’administrateur. ♦ Les VLAN de niveau 3 ou VLAN d’adresses réseaux (Network Address-Based VLAN) qui associe des sous-réseaux IP par masque ou par adresse. Les utilisateurs sont affectés dynamiquement à un ou plusieurs VLAN. CTI Le concept de CTI (Computer Telephony Intégration) est apparu à la fin des années 80. Il vise à associer dynamiquement l'informatique et la téléphonie en conservant les prérogatives de chacun. L'intégration de ces deux technologies est en effet fort intéressante. Dans sa définition générale, le CTI représente le lien entre le PABX de l'entreprise et le serveur CTI afin de raccorder le réseau téléphonique au réseau informatique. Il s'agit, par le biais du PABX, de communiquer en temps réel l'état global du réseau téléphonique au réseau informatique quand celui-ci en a besoin. Ainsi, le PABX communique aujourd'hui une série d'informations au serveur informatique et inversement, ce dernier peut générer des commandes téléphoniques à destination du PABX. Les bénéfices issus du CTI se traduisent donc par une rentabilité et une productivité accrues pour l'entreprise, un service rapide et efficace auprès des clients. Les solutions ou applications CTI sont principalement utilisées par les Centres d'Appels. 3.3. RESEAU LOCAL 3.3.1. Méthode d’accès CSMA/CD Le principe de la méthode CSMA/CD (Carrier Sense Multiple Access with Collision Detection) est simple: écouter avant de parler est le principe appliqué pour l’accès multiple et arrêter de parler si quelqu’un parle déjà est le principe appliqué à la détection de collision. Essentiellement, si une station ne trouve pas de trafic sur le fil, elle peut commencer à envoyer des données sur le réseau. Si, pendant qu’elle envoie des données sur le réseau, elle crée une collision, la station arrête immédiatement et attend une période de temps prédéterminée avant de retransmettre à nouveau. La spécificité d’Ethernet réside dans le fait que dès qu’une station envoie des données, toutes les stations sur le segment doivent être capables de détecter le signal et de rester silencieuses jusqu’à ce que la station en cours de transmission finisse. Token ring Token ring et plus tard FDDI, qui emploient des techniques de type circulation de jeton est une méthode plus récente et plus complexe pour partager le débit d’un réseau. L’approche token ring consiste à disposer les stations sur un anneau logique. Une fois l’anneau formé, un jeton est généré et passé entre les stations sur l’anneau. Si une station a des données à transmettre, elle enlève le jeton du réseau, transmet ses données et repasse le jeton sur le réseau à la prochaine station. 2005 Toute reproduction même partielle interdite IGPDE page 53 Architecture physique Chaque station peut transmettre des données pendant une période de temps paramétrée ou jusqu’à qu’elle ait transmis toutes les données si cela dure moins longtemps. Des inconvénients existent. Le premier, l’algorithme utilisé est beaucoup plus complexe que pour CSMA/CD. Quand l’anneau fonctionne normalement token ring semble plutôt simple. Cependant, si on considère les cas de la perte du jeton, de la duplication du jeton, de la perte inattendue d’une station de l’anneau ou l’introduction d’une nouvelle station, les problèmes se posent alors de manière plus accrue que pour CSMA/CD. 3.3.2. Réseaux locaux actuels PABX Un PABX (Private Automatic Branch Exchange) est le type de réseau local à commutation de circuit le plus répandu. Le PABX a été initialement développé pour fournir un système d’échange téléphonique local et privé. Le PABX voix fournit un point d’interconnexion des téléphones d’une organisation locale et le lien vers le central téléphonique le plus proche. Ethernet Caractéristiques physiques Ethernet a été essentiellement décrit dans quatre spécifications de l’IEEE qui emploient toutes les algorithmes CSMA-CD. Topologies majeures a) 100BASE-T ou Fast EThernet Utiliser des fils était nécessaire si les ordinateurs en réseau devaient être disponibles sur chaque bureau : le même fil utilisé pour la plupart des téléphones dans le monde. La distance maximale supportée par ces technologies BASE-T sur un support fil de cuivre est de 100 mètres. Les prises téléphoniques standards RJ-45 sont utilisées pour les connexions avec les ordinateurs centraux et les prises étaient toujours construites sur la carte interface réseau, rendant les connexions entre les matérielles et les cartes très économiques. Les réseaux 100BASE-T sont très faciles à installer. Son atout réside dans les concentrateurs (hubs). Chaque ordinateur possède un câble dédié pour connecter sa carte Ethernet à un port du concentrateur. b) 1000BASE-T ou Gigabit Ethernet Cette technologie émergeante fonctionne à 1.000 Mbps. Ce type de réseau est plus adapté pour connecter deux réseaux que pour connecter des PCs et des imprimantes sur un réseau local. Tout le principe de fonctionnement de cette nouvelle norme tire parti de la nature du câblage UTP de catégorie 5. Contrairement au fast Ethernet (2 paires utilisées), le gigabit Ethernet exploite un mode full duplex sur chaque paire (4 paires utilisées). page 54 Toute reproduction même partielle interdite IGPDE 2005 Architecture physique Token ring Caractéristiques physiques Token ring est largement utilisé dans les environnements propriétaires IBM. Le passage du jeton n’a pas besoin d’une topologie en anneau. Les vitesses de transmission de 4 et 16 Mbps ont été standardisées. Une station sur chaque segment token ring joue le rôle de moniteur. C’est généralement la première station à entrer sur le réseau, mais chaque station doit être capable de jouer le rôle de moniteur. Le moniteur a quelques responsabilités très importantes. Il doit créer le jeton initial, être capable de stocker le jeton celui-ci est temporairement supprimé de l’anneau, supprimer les paquets inconnus de l’anneau et finalement rétablir le fonctionnement normal du réseau. Topologies Token ring peut utiliser une grande variété de topologies. La topologie la plus commune aujourd’hui comprend des concentrateurs (hubs) actifs avec des stations utilisant le fil téléphonique. Quel que soit le réseau, 4 ou 16 Mbps, le nombre maximum de stations a été établi à 260. En réalité, il est difficile de construire des anneaux de 260 stations ; moins de 100 stations est un nombre plus réaliste. FDDI Caractéristiques physiques FDDI (Fiber Distributed Data Interface) était la première technologie 100 Mbps standardisée. Depuis le début, cette technologie devait servir de backbone réseau. La gestion des stations, les liens redondants et une architecture souple sont quelques-uns des avantages du FDDI. Par contre c’est aussi une technologie plutôt chère, spécialement quand on compare avec les autres technologies 100Mbps comme Fast Ethernet. Comme le nom l’indique, FDDI était prévu pour fonctionner sur fibre. Topologies Les réseaux FDDI reposent sur une topologie en double anneau sécurisé sur lesquels on connecte des stations de type A (possédant une double connexion sur chaque anneau), de type B (possédant une double connexion sur un seul anneau) et de type C (concentrateurs connectés sur les deux anneaux et pouvant relier les stations B). Cette structure permet de connecter 500 stations de type A et C et 1.000 stations de type B. Ainsi : ♦ la topologie est en double anneau pour pallier les pannes d'un coupleur ; ♦ le diamètre de l'anneau peut atteindre 31 Kms et sa longueur peut donc atteindre 100 km ; ♦ la distance normale entre deux nœuds est de 60 kms ; ♦ la taille normale des trames : 45 000 octets ; ♦ le support simultané voix et données (FDDI version 2) ; ♦ le principal protocole supporté est TCP/IP. 2005 Toute reproduction même partielle interdite IGPDE page 55 Architecture physique 3.4. RESEAU SANS FIL Le coût d'un réseau local est principalement dû aux frais de câblage. Les réseaux sans fil proposent une alternative. Le réseau câblé ne sert plus que pour desservir des pièces ou des bureaux et les équipements communiquent par l'intermédiaire de bornes. Les réseaux sans fil sont de plus en plus largement déployés, en particulier avec l'apparition des ordinateurs portables. 3.4.1. IEEE 802.11 La norme IEEE 802.11 concerne les réseaux sans fil (WLAN : Wireless LAN). Le débit dans une zone couverte par une borne varie entre 1 et 2 Mbit/s, suivant le mode de transmission. Ce débit est à partager entre tous les équipements de la zone. Le standard prévoit deux supports de transmission : ♦ les liaisons infrarouges permettent de connecter des équipements sur de courtes distances. Le rayonnement infrarouge est bloqué par les murs, ce qui oblige à mettre une borne dans chaque bureau ; ♦ les ondes hertziennes autorisent une plus grande souplesse puisqu'il n'est pas nécessaire que les deux équipements soient directement visibles. Les ondes hertziennes peuvent traverser les murs, ce qui rend ce mode plus intéressant pour le câblage de locaux : sans obstacle une borne peut connecter des équipements dans un rayon d'environ 100 m, dans un bâtiment, le rayon d'action peut être d'une trentaine de mètres. La norme IEEE 802.11 définit le protocole pour deux types de réseaux. Le premier type correspond aux réseaux ad hoc permettant aux équipements d'une zone d'échanger directement des messages. Le réseau n'existe que tant que les équipements sont actifs. Les équipements respectent des règles qui conduisent à une utilisation équitable de la bande passante. Le second type correspond au mode de fonctionnement client/serveur. Le dialogue passe forcément par un point d'accès qui gère les droits de parole de chaque équipement de la zone de couverture. L'itinérance (roaming) entre les points d'accès est possible. Le point d'accès interconnecte les stations aux autres stations sans fil ainsi qu'au réseau filaire. Les réseaux avec un point d'accès ont de meilleures performances que les réseaux ad hoc. 3.4.2. Bluetooth Une technologie de réseau de proximité sans fil technologie du Groupe d'Intérêt Bluetooth Spécial, fondé en 1998 par Ericsson, IBM, Intel, Nokia et Toshiba. Bluetooth est une norme ouverte pour la transmission courte de voix digitale et des données entre des terminaux mobiles (des ordinateurs portables, PDAs, des téléphones) et des ordinateurs de bureau. Il supporte les applications point à point et multipoint. Bluetooth fournit un transfert de données de 720 Ko/s de 10 mètres jusqu'à 100 mètres. Bluetooth emploie les ondes hertziennes qui peuvent transmettre au travers des murs et d'autres barrières de métal. 3.4.3. WIFI Wi-Fi (Wireless Fidelity) désigne les normes de transmission sans fil pour les réseaux informatiques. Une simple carte WIFI (PCMCIA enfichable sur un portable ou PCI fixe sur un ordinateur de bureau) suffisent pour relier par onde radio un ordinateur à un autre ordinateur ou à une borne réceptrice du réseau de l'entreprise. page 56 Toute reproduction même partielle interdite IGPDE 2005 Architecture physique Utilisation du Wi-Fi A la place d'une connexion par cordon traditionnel (dite "filaire"), une connexion radio Wi-Fi apporte pour les ordinateurs portables : ♦ la possibilité de se déplacer dans l'entreprise avec son poste de travail tout en restant connecté au réseau (par exemple, de son bureau à la salle de réunion) ; ♦ pour un travailleur nomade (commerciaux, cadres...), la possibilité de se connecter immédiatement dans un hôtel, un centre de congrès, un aéroport ; ♦ pour les ordinateurs de bureau : suppression du câblage des locaux, performant et fiable, certes, mais très coûteux à installer et remplacé par une simple borne radio. Normes Il existe 2 normes principales 802.11b (11 Mbits/s) et 802.11g (54 Mbits/s), les matériels 802.11g étant compatibles avec 802.11b. Hot spots Depuis novembre 2002, l’ART a autorisé l’installation de bornes Wi-Fi dénommées hot spots dans les lieux publics (gares, hôtels...). La création d’un réseau de hot spots permet de se connecter à Internet à condition, bien sûr d’être équipé d’une carte Wi-Fi. Le paiement s’effectue aujourd’hui : ♦ soit par cartes prépayées ; ♦ soit par abonnement. Ce système est donc destiné au départ aux professionnels nomades. Pour sa généralisation, des accords de roaming (transfert) entre opérateurs et Fournisseurs d’Accès Internet sont obligatoires. 3.4.4. UWB Avec des débits de dix à cinquante fois supérieurs à ceux de WIFI (100 à 480 Mb/s sur 15 mètres), l’UWB (Ultra Wide Band) permet la transmission de flux lourds comme la vidéo. UWB peut être utilisé aussi bien pour les équipements électroniques que pour les réseaux locaux ou la téléphonie. Les signaux UWB s’affranchissent des obstacles physiques. UWB WIFI BLUETOOTH 480 Mb/s 11 Mb/s 1 Mb/s Portée maximale 10 m 150 m en intérieur et 500 m en extérieur 100 m Utilisation Vidéo, audio, transfert de fichiers lourds Connexion ordinateur, imprimante, PDA ou téléphone Connexion clavier, souris, joystick Débit 3.5. RESEAU LONGUE DISTANCE Les principales techniques utilisées pour construire des réseaux longue distance sont la commutation de circuit, la commutation de paquet et la commutation de cellule. 2005 Toute reproduction même partielle interdite IGPDE page 57 Architecture physique 3.5.1. Réseau à commutation de circuits Réseau Téléphonique Commuté Le RTC (Réseau Téléphonique Commuté) est l’exemple le plus connu de réseau à commutation de circuits. Même si le RTC a été initialement conçu pour des services analogiques d’abonnement téléphonique, il gère les trafics de données via un modem et s’est converti désormais à la technologie numérique. Une des caractéristiques clés du trafic voix est qu’il ne doit pas y avoir de délai de transmission et de variation. Un débit de transmission du signal constant doit être maintenu. Liaison Louée Les liaisons louées numériques appelées aussi liaisons spécialisées permettent de lier deux points du territoire avec des débits entre 64 Kbs jusqu’à plus de 45 000 Kbs. Aujourd'hui les lignes à 1,5Mbps sont classées sous l’appellation T1 et les lignes à 45 Mbps ou l'appellation T3. Ce type de liaison permet de transporter de très nombreux protocoles de communication : X.25, ATM, SDH, IP, etc. RNIS Le RNIS - Réseau Numérique à Intégration de Services ou ISDN (Integrated Service Data Network) en anglais est une technologie de type réseau téléphonique (commutation de circuit) qui permet le transfert rapide de la voix et des données sur les lignes téléphoniques. Il existe plusieurs catégories de RNIS : ♦ RNIS-BRI (Basic Rate Interface) ou 2B+D: le BRI fonctionne à 192 Kbps, les 48 Kbps sont réservés; 2 canaux B à 64 Kbs pour la voix et les données; 1 canal D à 16 Kbps pour les signaux de service et la numérotation ; ♦ RNIS-PRI (Primary Rate Interface) ou 30+D: le PRI fonctionne à 2 Mbs, 30 canaux B à 64 Kbs pour le voix et les données et un canal D de signalisation à 64 Kbs. DSL Sur le dernier kilomètre le fil de cuivre prédomine. Il y a environ 700 millions de lignes téléphoniques en cuivre en place dans le monde. La vitesse de pointe sur ces liens est de 56 Kbps pour des données non compressées. Cela ne représente pas toute la capacité disponible: il y a des fréquences inutilisées sur les lignes téléphoniques que le DSL (Digital Suscriber Line) exploite sans interférer avec la transmission vocale. De cette façon, le DSL permet à la voix et aux données de voyager simultanément sur le même circuit. Fonctionnement Un modem DSL à un bout d’une connexion communique avec les multiplexeurs d’accès DSLAM (DSL Access Multiplexer) à l’autre bout. Le DSLAM à son tour confie le trafic au réseau fédérateur d’un opérateur ou d’un fournisseur de service réseau. Il est important de comprendre qu’un seul modem DSL est nécessaire à l’extrémité distante de la ligne. Il peut être situé sur un poste de travail isolé ou avec un routeur, rassemblant le trafic DSL de tous les utilisateurs d’un site distant. Les connexions DSL sont toujours ouvertes ce qui rend le lien disponible en permanence pour les données. Il n’y a pas d’appel à établir. Sur 1.500 m, il est possible d’atteindre facilement des page 58 Toute reproduction même partielle interdite IGPDE 2005 Architecture physique vitesses de 8 Mbps même quand il y a du bruit et des interférences. Il existe neuf variations de DSL, à commencer par l’ADSL-Asymétric DSL jusqu’au VDSL-Very High DSL. Les services DSL ont des distances maximales différentes. L’ADSL Lite, l’IDSL, le RADSL et l’UDSL peuvent tous aller jusqu’à 5.500 m. Le HDSL et le HDSL2 peuvent atteindre les 3.700 m; le SDSL s’étire jusqu’à 3.000 m et le VDSL atteint les 1.400 m. Services asymétriques Le service est asymétrique quand les données descendantes vers les utilisateurs sont plus rapides que les données montantes. Les services asymétriques sont plus adaptés aux applications grand public comme les sites Web. Services symétriques Les services symétriques a contrario sont typiquement destinés à des applications d’entreprise comme la messagerie, le transfert de fichier, voire la visioconférence. BLR Le terme « boucle locale » désigne le dernier lien qui relie l’abonné téléphonique à son centre de commutation téléphonique. Ce lien, dit aussi « dernier kilomètre » (ou quelquefois « derniers trois cents mètres »), a tout d’abord été réalisé par des paires de cuivre, enterrées ou aériennes. D’autres méthodes alternatives sont apparues par la suite, à savoir la fibre optique, le câble coaxial ou enfin le lien radio. Une alternative pour mettre en place la boucle locale dans un réseau téléphonique est l’utilisation des liaisons radio. Le principe est de remplacer la dernière partie (distribution et branchement) de la boucle par des liaisons radio. La partie transport peut rester identique aux autres méthodes et peut être réalisée en utilisant du câble coaxial, de la fibre optique ou des faisceaux hertziens. Le schéma principal d’un réseau à boucle locale radio se présente comme indiqué sur la figure cidessous. Architecture d’un système de boucle locale radio 2005 Toute reproduction même partielle interdite IGPDE page 59 Architecture physique CPL Pourquoi ne pas utiliser le réseau d'alimentation électrique présent dans chaque ville et dans chaque bâtiment pour transmettre également des données informatiques dans un signal superposé au courant d'alimentation ? Cette idée n'est pas nouvelle, on l'utilise depuis longtemps pour faire basculer un bon vieux compteur électrique en tarif "nuit" ou pour surveiller le sommeil de bébé par interphone. Dans un immeuble, le câble d'alimentation électrique unique va se ramifier en un nombre important de distributions secondaires. Et le raisonnement est le même à l'échelle du quartier ou de la ville. On distingue logiquement deux types de CPL : 1. outdoor : à l'extérieur des constructions. C'est l'une des réponses possibles à la desserte des localités et des habitations isolées, non desservies par l'ADSL. En France, il faudra attendre la privatisation d'EDF pour l'autoriser, lui ou un autre fournisseur d'énergie, à être aussi opérateur de télécommunication ; 2. indoor : à l'utilisation dans un bâtiment professionnel qui est alors directement concurrente du Wi-Fi, on peut rajouter l'utilisation familiale, a priori plus souple et plus intuitive que le Wi-Fi. Il suffit simplement de brancher le modem sur une prise du secteur et d'y connecter son PC. SDH Le problème du transport de l'information sur des supports physiques date de l'ouverture du réseau télex, puis s'est posé pour le réseau téléphonique. Aujourd'hui, il se pose encore dans le cadre des réseaux multiservices et en particulier des réseaux qui doivent transporter des cellules ATM. Les supports physiques sont maintenant numériques et une nouvelle hiérarchie a dû être développée : SDH (Synchronous Digital Hierarchy) en Europe et SONET (Synchronous Optical Network) en Amérique du Nord. SDH a été normalisé en 1988. Cette technologie offre un réseau de très bonne qualité (très faible taux d’indisponibilité) hautement sécurisé, avec de très importants débits sur fibre optique, ainsi que la transmission dans une même trame des services de débits différents (téléphone, données et vidéo). 3.5.2. Réseau à commutation de paquets X.25 Le standard X.25 spécifie une interface entre un système hôte et un réseau à commutation de paquet. Le standard adresse spécifiquement les trois niveaux de protocole suivant : physique, liaison et réseau. Le niveau physique concerne l’interface physique entre une station connectée et le lien qui attache cette station au nœud de commutation de paquet. Le niveau liaison fournit un transfert fiable de données à travers le lien physique en transmettant les données en une suite de trames. Le niveau réseau fournit un service de circuit virtuel. Cela signifie qu’une connexion logique existe entre deux stations qui sont en train d’échanger des données et le réseau livre les paquets de manière fiable et en séquence. Relais de trame Le relais de trame ou Frame Relay en anglais dérive d’une simplification du protocole X.25 allégé de certaines fonctionnalités considérées comme non indispensables en raison de la meilleure qualité page 60 Toute reproduction même partielle interdite IGPDE 2005 Architecture physique des circuits. En pratique, tous les protocoles de la couche 3 du modèle OSI sont supprimés et la commutation est réalisée au niveau 2 comme pour l’ATM, mais la longueur des paquets est différente et non fixe. Cela permet de commuter de 5 à 10 fois plus vite qu’en X.25. Le relais de trames est parfaitement adapté à l’interconnexion de réseaux locaux pour des protocoles divers et plus particulièrement pour X25 de façon transparente. Il est vu par les protocoles comme un support physique. Le Frame Relay permet un débit de 2 Mbit/s à 45 Mbit/s et des temps de réponse très faibles. Il est particulièrement bien adapté aux forts trafics aléatoires tels que les trafics d'interconnexion de réseaux locaux. Par contre les délais de transmission sont variables, le Frame Relay n'est pas adapté aux applications telles que la phonie. Le protocole Frame Relay permet de transporter tous les types de protocoles: IP, SNA, X.25, etc. et de fournir des solutions à de très nombreux types d’application (client/serveur transactionnel, transfert de fichier...). 3.5.3. Réseau à commutation de cellules ATM Les réseaux à commutation de cellules comme ATM en particulier sont architecturés pour gérer des données numérisées son, vidéo et données informatiques. L’idée des réseaux à commutation de cellules est de convoyer des paquets de données standards dans des cellules plus petites de longueur fixe. Dans le cas d’ATM, ces cellules sont de 48 octets avec 5 autres octets pour l’adressage et la gestion. ATM est une technologie basée sur des cellules utilisables en configuration en point à point. Il n’y a pas de concept de partage de média ATM. Seulement deux composants peuvent agir sur chaque fil : un à chaque bout. 3.5.4. VPN Définition Les réseaux privés virtuels RPV ou VPN en anglais (Virtual Private Network) permettent à l’utilisateur de créer un chemin virtuel sécurisé entre une source et une destination. Avec le développement d’Internet, il est intéressant de permettre ce processus de transfert de données sécurisé et fiable. Grâce à un principe de tunnel (tunnelling) dont chaque extrémité est identifiée, les données transitent après avoir été chiffrées. L'idée est applicable à toute architecture de réseau de commutation par paquet. Le RPV existait déjà pour le X25, puis pour le relais de trames et l'ATM. 2005 Toute reproduction même partielle interdite IGPDE page 61 Architecture physique Un des grands intérêts des VPN est de réaliser des réseaux privés à moindre coût. En chiffrant les données, tout se passe exactement comme si la connexion se faisait en dehors d’Internet. Il faut par contre tenir compte de la toile, dans le sens où aucune qualité de service n’est garantie. Utilité En revanche, utiliser les infrastructures Internet publiques comporte des risques. Car le réseau peut se trouver congestionné et la qualité de service n'est pas assurée. L'autre possibilité consiste à faire appel à l'offre de RPV sur IP d'un opérateur ou d'un fournisseur d'accès. L'avantage théorique, c'est de bénéficier d'une meilleure qualité de service, sur un réseau dorsal privé. Contrairement au relais de trames, il n'est plus nécessaire de payer pour toutes les connexions point à point du réseau virtuel maillé entre différents sites. Il suffit de connecter chaque site au « nuage » Internet. Services Ces VPN n’ont pas comme seul intérêt l’extension des WAN à moindre coût mais aussi l’utilisation de services ou fonctions spécifiques assurant la QoS (Quality Of Service) – Qualité de Service et la sécurité des échanges. La qualité de service (QoS) est une fonctionnalité importante des VPN. La sécurité des échanges est assurée à plusieurs niveaux et par différentes fonctions comme le cryptage des données, l’authentification des deux extrémités communicantes et le contrôle d’accès des utilisateurs aux ressources. page 62 Toute reproduction même partielle interdite IGPDE 2005 Architecture physique La qualité de service ne peut être homogène partout dans le monde, autrement dit savoir si le dimensionnement du réseau du fournisseur d'accès est suffisant et si son architecture est vraiment redondante. Par ailleurs, les opérateurs peuvent difficilement garantir une couverture mondiale avec une qualité de service homogène. C'est là un point à considérer, surtout si les sites à raccorder se trouvent dans certains pays « reculés ». Qualité de service La qualité de service désigne avant tout un transfert à débit garanti entre l'émetteur et le récepteur des données et ce avec des temps d'attente (de latence) réduits au minimum. Au moins deux raisons confirment l'importance de ce concept : ♦ La première est que dans les périodes de congestion du réseau, il est primordial de trouver un mécanisme qui autorise un traitement différencié des données en circulation (on peut parler de classes de service) ; ♦ La seconde est que par ce biais, les fournisseurs d'accès trouvent le moyen de proposer des services à valeur ajoutée à leurs clients afin de se distinguer de leurs concurrents. MPLS Le MPLS (Multi Protocol Label Switching) ou commutation de labels consiste à remplacer les traitements longs et complexes associés au relayage de paquets IP par un traitement plus simple. Dans un réseau IP classique, chaque routeur décide, en fonction de l’adresse de destination contenue dans l’en-tête d’un paquet, si celui-ci est destiné à un des sous-réseaux directement connectés ou, dans le cas contraire, vers quel routeur voisin il doit faire suivre le paquet. Pour prendre cette décision, il utilise le contenu de sa table de routage, laquelle est construite par les protocoles de routage. Cette table associe à des adresses de réseaux et de sous-réseaux, ou plus généralement à des préfixes d’adresses IP, le prochain routeur sur le chemin menant vers le réseau de destination. Ce préfixe pouvant être de longueur variable et l’ordre n’étant pas imposé dans la table de routage, le routeur doit examiner l’ensemble de la table de routage pour décider quelle est l’entrée de la table qui correspond le mieux à l’adresse de destination du paquet. La commutation de labels permet de réduire fortement le coût de cette recherche dans la mesure où elle n’est plus effectuée dans les équipements du cœur de réseau. En fait, chaque équipement interne au cœur de réseau effectue une seule fois la recherche au moment de la création du chemin. Pour cela, un label est ajouté dans chaque paquet par les routeurs en frontière du domaine. Ceux-ci peuvent choisir le label en fonction de différents critères parmi lesquels on retrouve généralement l’adresse de destination du paquet. Les décisions de relayage par les équipements dans le cœur du réseau se font sur la base du label ajouté au paquet. Tous les paquets comportant un même label sont traités de la même manière par les commutateurs de labels. Ils subissent le même traitement de relayage et a fortiori, suivent le même chemin jusqu"à la sortie du réseau à commutation de labels. Les équipements disposent d’une table de commutation contenant, pour chaque label entrant, l’interface de sortie et un label sortant. On dit souvent de MPLS qu’il est un protocole de niveau 2,5 et on le représente entre le protocole de niveau réseau et les protocoles de niveau liaison. 2005 Toute reproduction même partielle interdite IGPDE page 63 Architecture physique Place de MPLS dans l’architecture réseau 3.6. OFFRE FRANCE TELECOM Jusqu'aux années 80, les prestations de France Télécom se limitaient le plus souvent à fournir le support de transmission : réseau téléphonique, liaisons spécialisées. Le développement progressif de l'infrastructure numérique du réseau téléphonique en vue du RNIS a permis d'offrir des nouveaux services aux usagers ; les services de la gamme TRANS. Combinant les techniques des réseaux commutés et des liaisons numériques, la gamme TRANS regroupe un ensemble de services. La gamme TRANS offre l'éventail complet des modes d'établissement de liaisons : ♦ liaison permanente : TRANSFIX ; ♦ liaison à temps partiel : TRANSDYN ; ♦ liaison réservée : TRANSDYN ; ♦ liaison commutée : TRANSCOM ou TRANSDYN. Elle utilise différents types de support de transmission : ♦ les artères numériques terrestres (réseau TRANSMIC, liaison bande de base etc.) ; ♦ le réseau téléphonique commuté (RTC ) à 64 Kbs ; ♦ le réseau satellite Télécom 1 et 2. Enfin, la gamme de services France Télécom s’est enrichie d’une offre de réseau IP et de fournisseurs d’accés Internet. 3.6.1. TRANSCOM TRANSCOM est un service de transmission sur liaisons commutées (commutation de circuits) points à point et bidirectionnelles à 64 Kbs. L'établissement des liaisons se fait appel par appel en utilisant une signalisation de type téléphonique. 3.6.2. TRANSDYN Pour répondre à la demande de réseaux à très hauts débits, France Télécom a décidé en 1979 de mettre en place un réseau de télécommunications numériques par satellite appelé TELECOM 1. Ce service permet de nombreux débits de 2400 bit/s à 1920 Kbit/s. Il a une taxation spécifique, basée surtout sur une durée de communication et non sur le volume d'informations transportées. page 64 Toute reproduction même partielle interdite IGPDE 2005 Architecture physique 3.6.3. TRANSFIX TRANSFIX est un service sur liaison numérique permanente, point à point et bidirectionnelle. TRANSFIX offre des débits allant de 2400 bs à 1920 Kbs. La taxation est établie pour la location et l'entretien des liaisons en fonction de la distance et du débit désirés. 3.6.4. TRANSREL France Télécom propose depuis 1950 un service qui offre l'interconnexion point par point entre réseaux locaux d'entreprise. Il comprend une offre globale intégrant les passerelles et les points d'interconnexion ainsi que le réseau de transport. Ce service est actuellement ouvert aux réseaux Ethernet et Token Ring et ATM. 3.6.5. TRANSPAC Le succès de la société TRANSPAC est dû principalement au réseau de transmission de données sous la norme X.25. TRANSPAC est commercialisé depuis 1978. Par le volume de caractères transmis chaque mois et le nombre de ses clients, TRANSPAC est devenu le 1er réseau mondial de transmission de données par paquets. 3.6.6. Global Intranet Cette offre de service géré par TRANSPAC propose des services réseau IP de bout en bout avec la possibilité de construire un réseau privé virtuel (VPN – Virtual Private Network) garantissant le niveau de sécurité nécessaire pour des grandes entreprises nationales et internationales. 3.6.7. SMHD Ouvert depuis septembre 1997, le service SMHD (Service Multisite Hauts Débits) est articulé sur un réseau MAN à base de fibres optiques utilisant la technique de transmission SDH. Les boucles locales SMHD en fibre optique ont un débit choisi à l’abonnement parmi 155, 622 Mbit/s ou 2,5 Gbit/s. 3.6.8. Numéris Les services offerts par Numéris se divisent en trois catégories : ♦ Les services supports : le service Transcom adapté à la transmission de données ; il garantit un canal numérique de bout en bout. ; ♦ Le service téléphonique (conversation, télécopie etc.) ; ♦ L'accès à TRANSPAC : un utilisateur peut via Numéris accéder à TRANSPAC sans souscrire un accès direct; ♦ Les télé services (le télétexte, le vidéo texte) ; ♦ Les compléments de service : Les compléments de service sont liés au canal D. Ils apportent des éléments de confort d'utilisation et de souplesse d'exploitation de l'installation Numéris. Parmi les services figurent l'identification d'appel, la présentation d'appel, la portabilité, le transfert d'appel, etc. 2005 Toute reproduction même partielle interdite IGPDE page 65 Architecture physique 3.6.9. ADSL INTERNET sur ADSL Pour connecter un(e) : ♦ Serveur : TURBO IP, orienté Internet Service Provider (Fournisseur d’Accès Internet) et OLEANE ADSL, orienté entreprises ; ♦ Station de travail : WANADOO ADSL orienté particuliers OLEANE ADSL est interfacé par le réseau TRANSPAC. INTRANET/ EXTRANET sur ADSL Pour connecter un(e) : ♦ Serveur : TURBO LL et, à travers le réseau TRANSPAC, GLOBAL INTRANET ADSL ; ♦ Station de travail : GLOBAL INTRANET ADSL. Dans l’offre TURBO LL concentrant de bout en bout « n vers 1 » le trafic abonné, les débits offerts en protocole ATM sont 34 Mbit/s ou 155 Mbit/s sur fibre optique. 4. SYSTEME D’EXPLOITATION 4.1. DEFINITION Le système d’exploitation est l’ensemble des programmes qui se chargent de résoudre les problèmes relatifs à l’exploitation de l’ordinateur. Plus concrètement, on assigne généralement deux tâches distinctes à un système d’exploitation : ♦ Gérer les ressources physiques de l’ordinateur : assurer l’exploitation efficace, fiable et économique des ressources critiques (processeur, mémoire) ♦ Gérer l’interaction avec les utilisateurs : faciliter le travail des utilisateurs en leur présentant une machine plus simple à exploiter que la machine réelle (concept de machine virtuelle) Il existe aujourd’hui un nombre très important de systèmes d’exploitation (plusieurs centaines). La tendance actuelle est toutefois à la standardisation, en se conformant aux systèmes existants plutôt qu’en en développant de nouveaux. Une classification fréquente des systèmes d’exploitation est la suivante : ♦ Mono-tâche : à tout instant, un seul programme est exécuté; un autre programme ne démarrera, sauf conditions exceptionnelles, que lorsque le premier sera terminé ; ♦ Multi-tâches : plusieurs processus (i.e. un «programme» en cours d’exécution) peuvent s’exécuter simultanément (systèmes multi-processeurs) ou en quasi-parallélisme (systèmes à temps partagé) ; ♦ Mono-session : au plus un utilisateur à la fois sur une machine. Les systèmes réseaux permettent de différencier plusieurs utilisateurs, mais chacun d’eux utilise de manière exclusive la machine (multi-utilisateurs, mono-session) ; ♦ Multisessions : plusieurs utilisateurs peuvent travailler simultanément sur la même machine. page 66 Toute reproduction même partielle interdite IGPDE 2005 Architecture physique Un système d’exploitation est structuré en couches. Plus particulièrement, les fonctions principales du noyau (d’un SE ( système d’exploitation) multitâches) sont : ♦ Gestion du processeur: reposant sur un allocateur (dispatcher) responsable de la répartition du temps processeur entre les différents processus et un planificateur (scheduler) déterminant les processus à activer, en fonction du contexte ; ♦ Gestion des interruptions: les interruptions sont des signaux envoyés par le matériel, à destination du logiciel, pour signaler un évènement ; ♦ Gestion du multi-tâches:simuler la simultanéité des processus coopératifs (i.e. les processus devant se synchroniser pour échanger des données), gérer les accès concurrents aux ressources (fichiers, imprimantes, ...). Les autres couches sont plus explicites dans leur terminologie. 2005 Toute reproduction même partielle interdite IGPDE page 67 Architecture physique 4.2. CAPACITES Le tableau ci-dessous présente une répartition possible des matériels en fonction des systèmes d’exploitation mis en oeuvre. Cependant, les systèmes d’exploitation possèdent des capacités qui leur permettent d’offrir des services aux logiciels hébergés aussi bien sur le poste client que sur la plate-forme serveur. Ces capacités se retrouvent en fait sous forme de mécanismes de base dont la fourniture dépend de la solution architecturale mise en oeuvre. TYPE MATERIEL ET SYSTEME D’EXPLOITATION Monde PC Intel DOS, Windows 9.X, Windows 2000 et XP, Netware, Unix et Linux Monde Macintosh Macintosh Mac OS Monde Unix SCO Unix, Sinix de SNI, HP-UX de HP, AIX d'IBM, Solaris, Linux, Digital Unix, Sun OS, Unixware de Novell, Nextstep Monde des superminis Open VMS de DEC, AS/400 d'IBM, Sequent, Pyramid de SNI, Tandem Nonstop Monde des grands systèmes MVS d'IBM, GCOS 7 et 8 de Bull, VME d'ICL, SB4R4 et SB5R3 d'UNISYS, BS 2000 de SIEMENS 4.2.1. Multitâche préemptif Le multitâche préemptif est une technique répartissant l’exécution des applications de manière équilibrée: une tranche de temps d’exécution définie est allouée à chaque tâche. C’est le microprocesseur qui gère la file des applications en train de s’exécuter, permettant aux programmes de fonctionner à la même vitesse, quel que soit leur état. 4.2.2. Priorité des tâches Le système d’exploitation ordonnance les tâches suivant leur ordre de priorité. 4.2.3. Sémaphore Le système d’exploitation offre un mécanisme simple pour éviter que les tâches s’exécutant simultanément ne se télescopent en accédant aux mêmes ressources. Les sémaphores permettent de synchroniser les actions de plusieurs tâches indépendantes et de les alerter si une erreur survient. 4.2.4. Communication interprocessus locale ou distante Le système d’exploitation fournit les outils nécessaires à l’échange et au partage de données entre processus indépendants qu’ils soient corésidents à une machine ou séparés par un réseau. 4.2.5. Multithread Un thread est la plus petite unité d'exécution que le système peut faire tourner; un chemin d'exécution à travers un process. Chaque thread correspond à une pile (stack), un pointeur instruction, une priorité, l'état du processeur et une entrée dans la liste d'ordonnancement page 68 Toute reproduction même partielle interdite IGPDE 2005 Architecture physique (scheduler) du système. Les threads communiquent par l'envoi de messages et sont concurrents pour l'obtention des ressources systèmes. Dans un environnement multithread, un process est divisé en tâches exécutables indépendantes. Un thread est une unité élémentaire d’exécution gérée par le programme lui-même. Les tâches sont allouées à différentes parties du programme plutôt qu’à des programmes différents. 4.2.6. Protection mémoire intertâche Le système d’exploitation prévient les interférences entre les ressources des différentes tâches. 4.2.7. Micronoyau A la différence du coeur des systèmes traditionnels, en couche, le micronoyau regroupe en une seule entité les seules fonctions indispensables à l’exploitation du système (notamment l'organisation des moyens de communication interprocessus). De très faible volume, il offre la possibilité de réaliser un environnement portable sur différentes architectures, adaptables aux environnements distribués et modulaires. 4.3. POSTE CLIENT 4.3.1. Fonctions Le côté client d’une application hébergé sur le poste de travail fournit l’aspect externe des services offerts par le système. Toutes les applications client ont une fonction commune: elles requièrent des services d’un serveur (cf- chapitre architecture applicative physique). Ce qui les différencie est la façon dont elles déclenchent ces requêtes et quelle interface elles utilisent. 4.3.2. Types d’interface Interface caractère Ces applications de type TUI (Text User Interface) ont un minimum d’interaction humaine. Elles peuvent soit nécessiter du multitâche comme les robots, les démons (tâches de fond) soit ne pas nécessiter de multitâche comme les guichets automatiques. Ces interfaces sont guidées par les données. Interface graphique Les clients à interface utilisateur graphique ou GUI (Graphical User Interface) sont des applications dans lesquelles les requêtes occasionnelles au serveur résultent d’une interaction entre l’utilisateur et l’interface graphique. Cette interface est centrée sur les applications. Ces interfaces sont guidées par les événements: souris, clavier, mises à jour d'une fenêtre, menus, démarrage/terminaison. Ils sont de type FISP - Fenêtres, Icônes, Souris, Pointeur. Il existe deux types de GUI : ♦ X-Window tournant sur système Unix ; ♦ Windows. X-Window Une architecture X-Window est basée sur le modèle client/serveur. Le client agit comme un serveur de présentation et le serveur tourne un client pour ce serveur de présentation. Le 2005 Toute reproduction même partielle interdite IGPDE page 69 Architecture physique programme serveur contrôle l'affichage et fournit une interface entre lui-même et les clients, qui sont généralement les programmes d’application. Les clients et le serveur peuvent tourner sur le même noeud réseau ou sur des nœuds différents et communiquer en échangeant des messages en utilisant le protocole X.11 dénommé X-Window. X-Window fournit une interface graphique pour les utilisateurs qui partagent une ressource Unix, lui-même orienté accès en mode caractère. Le serveur contrôle l'application. Cependant le protocole X est gourmand en bande passante réseau. Il n'est donc envisageable que sur réseau local. Windows Dans cet environnement, chaque interface a ses propres modes d'affichage et d'interaction, certaines fonctions communes sont disponibles dans chaque environnement. Ce type d'environnement fournit la logique de présentation et le traitement logique applicatif. Les traitements qu'il peut réaliser sont soit liés aux données, comme les contrôles d’intégrité et la validation, soit liés à la logique applicative dont la mise en oeuvre s'effectue sur le serveur. Le client contrôle l’application. Interface orientée objet Cette interface donne accès aux informations sous forme très visuelle. L’utilisateur commande le système en manipulant des objets de travail visuels. Les interfaces OOUI (Object Oriented User Interface) sont utilisées par les personnes qui effectuent des tâches multiples, variables et sans ordre prédéfini comme dans les applications décisionnelles ou pour des consoles d’administration système. Ces interfaces sont guidées par les icônes. Interface web Introduction Le passé récent dans le domaine de l’ergonomie des interfaces utilisateurs a été dominé par les interfaces graphiques (GUI) mais l’époque d’Internet amène désormais des changements. Certaines caractéristiques des GUI posent des problèmes : ♦ Le double-clic ; ♦ Les fenêtres qui se recouvrent ; ♦ Les menus hiérarchiques en cascade ; ♦ Les barres d’outils qui ressemblent à des hiéroglyphes. NUI Le Web préfigure une nouvelle manière de présenter les informations, axée davantage sur la navigation car le volume à représenter est quasiment infini. On va donc passer progressivement de la notion de GUI à la notion de NUI pour Network User Interface dénommée aussi Interface Web. Celui-ci est implémenté dans les navigateurs. page 70 Toute reproduction même partielle interdite IGPDE 2005 Architecture physique Les interfaces graphiques comme Windows reposent essentiellement sur une gestion évènementielle fine des actions de l’utilisateur. En comparaison le modèle événementiel du web est nettement moins prononcé. Cette pauvreté est lourde de conséquence sur le potentiel des interfaces utilisateurs s’appuyant sur le Web. Mais cette infériorité apparente peut se révéler avantageuse dans bien des cas d’application, en particulier dans le domaine de la gestion. En effet, la gamme des possibilités de Windows peut constituer un sérieux handicap dans de nombreux cas, notamment quand il s’agit de guider soigneusement l’utilisateur dans les actes de gestion traduits sous forme de fonctions automatisées. Pour réaliser des interfaces Web de bonne qualité, il est important d’oublier Windows. Il faut accepter tout de suite le fait que le Web n’est pas une nouvelle déclinaison de l’interface graphique. Le double clic n’existe pas à l’intérieur d’une page Web, ni le glisser-déposer (drag and drop). Les applications Windows se manipulent alors que les applications Web se parcourent : ♦ Les applications Windows se ressemblent relativement peu les unes par rapport aux autres alors qu’on reconnaît tout de suite une application Web ; ♦ Les applications Windows nécessitent un apprentissage tandis que les applications Web s’appréhendent d’entrée de jeu. 4.3.3. Types de client Le poste de travail a considérablement évolué au cours des différentes époques de construction des systèmes informatiques : du terminal passif au PDA (Personnal Digital Assistant) en passant par le client léger, lourd et même riche de nos jours. Il a pris de multiples formes pour répondre aux besoins de confort de l’utilisateur, de robustesse, de mobilité, d’ « administrabilité », etc. Même si les profils techniques sont relativement réduits, bâtis autour des PC, des Mac ou des stations Linux, les capacités du poste de travail se sont sans cesse enrichies pour offrir des fonctionnalités d’accès aux systèmes d’informations nationaux mais de traitement local par exemple bureautique. Une dualité difficile à gérer pour les exploitants d’architecture informatique dont le cauchemar de l’administration du poste de travail reste toujours d’actualité. Client léger A l’origine des systèmes informatiques propriétaires IBM, BULL, SIEMENS, etc. , les premiers postes de travail étaient et sont toujours des terminaux passifs qui n’offrent qu’une capacité d’affichage des informations. Toutes les autres briques de l’application sont hébergées sur des serveurs intermédiaires et sur les centraux (hôtes). Le premier véritable client dit léger a été le Terminal X. Il a permis le déport de l'interface graphique d'applications Unix. Vers 1995, il a été détrôné par la technologie ICA, de Citrix, aujourd'hui concurrencée par RDP, de Microsoft. Depuis 1996, le client léger a fait parler de lui par les voix d'Oracle et de Sun, qui défendaient des terminaux exécutant des applets Java téléchargées via le réseau, ces terminaux étaient appelés Network Computer. Un échec. Il en a été de même pour le NetPC, PC simplifié promu par Intel et Microsoft. Il est d’usage de distinguer dans le client léger le terminal passif (X Window, Emulation Windows, navigateur Web de base) pour lequel l’application est exécutée à distance du terminal actif (network computer et Netpc, navigateur web évolué) pour lequel l’application stockée sur le serveur et exécutée localement. 2005 Toute reproduction même partielle interdite IGPDE page 71 Architecture physique Network Computer Un Network Computer (NC) est un ordinateur de bureau qui fournit un accès aux intranets et/ou à Internet. Il est conçu comme un client léger qui télécharge toutes les applications du serveur de réseau et obtient toutes ses données et stocke les modifications sur ce serveur. Le NC est similaire à une station sans disque et n’a pas de lecteur de disquette ou de disque dur. Les avantages des NCs sont de deux ordres. Premièrement comme tout est maintenu du côté du serveur, le logiciel est installé et mis à jour à un seul endroit plutôt que sur chaque station. Deuxièmement, les NCs doivent permettre de diminuer les coûts de maintenance des ordinateurs. Les NCs sont conçus pour accueillir des applications Java qui sont des programmes interprétés. Le but est qu’une fois que l’application Java est écrite, elle peut tourner sur n’importe quel NC possédant un interpréteur Java (JVM-Java Virtual Machine), quel que soit le type de processeur. NetPC Un NetPC est un ordinateur basé sur Windows qui est conçu pour être administré de manière centralisée dans un réseau. Il est configuré comme un client obèse c’est-à-dire hébergeant des applications, mais peut être utilisé alternativement en client léger. En tant que client obèse, un NetPC est similaire à un PC, excepté qu’il obtient son installation initiale et les suivantes de Windows ainsi que les applications du serveur. Le logiciel réinstallé sur le disque dur comme un PC, mais les versions des programmes sont surveillées par un serveur de gestion chaque fois que le PC s’allume. Le lecteur de disquette et/ou de CD-ROM sont optionnels mais peuvent être verrouillés par l’administrateur réseau si nécessaire. Les NetPC peuvent être alternativement des clients légers. Dans ce cas, le système d’exploitation est initialisée du réseau chaque fois que le PC s’allume. Ainsi toutes les applications et les données sont obtenues du serveur. La différence entre le NetPC et le NC est que le NetPC est basé sur Windows seulement et le disque dur local est utilisé pour la mémoire cache de l’application pour améliorer les performances. Le NC n’utilise pas le disque dur. Emulation windows Cette solution consiste à concentrer seulement l’affichage de type Windows sur le poste client et à déporter toutes les autres fonctions sur des serveurs centraux. a) Terminal Server de Microsoft Terminal Server Emulation est la technologie d’émulation Windows de Microsoft. Les clients Windows de WTS-Windows Terminal Server fonctionnent uniquement à travers TCP/IP. Le protocole de communication est le Remote Desktop Protocol (RDP). b) WinFrame de Citrix La solution WinFrame de Citrix est certainement la plus utilisée et consiste en la modification de centaines de fichiers du système d'exploitation dans le but d’offrir la fonctionnalité multiutilisateur. La technologie proposée repose sur le protocole Intelligent Console Architecture (ICA). Il s’agit de l’élément clé du système qui peut fonctionner avec presque tous les protocoles de réseau qui existent. page 72 Toute reproduction même partielle interdite IGPDE 2005 Architecture physique Du côté du client vous pouvez travailler à partir d’environnements divers : Windows, Linux / Unix, Macintosh ou DOS. MetaFrame n'est pas un concurrent de Windows Terminal Server car il lui apporte des fonctionnalités supplémentaires. Les deux sociétés collaborent au développement de Windows Terminal Server. MetaFrame est donc «une couche» logicielle supplémentaire qui vient s’ajouter à la version Windows Terminal Server de Microsoft. Client WEB Bien sûr, l’exposé des clients légers ne serait pas complet si l’on n’évoquait pas le poste hébergeant un navigateur de base de type Internet Explorer ou Netscape Communicator. Il s’agit ici de la solution la plus réduite du client Web, capable de dialoguer en http et d’interpréter des fichiers au format HTML. Il est important de signaler aussi la solution de type Web comportant le client Web dit dynamique et le client à code mobile. Le client dynamique correspond au client Web de base avec des capacités supplémentaires telles que du code Javascript interprété sur le poste ou l’adjonction de plugin et de helper venant compléter les fonctionnalités d’interprétation du navigateur. Le client à code mobile correspond à la solution dans laquelle le code est téléchargé du serveur sous forme d’applet écrite en Java exécutée par la JVM (Java Virtual Machine)ou d’active/X dans le monde Microsoft. Face à ces clients légers, les clients lourds se déclinent en client lourd et désormais client riche. Le client lourd est à la base un poste de type PC, Mac, station UNIX ou Linux , fixe ou mobile hébergeant potentiellement des traitements et/ou des données. Client lourd Le client lourd correspond au client de type client- serveur de données ou de traitement sur lequel certaines parties de l’application (données, traitement) résident et s’exécutent. Cette génération de client a vu son apogée juste avant la vague Internet et Web. Avantages ♦ Les avantages de ce type de solution pour le poste sont en premier lieu la puissance disponible sur le poste. En effet, ces postes possèdent une capacité très nettement supérieure au client léger ; ♦ L’ergonomie est potentiellement plus riche car l’utilisateur peut bénéficier de logiciels de gestion de présentation plus évolués ; ♦ L’intégration bureautique est largement facilitée car les programmes de traitement de texte, tableur, mini bases de données, etc. sont installés en résident sur le poste ; ♦ Un autre point majeur à signaler est lié à la généralisation de ce type de solution : il s’agit en effet du poste le plus répandu dans les infrastructures informatiques ; ♦ Il est adapté à des fonctions particulières comme des postes de CAO (Conception Assistée par Ordinateur), DAO (Dessin Assisté par Ordinateur) ; ♦ En ce qui concerne le PDA, son encombrement est évidemment extrêmement réduit et permet de plus en plus facilement l’accès au réseau de l’entreprise. 2005 Toute reproduction même partielle interdite IGPDE page 73 Architecture physique Inconvénients ♦ Tout d’abord et par définition, leur installation est complexe car il faut prévoir non seulement les logiciels systèmes mais aussi les applications ; ♦ Leur déploiement est ainsi particularisé à l’application à déployer. Leur gestion en configuration est primordiale pour assurer une administration du poste performante et pour mettre à jour des éléments de l’application sur le poste. L’administration est ainsi largement complexifiée ; ♦ Les performances réseau ne sont pas toujours satisfaisantes, par exemple pour le client serveur de données, les solutions les plus répandues (i.e. Oracle avec net8) exigent des réseaux longue distance moyen ou haut débit ; ♦ Il faut remarquer de plus que les taux d’obsolescence de ce type de poste sont de plus en plus rapides : tous les six mois, les capacités logicielles et matérielles évoluent ; ♦ La sécurité sur le poste qu’il soit de type PC fixe ou PDA est beaucoup plus délicate à mettre en œuvre que pour le client léger car les paramètres à prendre en compte sont beaucoup plus nombreux ou technologiquement plus ardus à mettre en œuvre (PDA) ; ♦ L’encombrement et sa non-mobilité sont des éléments du PC à prendre en compte dans les nouvelles architectures où ces caractéristiques deviennent de plus en plus essentielles pour des raisons de besoin (mobilité) ou de coûts (encombrement) ; ♦ Enfin et ce n’est pas le moindre des inconvénients, le client lourd est la solution d’un coût plus élevé que pour le client léger. Client riche Pour réunir les avantages des deux mondes lourd et léger, une nouvelle catégorie de poste a vu le jour dénommé client riche. Il consiste en un poste de type client léger sur lequel une application graphique est installée, dénommé framework ou cadre d’exécution. Cette application se connecte à des traitements sous forme de services Web (cf.- § Communication Inter Application). Avantages ♦ Les avantages principaux du client riche sont de retrouver une capacité de déploiement simplifiée ou à chaque poste est certes plus évolué qu’un simple navigateur mais n’impose pas cependant une configuration trop complexe ; ♦ Un avantage majeur réside dans la possibilité de pouvoir bénéficier d’une ergonomie nettement plus riche que le Web classique ; l’application graphique du client riche permettant de redonner à l’utilisateur des interfaces fenêtrées et d’objets plus conviviaux ; ♦ Techniquement, le client riche permet de travailler en standard soit en mode connecté ou soit en mode déconnecté, offrant ainsi la possibilité aux concepteurs de réaliser des systèmes identiques dans les deux cas ; ♦ Un autre avantage majeur réside dans la capacité grâce à l’application graphique d’améliorer les performances de l’application en gérant les échanges avec le serveur de manière plus judicieuse (gestion des listes en local, « bufferisation » des données avant envoi global, etc.). Inconvénients ♦ Cependant, il faut remarquer que l’installation du poste demeure légèrement plus complexe qu’un client léger, rendant ainsi l’administration un peu plus complexe, essentiellement en gestion de configuration ; ♦ Par conception même de la solution, la maintenance sera plus compliquée que le client léger puisque l’interface est nettement plus riche ; page 74 Toute reproduction même partielle interdite IGPDE 2005 Architecture physique ♦ Enfin et c’est sans doute l’inconvénient majeur, la solution du client riche est très récente, peu de système informatique l’ont mise en œuvre. De plus, cette nouvelle technologie nécessite de refondre les interfaces des applications. 4.3.4. Nomadisme Introduction Les technologies et les services de communication mobiles, que l’on regroupera ici sous les termes « d’informatique nomade », ont acquis au cours des dernières années une maturité qui a favorisé leur adoption à la fois par le grand public et par les milieux professionnels. Les usagers, séduits par les possibilités qu’offrent les ordinateurs portables, les assistants personnels (PDA), les tablettes graphiques et autres téléphones portables revendiquent toujours plus fortement la possibilité de pouvoir accéder à l’information hors de l’organisation dans laquelle ils travaillent…. Sécurité Le caractère nomade d'une information rend son accès plus facile (volontairement ou non) à des personnes auxquelles elle n'est pas destinée. L'information nomade pose ainsi des problèmes de sécurité à différents niveaux. Les appareils nomades Ils évoluent très rapidement et le progrès technique multiplie les possibilités de véhiculer de l'information. Si l’on désire édicter une politique de sécurité et les directives correspondantes, qui par nature doivent avoir une certaine stabilité, il est préférable de s'affranchir des technologies mises en oeuvre. Cela permet aussi de ne pas multiplier les cas de figure qui pourraient complexifier la problématique: matériel fixe ou mobile, appartenant à l'État ou privé, liaison avec ou sans fil, etc. Les différentes technologies posent cependant toujours le problème de la sécurité physique (protection contre le vol, la perte, la destruction) qui ne doit évidemment pas être négligée. Les informations Les informations sont in fine la matière sur laquelle il faut travailler quand on veut traiter des problèmes de sécurité posés par l'informatique nomade. Le sujet n'est pas nouveau, mais il a longtemps été limité aux dossiers (documents papier) que l'on prend avec soi lors de déplacements professionnels ou pour travailler à la maison. Or, le monde numérique pose des problèmes nouveaux en regard de cette information qui est un bien précieux pour l’entreprise et qu’il convient donc de protéger de manière appropriée. En effet l’informatique nomade permet de plus en plus de sortir de l’entreprise des informations sensibles. Elle autorise également une autonomie de travail totale ainsi qu’une plus grande flexibilité. Ces nouvelles technologies permettent également aux applications métiers d’embarquer des données hors de l’entreprise afin notamment d’éviter des doubles saisies. Le problème réside dans le fait qu’il devient de plus en plus simple de sortir des données (qui sont parfois sensibles) de l’entreprise dans un environnement qui est généralement non sécurisé. Dans ces conditions, la sauvegarde ainsi que la sécurité de la transmission des données ne sont pas toujours assurées. Or tout le monde n’appréhende pas encore les risques associés à ces technologies, notamment en ce qui concerne les notions de : ♦ Confidentialité : l’information n’est accessible qu’aux ayants droit. Tout doit être entrepris pour éviter son accès aux personnes non autorisées ; 2005 Toute reproduction même partielle interdite IGPDE page 75 Architecture physique ♦ Intégrité : les informations sont garanties au niveau de leur exactitude et de leur intégralité. Toutes les mesures nécessaires doivent être prises afin qu’elles ne soient ni modifiées abusivement, ni effacées ; ♦ Disponibilité : les informations sont accessibles à tout moment. L’accès aux informations ne doit être ni perturbé, ni rendu impossible par une manipulation mal intentionnée… ou maladroite ! Les technologies des réseaux Les technologies de communication « mobiles » sont nombreuses et ne se résument pas aux seuls réseaux mobiles « cellulaires ». Autour de l’utilisateur, elles se déclinent par degré de proximité physique décroissant : du réseau personnel (Personal Area Network, PAN) au réseau local (LAN) et au réseau distant (Wide Area Network, WAN). Les réseaux personnels (PAN) Le premier niveau de réseau est constitué par les réseaux « personnels », voire à un niveau encore inférieur, par les réseaux « corporels » (Body Area Network, BAN, constitué des appareils situés sur ou implantés dans le corps de l’utilisateur). Ces formes de réseaux permettent aux appareils situés dans la périphérie immédiate de l’utilisateur de communiquer entre eux pour constituer ensemble un environnement cohérent et utile. La technologie de référence aujourd’hui pour ce type de réseaux est Bluetooth. Les réseaux locaux sans fil(WLAN) Les technologies sans fil de réseaux locaux (Wireless LAN, WLAN) permettent de mettre en relation des appareils entre eux dans une périphérie élargie, celle d’un bâtiment, d’un espace public, d’un campus, voire au-delà, celle d’un espace géographique de quelques centaines de mètres de diamètre. Wi-Fi est aujourd’hui la technologie la plus répandue Les réseaux mobiles cellulaires (WWAN) Les technologies mobiles « classiques » reposent sur des standards numériques et une organisation des réseaux en « cellules », les communications mobiles pouvant passer sans discontinuité d’une cellule à une autre de manière à construire un réseau longue distance sans fil ou Wireless WAN. Il s’agit de GSM, GPRS, UMTS ou EDGE. Les « terminaux » et appareils électroniques Les terminaux seront issus de plusieurs domaines d’usages, plusieurs filières technologiques et industrielles. A court terme, les terminaux bien connus que sont les téléphones et pagers (encore très utilisés aux Etats-Unis avec le Blackberry) ou les ordinateurs et PDA, seront rejoints par un grand nombre d’appareils issus du monde de la musique, de la télévision ou de l’image (appareils photos et caméras). Tous ces appareils communiquent, que ce soit en mode synchrone ou asynchrone (transfert de fichiers, synchronisation). page 76 Toute reproduction même partielle interdite IGPDE 2005 Architecture physique Issus du téléphone Téléphone GPRS / UMTS Smartphone Téléphone MP3 Pager bidirectionnel ... Issus des médias Autoradio Walkman, MP3-man, discman Radio portable Console de jeux portable e-Book Issus de l'ordinateur PDA communicant Laptop Ardoise électronique ... Issus du monde de l'image Appareil photo numérique Caméra numérique Webcam ... Issus du monde des transports GPS, système de guidage PDA Dans la liste précédente, le PDA tient une place particulière. Définition Téléphoner, planifier, s'informer et transmettre des fichiers sans s'encombrer autant de tâches que les PDA (Personnal Digital Assistant ou assistants numériques personnels) ont rendu évidentes et nomades. Mais la jeune industrie des ordinateurs de poche se cherche une identité, entre une guerre naissante de standards et un conflit qui l'oppose aux téléphones portables. Les PalmPilots, Cassiopea et autres Psion ne sont pas encore autonomes. Certes, ils disposent de ressources propres et savent se rendre utiles au quotidien mais ils ne seraient rien sans leur extension naturelle qui décuple leurs fonctionnalités. Connectés à un PC, ils sont ouverts sur l'Internet et sur les données installées. Ils peuvent ainsi se gorger d'informations, qui seront consultées plus tard. Pour couper définitivement le cordon ombilical, il va falloir leur offrir des moyens propres de communication. Ainsi les PDA deviendront communicants, c’est-à-dire qu’ils intégreront toutes les fonctionnalités d’un téléphone avec une taille permettant l’utilisation d’un « écran confortable » tandis que les mobiles intégreront des fonctionnalités dignes d’un PDA en conservant la taille d’un téléphone portable (smartphone). La nouvelle génération de PDA et téléphones mobiles sera probablement le résultat d’un rapprochement de ces deux dispositifs. Cette tendance à la convergence est une opportunité de standardisation des dispositifs et en particulier des systèmes d’exploitation. Acteurs Les acteurs principaux sont : PalmOs de Palm Computing, WindowsCE de Microsoft. a) Microsoft Depuis longtemps, le géant américain manifeste son ambition de placer ses produits dans tous les appareils électroniques. Il a donc développé une version allégée de Windows baptisée WindowsCE pour Consummer electric, affichant du même coup son ambition de toucher le grand public. Windows CE équipe déjà des ordinateurs portables légers, des ordinateurs de poche ou des tablettes graphiques. 2005 Toute reproduction même partielle interdite IGPDE page 77 Architecture physique b) Palm Computer Marginalisé par Symbian, Palm Computing (filiale du groupe 3Com) a tout de même réussi à rebondir grâce à l'extraordinaire offre logicielle associée à son appareil (l'organiseur Palm ou Palm Pilot). 4.4. SERVEUR 4.4.1. Fonctions Le terme de serveur est très souvent employé pour désigner la plate-forme matérielle qui héberge la fonction logique du serveur. Le rôle du serveur est de servir de multiples clients intéressés par les ressources partagées. Dans ce cadre, le serveur réalise les activités suivantes. ♦ Attente de requêtes émises par les clients : certains serveurs assignent une session particulière à chaque client, d’autres créent un jeu dynamique de sessions réutilisables. D’autres réalisent un mélange des deux modes ; ♦ Exécution simultanée de nombreuses requêtes : le serveur doit pouvoir s’occuper simultanément de plusieurs clients tout en protégeant l’intégrité des ressources partagées ; ♦ Attribution de priorités: le serveur doit pouvoir offrir différents niveaux de priorité à ses clients: priorité basse pour les requêtes d’impression et priorité haute pour les requêtes transactionnelles ; ♦ Lancement et exécution de tâches de fond: le serveur doit être capable de lancer des tâches de fond sans lien direct avec le besoin fonctionnel: réplication, téléchargement, etc. ; ♦ Robustesse de fonctionnement: le programme serveur est une application critique à cause du nombre de clients qui dépendent de ses services ; ♦ Extensibilité : l’environnement du serveur doit être évolutif et modulaire pour accroître ses capacités rapidement. 4.4.2. Performances d'un serveur Si le réseau est la colonne vertébrale du système d’information, les serveurs sont les cerveaux. Si un serveur ne fonctionne plus, l’organisme concerné ne fonctionne plus non plus. Il s’agit de dimensionner les serveurs de manière la plus pérenne et la plus adaptée et robuste par rapport aux besoins de mise en production. Les bancs d’essai réel/opérationnel tentent de mesurer les performances d’un système sous une charge qui existerait dans un environnement de production. Ce sont souvent des tests basés sur des applications telles que des systèmes de bases de données ou de messagerie. Ils peuvent êtres configurés pour se rapprocher de l’environnement application et utilisateur. Beaucoup de bancs de test existent; certains sont commerciaux, certains sont diffusés, certains sont incomplets. TPC Le TPCErreur ! Signet non défini. (TransactionErreur ! Signet non défini. Processing Concil), un consortium de fournisseurs de plates-formes matériel et logiciel a été fondé en 1988 pour définir des bancs de test pour les traitements transactionnels et de base de données. Il existe 4 types principaux de TPC. page 78 Toute reproduction même partielle interdite IGPDE 2005 Architecture physique SPEC SPEC (Standard Performance Evaluation Corporation) est un banc de test synthétique qui mesure les capacités du serveur pour le traitement des entiers et des décimaux. SPEC est souvent utilisé par les constructeurs de CPU pour montrer les performances relatives d’autres CPU. Il existe 5 types majeurs de bancs de test SPEC. AIM Technologie Les tests AIM Technologie mesurent les performances des systèmes UnixErreur ! Signet non défini.. Comme AIM utilise une combinaison des charges créées par des applications pour mesurer les performances, les résultats se rapprochent de tests réels. AIM a une suite de tests pour les stations Unix et les serveurs Unix. 4.4.3. Caractéristiques d'un serveur Multitraitement Des serveurs multitraitement sont des machines qui possèdent plusieurs processeurs, des batteries de disques à haute performance et des dispositifs à tolérance de panne. Le système d'exploitation peut améliorer le matériel serveur en offrant directement le support de multiprocesseurs. Un serveur multiprocesseur est évolutif: 2 à 64 processeurs généralement. La mémoire est partagée pour une mise en commun des ressources et des données. Il n’existe qu’une seule copie du système d’exploitation et qu’un système physique. Le multitraitement se présente sous deux formes. Multitraitement asymétrique Le multitraitement asymétrique oblige à hiérarchiser et à découper les tâches entre les processeurs. Le système d'exploitation ne s'exécute que sur un seul processeur appelé maître. Celui-ci contrôle les processeurs esclave dédiés à des fonctions spécifiques (entrées/sorties, communications). Multitraitement symétrique Le multitraitement symétrique considère les processeurs comme "égaux". Les processeurs ne sont pas dédiés à des tâches précises. Les tâches sont découpées en threads qui peuvent tourner simultanément sur n'importe quel processeur disponible. Cluster Un cluster est un ensemble de plusieurs noeuds constitués d’ordinateurs autonomes. Chaque noeud possède sa mémoire, son processeur et ses entrées/sorties. Une interconnexion réseau existe entre les noeuds. Chaque noeud dispose de sa propre copie du système d’exploitation. Traitement massivement parallèle Le MPP (Massively Parallel Processing) correspond à un ensemble de 8 à 2.000 ordinateurs, interconnectés par commutation ultra-rapide ou de type mémoire partagée. Chaque noeud possède son système d’exploitation et sa mémoire séparée et les entrées/sorties sont assignées à des ressources de traitement dédiées. Cette architecture matérielle est complexe. 2005 Toute reproduction même partielle interdite IGPDE page 79 Architecture physique Grid computing Utiliser les ressources inexploitées des systèmes informatiques : c'est l'idée concrétisée depuis seulement quelques années grâce aux technologies Grid. Le principe est "simple" : une toute petite part de la puissance de nos PCs est utilisée. Pourquoi donc ne pas donner accès, aux chercheurs par exemple, à cette puissance non utilisée pour les aider dans leurs recherches grâce au calcul distribué ? Grid signifie littéralement "grille". Ces technologies devraient permettre de transformer un ordinateur de base en ordinateur ultra-performant. Si les usages pour le moment les plus connus du grand public du Grid type Decrypthon ou Setiathome ne nécessitent pas obligatoirement une connexion à haut débit, ils ne représentent qu'une partie infinitésimale des possibilités offertes par la grille qui aujourd'hui sont expérimentées pour des domaines de recherches ou industriels pour lesquels le haut débit est une évidence. On peut classer l'usage des grilles en trois catégories : les grilles d'information, qui permettent un plus grand partage des informations, les grilles de stockage, pour multiplier les capacités de stockage et les grilles de calcul, pour multiplier les "flops" (unité de mesure de la puissance des ordinateurs). 4.4.4. Redondance et secours Disque stripping La technique du stripping consiste à créer une unité de disque virtuelle en entrelaçant les données sur plusieurs disques physiques. Répartir les données (fichier) sur plusieurs axes physiques permet de servir des requêtes concurrentielles et d'équilibrer la charge entre les disques. Cette technique est donc essentiellement destinée à améliorer les débits. Puisque l'on utilise plusieurs disques physiques pour créer une unité virtuelle sans aucune redondance, une panne sur l'un des disques rend inopérante l'unité virtuelle. Cette technique présente donc une très mauvaise fiabilité. Disques array La technique du RAID (Redundant Array of Inexpensive Disk) permet d'offrir dans une même unité physique un contrôleur et plusieurs disques (axes), cette unité étant vue par le système (serveur ou station) comme un seul disque. Cette technique permet d'améliorer : ♦ le rapport capacité/encombrement ; ♦ les performances et la protection des données (suivant les niveaux de RAID 0/1/3/5). Niveau 0 Le contrôleur de l'unité de disques répartit les données entre les différents disques, soit en répartissant les requêtes sur les disques de manière indépendante (augmentation du taux d'E/S), soit en découpant chaque requête en blocs de tailles identiques écrits en parallèle sur tous les disques (augmentation du taux de transfert). Ces deux méthodes pouvant être mixées. page 80 Toute reproduction même partielle interdite IGPDE 2005 Architecture physique Niveau 1 Le contrôleur de l'unité de disques gère les disques par paire, en mode miroir. Le niveau de redondance est élevé, mais inférieur à l'utilisation du mode miroir avec des unités disques distincts. Niveau 3 Tous les disques de l'unité sont synchronisés et un disque de parité est ajouté aux disques de données. Les données sont découpées en blocs de tailles égales écrits en parallèle sur tous les disques. Un codage est effectué sur les données et forme le bloc de parité écrit sur le disque de parité. En cas de défaillance de l'un des disques de données, le contrôleur reconstitue les données grâce au disque de parité de façon transparente. Le remplacement du disque défaillant peut être réalisé sans arrêt de l'exploitation. Niveau 5 Le principe de fonctionnement est le même que celui du niveau 0 (uniquement le mode répartissant les requêtes), avec en plus une protection des données par codage effectué sur celles-ci. Les blocs de parité sont écrits indifféremment sur les disques constituant l'ensemble. Niveau 6 Peu utilisé à ce jour, il améliore la fiabilité par adjonction d'un disque de secours (en plus du disque de parité). Les niveaux 2 et 4 sont des configurations purement théoriques inutilisables dans la pratique. L'intérêt majeur des disques array s'exprime avec les niveaux 3 et 5 qui présentent un niveau de fiabilité excellent, bien qu'inférieur au disque miroir, mais à un coût plus avantageux. En effet, seulement 20% de la capacité totale est utilisée pour stocker les informations de parité. La technologie disque array (par exemple en niveau 0) peut être utilisée conjointement avec celle du disque miroir, pour les configurations nécessitant des volumes de stockages importants hautement sécurisés et performants. Disques miroir Cette technique permet de maintenir une copie de secours des données stockées sur un disque. Le principe est basé sur l'adjonction d'un ou de deux disque(s) supplémentaire(s) pour chaque disque devant être protégé. Un mécanisme logiciel assure une copie à chaque écriture. Lors d'une lecture, le disque (principal ou copie) disposant le plus rapidement de l'information fournira la donnée. Dans le cas d'une défaillance de l'un des disques, les données restent disponibles et accessibles. Le fonctionnement du disque miroir reste totalement transparent vis-à-vis des applications. De plus, cette technique permet de réaliser des sauvegardes en ligne sans arrêt de l'exploitation. Redondance système Le secours processeur permet d'obtenir un fonctionnement quasi-continu dans le cas de pannes matérielles ou logicielles. Il fournit une détection et une reprise automatique sur incident (processeur, mémoire, réseau, applications,...) sans intervention d'un opérateur. Ce type de solution 2005 Toute reproduction même partielle interdite IGPDE page 81 Architecture physique assure l’intégrité des données et réduit au minimum les interruptions de services, planifiées ou par suite d’incidents. Les caractéristiques principales de ce type de solution sont les suivantes : ♦ reprise en moins d’une minute ; ♦ fonctionnement en cluster, c’est à dire par un groupement de serveurs assurant ensemble la disponibilité des services sélectionnés ; ♦ redondance du réseau ; ♦ mécanismes de surveillance du cluster et de ses composants ; ♦ la reprise en cas de défaillance d’un système, s’effectue par transfert des applications et des ressources associées vers les autres systèmes du cluster. 4.4.5. Stockage Normes disques Débit théorique des différentes normes ATA AT Attachment Interface pour les disques définie par la carte mère. Sur la carte mère, on appelle par abus le connecteur ATA 40 broches: "connecteur IDE". Voir aussi UDMA. DMA Direct Access Memory Méthode de transfert ATA accédant à la mémoire sans utiliser la CPU. Elle peut atteindre des taux de transfert élevés. EIDE Enhanced Integrated Drive Electronics Evolution de la norme IDE qui permet de connecter 4 et non 2 disques. Principalement utilisée par les disques durs, elle permet aussi de relier des périphériques à la norme Atapi. Voir IDE et UDMA. IDE Integrated Drive Electronic Norme économique de contrôle des disques durs internes utilisés sur tous les PC. La version actuelle (EIDE) est U-DMA 100. Parallèle Liaison qui envoie en parallèle chaque bit d'un octet sur un câble différent dans un souci de vitesse (contrairement à la liaison série). Toujours disponible sur les PC bien que lente et employée pour connecter certaines imprimantes. RS232 Liaison Série du PC. SCSI Small Computer System Interface Permet de relier 7 périphériques, internes ou externes, chacun doté d'une ID à l'aide d'un bus 8 bits. Contrairement à IDE où le contrôleur se trouve sur la carte mère, SCSI nécessite un contrôleur sur chaque disque et un adaptateur sur la carte mère pour traduire les signaux au bus SCSI; c'est ce dispositif qui permet aux périphériques de communiquer directement entre eux sans passer par la CPU. Cette technologie, relativement coûteuse, offre les avantages de la souplesse et de débits réellement élevés. Elle est plutôt réservée aux serveurs. Serial ATA page 82 Nouvelle norme d’interface interne disque point à point, dont les avantages sont : débit porté à 150 Mo/s (contre 100 pour ATA 100 - E-IDE) remplacement de la nappe de connexion par un câble série pouvant atteindre 1 m (contre 50 cm pour ATA), extraction à chaud. Toute reproduction même partielle interdite IGPDE 2005 Architecture physique Série Liaison 9 broches à la vitesse de 15 ko/s. Toujours disponible sur les PC, mais peu utilisée car très lente. UDMA-33 Ultra-DMA 33 Il s'agit en fait de ATA4. Taux de transfert théorique 33 Mo/s entre le disque et la mémoire. Le taux réel est plus proche des 10 Mo/s. UDMA-66 Ultra-DMA 66 Norme ATA5. Taux de transfert théorique 66 Mo/s. Le taux réel est plus proche des 15 Mo/s, à condition de disposer d'un connecteur à 80 broches (sinon, le débit est de 33 Mo/s. UDMA-100 Ultra-DMA 100 Norme ATA6. Taux de transfert théorique 100 Mo/s. C'est la norme actuellement utilisée sur les PC, elle est compatible UDMA-33 et UDMA-66. USB Universal Serial Bus Norme économique, permettant la connexion à chaud d'un grand nombre de périphérique. Un cordon est constitué de 4 fils, 2 pour l'alimentation et 2 pour les signaux et sa longueur peut atteindre 5 m. La terminologie USB est particulièrement équivoque. On distingue en effet désormais : USB 2 (autrefois appelé USB ou USB 1.1) à 12 Mbits/s, très courant et que la vitesse relativement lente limite à des périphériques peu exigeants (souris, lecteurs de disquettes externes...). USB 2.0 ou Hi Speed USB (autrefois USB 2) à 480 Mbit/s, qui est un concurrent de FireWire. Wide-SCSI Evolution de la norme SCSI. Le transfert s'effectue sur bus de 16 bits au lieu de 8. Les câbles possèdent 68 broches au lieu de 50. 4.4.6. DAS/SAN/NAS Principes Le stockage doit relever des défis de plus en plus importants : des données volumineuses (images, son, vidéo), un nombre d’accès très important avec les réseaux locaux et les accès Web. La question est de savoir comment les technologies de réseau et les technologies de stockage vont converger. Allons-nous vers des serveurs spécialisés de stockage qui se connectent au réseau d’entreprise au même titre que les autres serveurs d’application ou verra-t-on se développer une nouvelle race de réseau, optimisée pour faciliter les échanges directs avec les unités de stockage ? Lorsque l'on parle de stockage en réseau, c'est par opposition à l'attachement direct (de type DAS, Direct Attached System) où chaque disque ou ensemble de disques est physiquement lié à une seule unité de commande, serveur de fichier ou mainframe, par définition indépendante. Le premier type est connu sous le terme de NAS (Network Attached Storage) qui correspond à un service de partage de fichier et le second type est appelé SAN (Storage Area Network) qui correspond à un choix d’architecture réseau. Avec le NAS, on échange des fichiers sur le réseau d’entreprise en protocole de communication de type TCP-IP. Le système de fichiers est dans le serveur NAS. Avec le SAN, on échange directement des blocs de données entre les serveurs et les unités de stockage en protocole 2005 Toute reproduction même partielle interdite IGPDE page 83 Architecture physique d’entrée/sortie du type SCSI sur un réseau rapide entièrement dédié au stockage. La vision logique des données reste au niveau des serveurs d’application. NAS Dans le contexte des réseaux d’entreprise, les serveurs NAS se sont développés pour offrir un service efficace de stockage de fichiers à des clients évoluant sur des plates-formes et dans des environnements d’exploitation différents. Ils se démarquent ainsi des serveurs à usage multiple, qui ne sont plus suffisamment robustes et performants pour ce type de service. Un serveur NAS est conçu exclusivement pour la fonction serveur de fichiers. L’architecture d’un NAS s’appuie sur un noyau d’exploitation multitâche spécialisé et sur des logiques dédiées d’accès aux réseaux et aux périphériques de stockage. Un serveur NAS sait s’adapter aux types de réseau (Ethernet, Gigabit Ethernet, FDDI,...) et supporte des protocoles de réseau multiples. Il sait dialoguer avec des systèmes d’environnements différents tels que Unix, Windows, Netware. Le principal attrait du serveur NAS est un fonctionnement autonome, indépendant de la nature des postes clients et serveurs d’application auxquels il offre son service de fichiers. Aujourd’hui, le modèle NAS répond aux problèmes d’interopérabilité des fichiers des divers environnements de l’entreprise. En outre, sa conception spécialisée permet des architectures sécurisées à haute disponibilité et une croissance modulaire adaptées aux besoins de l’entreprise. En tant que serveur autonome, le serveur NAS est facile à installer et ne nécessite pas d’intervention au niveau de ses différents clients. S’il répond de façon satisfaisante au service de fichiers, le NAS n’apporte pas encore de réponses convaincantes pour les bases de données. Sa faiblesse est probablement due au fait qu’il évolue dans le contexte des réseaux locaux traditionnels d’entreprise qui sont de moins en moins adaptés aux échanges de gros volumes de données à fort débit. SAN Le SAN est un nouveau réseau à haute vitesse, conçu pour le stockage qui vient s’installer derrière les serveurs, en complément des réseaux locaux de l’entreprise. Dans son concept, il autorise non seulement les liaisons entre n’importe quel serveur et n’importe quelle unité de stockage, mais aussi des liaisons directes entre unités de stockage ou des liaisons serveur à serveur. Potentiellement, un SAN peut manipuler des protocoles aussi bien du type canal d’entrée/sortie que des protocoles réseau. Le SAN doit surtout son développement à la technologie Fibre Channel aujourd’hui largement adoptée par la communauté industrielle. Le protocole de haut niveau utilisé pour le SAN est la version évoluée SCSI 3. L’interface SCSI parallèle s’est largement imposée sur le marché ces dernières années et l’on comprend que le protocole SCSI sur Fibre Channel ait été reconduit par les constructeurs qui voulaient préserver leurs lourds investissements. Les caractéristiques de l’architecture SAN peuvent enfin apporter les réponses à la nouvelle problématique du stockage de données : ♦ les barrières de distance sont brisées. Les ressources de stockage peuvent être installées à des kilomètres des serveurs et la connectivité de Fibre Channel dépasse largement celle du SCSI parallèle ; ♦ chaque serveur ayant la possibilité d’accéder directement à toute ressource de stockage, on conçoit qu’il soit plus facile d’adapter la capacité de stockage à l’évolution des applications. On dispose en quelque sorte d’un jeu de curseurs délimitant l’espace de stockage que l’on ajuste en fonction de la demande ; ♦ les ressources de stockage étant regroupées en réseau, elles deviennent visibles à partir d’un seul point d’administration. Le SAN permet donc une administration unifiée de l’ensemble des unités de stockage quelle que soit leur origine ; page 84 Toute reproduction même partielle interdite IGPDE 2005 Architecture physique ♦ désormais, les données peuvent s’échanger à travers un réseau rapide spécialisé. L’aptitude d’un SAN à supporter les mouvements de données va alléger le trafic des réseaux locaux et apporter des solutions pour accélérer les sauvegardes de données ; ♦ grâce à la technologie Fibre Channel, il est désormais possible de recopier des données sur plusieurs kilomètres avec des temps de réponse identiques à ceux obtenus pour un attachement local de quelques mètres. Le SAN apporte enfin des solutions de prévention en temps réel contre les sinistres. Comparaison NAS-SAN Fonction des unités de stockage NAS Réseau d’entreprise existant (Ethernet, FDDI...) Serveur de fichiers Gestion multiprotocole Protocole d’échange Type message (TCP-IP..) Bande passante liée au réseau existant Ethernet : 100/1 000 Mbit/s FDDI : 100 Mbit/s ATM : 155/622 Mbit/s Plus surcharge d’échange serveur vers disques Administration à travers le serveur Réseau Administration du stockage 2005 SAN Réseau spécialisé (Fibre Channel..) Serveur de ressources de stockage Aide à la protection, au partage et au mouvement de données Type canal d’entrée/sortie (SCSI...) Avec Fibre Channel à 1 000 Mbit/s Administration directe, incluant l’infrastructure SAN Toute reproduction même partielle interdite IGPDE page 85 Architecture physique 4.5. LOGICIEL LIBRE 4.5.1. Description Linux est un système d'exploitation initialement créé dans les années 1990 par un étudiant finlandais, Linus TORVALDS qui souhaitait disposer sur son ordinateur personnel (PC) d'un système d'exploitation aussi robuste, efficace et performant que UNIX. De nombreux bénévoles et amis l'ont rapidement aidé dans sa tâche et ce projet est devenu associatif. Une collaboration très efficace avec le projet GNU de la Free Software Foundation de l'université de Cambridge a donné rapidement une ampleur considérable au développement de Linux qui, par améliorations successives, a permis de concurrencer - et même par certains points de dépasser le système UNIX. Le développement de Linux repose sur des équipes de bénévoles regroupées sous plusieurs projets. Ce système d'exploitation est amélioré chaque jour par des centaines de personnes sur toute la planète. Le développement d'Internet favorisant le travail associatif, a considérablement dynamisé ce mouvement. De nombreux logiciels libres sont devenus des références dans le monde informatique : Apache (serveur Web utilisé sur plus de 55% des serveurs sur l'Internet), Squid (serveur Proxy/cache HTTP), Samba (émulation d'un réseau NT, partage fichier Windows), Gimp (un très puissant logiciel de graphisme). Il ne faut pas confondre la notion de logiciel libre et celle de logiciel gratuit ou graticiel. Ce dernier est en fait le logiciel lui-même dans sa forme directement exécutable qui peut être utilisé gratuitement sans paiement de droit d’usage dénommé aussi licence d’utilisation. 4.5.2. Solutions "Libres" Distributions Les distributions rassemblent ce qui est nécessaire pour faire fonctionner un système. ♦ Debian ; ♦ Mandrake ; ♦ Red Hat ; ♦ SuSE. Système et interface ♦ GNOME (GNU Network Object Model Environment) ; ♦ KDE (K Desktop Environment) : le bureau virtuel le plus courant sous Linux, concurrent de GNOME ; ♦ Samba : serveur de domaine (réseau) fonctionnant sous Linux et permettant notamment d’intégrer des postes WIndows. Développement ♦ PHP (P[ersonnal home page] Hypertext Preprocessor) : langage de programmation utilisé principalement pour développer des fonctions Internet tournant sur les serveurs Unix et Linux ; ♦ Python : récent, il est particulièrement concis ce qui rend la programmation très rapide. Un compilateur est disponible. Développement Web ♦ Spip : logiciel permettant facilement la création d'un site Internet de type magazine rubriqué ; page 86 Toute reproduction même partielle interdite IGPDE 2005 Architecture physique ♦ Struts : framework de développement d'applications Web en Java. Il combine les technologies JSP et Servlets suivant le modèle MVC (Model-View-Controler - séparation de la présentation, des données et des transactions). Bases de données ♦ MySQL : Version Open Source de SQL, langage d’interrogation de bases de données relationnelles, très utilisé sous Linux, généralement avec le langage PHP ; ♦ PostgreSQL : Version Open Source de SQL, concurrente de MySQL. Navigateurs Internet ♦ Mozilla : Navigateur Web (browser) issue de Netscape. Après Firebird, la dernière version est Firefox. Serveurs Web ♦ Apache (A PAtCHy sErver) : Logiciel qui permet d’animer un serveur WEB HTTP, surtout utilisé avec PHP et mySQL sous Linux ; ♦ Tomcat : Serveur HTTP, implémente les technologies Java Server Page et servlet Java. Il est compatible J2EE. Les applications réalisées pour Tomcat peuvent être portées sur des serveurs d’applications d’entreprise sous Windows, Mac OS X, Linux, AS400, HPUX, AIX, OS390... Il peut être intégré aux serveurs Apache et IIS qui sont alors chargés de la partie statique du site web, tandis que Tomcat gère les requêtes sur les servlets et les JSP. Sécurité ♦ PGP, OpenPGP, GPG : PGP (Pretty Good Privacy), est un système de cryptographie puissant et simple, surtout destiné à être intégré dans les messageries. Il associe clé publique et clé privée. Désormais payant, il existe une version distribuée gratuitement sous licence GPL et appelée GPG (GnuPG). Le standard commun est OpenPGP ; ♦ OpenSSL : Projet de mise à disposition de la norme SSL en Open Source. Applications ♦ GIMP (GNU Image Manipulation Program) : Application de traitement d'images du projet GNU. Concurrent de PhotoShop, il est utilisé pour la composition de visuels et la retouche de photos ; ♦ OpenOffice : Suite bureautique libre, concurrente de Microsoft Office. Elle est issue de l'ancienne version de StarOffice, qui est, elle, désormais développée indépendamment et vendue par Sun. 4.5.3. Utilisations ♦ Comme serveur de fichiers et d'impression: Linux supporte les trois principaux protocoles de partages de fichiers: NFS pour clients UNIX, SMB pour clients Windows et AppleShare pour clients MacOS, ainsi que les protocoles de partages d'imprimantes. Linux peut également servir de serveur de fax ; ♦ Comme serveur Internet/Intranet: On trouve dans les distributions standards de Linux tous les logiciels nécessaires pour réaliser un serveur Internet complet, même sur des machines de puissance modeste. Cela inclut des fonctionnalités : • de transfert et de distribution du courrier électronique, des news (Usenet) ; • de serveur Web ou FTP ; • de serveur de noms de machines ou de domaines. 2005 Toute reproduction même partielle interdite IGPDE page 87 Architecture physique ♦ Comme serveur d'applications client/serveur: un grand nombre de logiciels de serveurs de bases de données (SGBD), relationnels, relationnels-objets ou objets, commerciaux ou libres, sont disponibles pour Linux. Avec ces logiciels, surtout du côté commercial, ce sont des milliers d'applicatifs ; ♦ Comme station de développement: Linux dispose, le plus souvent sous forme de logiciels libres, des outils de développement pour la plupart des langages actuels: C, C++, Fortran, Java, Cobol, LISP, Prolog, SmallTalk. On trouve aussi des outils pour le contrôle des sources, pour le travail en groupe, pour le suivi des erreurs, pour le testage ; ♦ Comme station bureautique: grâce à des suites bureautiques intégrées commerciales comme Applix ou StarOffice et à des environnements graphiques comme KDE ou fvwm95, les stations bureautiques sous Linux offre les même fonctionnalités que leurs équivalents sous Windows ou MacOS: traitement de texte, tableur, logiciel de présentation et de dessin, gestion de fichiers, partage de documents, intégration des technologies Internet/Intranet (courrier électronique, Web). 4.5.4. Avantages/Inconvénients Le système d'exploitation Linux présente de nombreux avantages par rapport au système dominant du marché, Windows, grâce à sa conception multitâche et multi-utilisateurs axée sur une utilisation en réseau mais il possède encore quelques inconvénients qui doivent être corrigés. Avantages Le coût Le noyau de ce système d'exploitation est sous licence GPL : il est gratuit. Aucun droit de propriété ne peut être réclamé et le code source des programmes (le listing) est disponible et modifiable par tous les utilisateurs : ils appartiennent à tout le monde et chacun participe à l'effort de développement et de recherche. Linux est distribué sous les conditions du GNU Public Licence (GPL : General Public Licence). Cette approche culturelle "libertaire" de l'informatique prévalait au début de la micro-informatique : l'information est la nouvelle richesse, l'informatique doit donc profiter à tout le monde. Certes les distributions sont payantes mais elles proposent généralement de la documentation papier, du support téléphonique et intègrent de très nombreuses applications dans tous les autres domaines : sciences, jeux, outils bureautiques et bases de données. Ces programmes sont souvent libres et peuvent être copiés autant de fois que nécessaire en toute légalité. Pourtant cette gratuité ne doit pas faire oublier que le succès de ces logiciels libres est dû à leurs performances plus qu'au prix. Les performances Linux est un système d'exploitation multitâche préemptif : il est capable de faire tourner simultanément plusieurs logiciels de manière totalement indépendante. Le "plantage" d'une application n'empêche pas l'ordinateur de poursuivre l'exécution des autres. Linux est un système d'exploitation multi-utilisateurs : il est impossible de travailler sur une machine Linux sans s'identifier à l'aide d'un "login" et d'un mot de passe. A chaque nouvelle connexion, l'utilisateur retrouve son environnement de travail personnalisé : type de bureau, dossiers personnels, paramétrages particuliers. Les données des autres utilisateurs lui sont naturellement interdites. page 88 Toute reproduction même partielle interdite IGPDE 2005 Architecture physique Une fois connecté, les seules opérations qui sont permises (utilisation d'un programme, modification du bureau, manipulations des fichiers, maintenance de la machine,...) sont celles octroyées par l'administrateur de la machine ou du réseau (root). Sous Linux tout ce qui n'est pas expressément autorisé est strictement interdit. C'est la démarche opposée à celle du système d'exploitation dominant pensé avant tout comme un système mono-utlisateur. Enfin le système d'exploitation Linux possède une grande stabilité et les "plantages" complets sont rarissimes. Le mode de développement des logiciels libres Le développement communautaire et l'ouverture des sources des programmes libres permettent la correction rapide des bugs (erreurs dans une application) et une mise au point rapide : ces programmes libres bien que développés par des bénévoles, rarement programmeurs professionnels, sont souvent plus stables que leurs homologues commerciaux. Ainsi le principal programme utilisé comme serveur Internet dans le monde (à plus de 55 %) est Apache. Ce mode de développement informel se structure naturellement sous l'effet de la concurrence (technique) et de la liberté (reconnaissance du travail des meilleurs programmeurs et des meilleurs intégrateurs, libre accès à toutes les améliorations proposées minimisant la divergence entre versions concurrentes - à la différence des logiciels propriétaires,...). La diversité Un seul virus - I love you - qui a semé la panique sur les ordinateurs Windows de toute la planète a montré la fragilité d’un système monolithique. En maintenant la diversité, Linux participe à la fiabilisation des systèmes informatiques. Linux apparaît aujourd'hui comme le concurrent le plus sérieux de Windows sur tous les segments du marché, des ordinateurs familiaux jusqu'aux énormes serveurs des entreprises. Il permet de maintenir une saine concurrence dans ce secteur clef de l'économie qu'est devenue l'informatique. Inconvénients L’installation du système L'installation de Linux est parfois difficile, notamment sur des ordinateurs modernes intégrant les dernières innovations technologiques. A cause de la réticence de certains constructeurs à diffuser toutes les caractéristiques de leurs matériels, Linux n'est pas capable de gérer tous les périphériques : cartes graphiques, cartes son, scanner « propriétaire », cartes modem, dispositifs USB... La situation s'améliore mais il faut parfois patienter plusieurs mois pour exploiter un périphérique reconnu directement par le système d'exploitation dominant : Linux suit le mouvement toujours avec un petit temps de retard. L’installation des programmes L'installation des programmes sous Linux est souvent problématique. Si beaucoup de programmes sont disponibles gratuitement sur Internet, les installer sur son disque dur est une autre affaire. La multiplication des distributions (chacune avec ses particularités), des versions (de noyau, de bibliothèque, de serveur X...) et des formats des paquets (archives, deb, rpm...) obligent souvent à 2005 Toute reproduction même partielle interdite IGPDE page 89 Architecture physique travailler avec la console. L'uniformisation des procédures d'installation est une nécessité pour que Linux puisse devenir une solution grand public. L'offre de programmes L'offre de programmes « grand public » n'est pas comparable à celle que l'on trouve sous Windows. S'il existe de très nombreuses applications professionnelles sous Unix, transposables sous Linux, les applications grand public sont moins nombreuses et souvent moins sophistiquées. Là aussi, le retard diminue et après de belles interfaces graphiques, comparables à celle de Windows 98, arrivent sur le marché les principales applications : suites bureautiques, base de données, programmes graphiques,... En conclusion, Linux est souvent utilisé comme serveur mais tend de plus en plus à s'implanter sur les ordinateur personnels grâce à des logiciels comme OpenOffice, GIMP,... et à des interfaces se rapprochant de Windows ainsi qu'à des modes d'installation simplifiées. 4.5.5. Support Le support devient de plus en plus complet parce que de nombreuses sociétés de service se spécialisent dans le domaine du libre : assistance à l'installation de distribution, développements spécifiques, formation… Une preuve que Linux et ses dérivés (logiciels libres) arrivent à maturation et prennent une place de plus en plus importante dans l'avenir de l'informatique. page 90 Toute reproduction même partielle interdite IGPDE 2005 Architecture technique ARCHITECTURE TECHNIQUE 1. MODELISATION Au niveau de l’architecture technique, les composants matériel et logiciel respectent un modèle de communication qui peut être défini comme suit : ♦ un ensemble de composants participant à la communication ; ♦ les interfaces programmatiques (API - Application Programming Interface) entre les composants résidant sur un même système ; ♦ les protocoles mis en oeuvre entre les composants distants. Les composants participant au modèle sont : ♦ les applications ; ♦ des modules logiciels implémentant des protocoles de communication ou des fonctions d'accès à ces protocoles ; ♦ des modules logiciels de gestion de ressources, par exemple un gestionnaire de bases de données. 2005 Toute reproduction même partielle interdite IGPDE page 91 Architecture technique A quelques détails près, le modèle général présenté ci-dessous se retrouve chez tous les constructeurs (il s’appelle DCM chez Bull, BluePrint chez IBM, NAS chez DEC, etc.) et sert de cadre global aux architectures et produits de communication proposés par ceux-ci. Pour faire apparaître l’aspect dynamique de ce modèle, la figure ci-après représente l’exemple de deux systèmes, une station de travail et un serveur d’application communiquant au travers d’un, réseau d’entreprise. page 92 Toute reproduction même partielle interdite IGPDE 2005 Architecture technique Pour préciser la description des composants de ce modèle de communication, la figure ci-dessous présente la correspondance entre celui-ci et le modèle OSI de l’ISO. 2. API 2.1. DEFINITION Une interface programmatique ou API est un ensemble de routines programme qui sont utilisées pour fournir des services et lier différents types de logiciel. Des API sont des ensembles explicites de fonctions ou d'appels de procédure. Ils peuvent appeler une librairie externe, un système d'exploitation ou un utilitaire auprès duquel les services peuvent être obtenus. Les API peuvent donner une interface à des services locaux ou distants de la plate-forme sur laquelle l'appel est opéré. Les API définissent les interfaces des services de communication ou d'autres services. Les programmes qui les utilisent seront plus portables, capables de fonctionner avec d'autres services et tourner dans d'autres environnements. 2.2. OBJECTIFS Les API améliorent : ♦ la modularité logicielle ; ♦ la portabilité ; ♦ la qualité de service ; ♦ la maintenance des applications. Elles permettent de réduire la maintenance logicielle et les coûts de formation en modularisant les fonctionnalités, de communication de données par exemple, dans une boîte noire bien déterminée. L'API est la porte par laquelle les services peuvent être accédés. Les API sont des interfaces 2005 Toute reproduction même partielle interdite IGPDE page 93 Architecture technique définies explicitement avec lesquelles les programmeurs sont capables d'accomplir des tâches spécifiques. La modularité inhérente aux API masque le protocole effectif au programmeur qui peut ainsi se concentrer sur ses tâches majeures. La tâche de débogage est simplifiée car la fonctionnalité a été isolée par une interface définie du reste de l'application. 3. SERVICES DE DISTRIBUTION 3.1. EDI 3.1.1. Définition, concepts de base EDI (Electronic Data Interchange) possèdent deux orthographes possibles : ♦ Echange de données informatisé ce qui signifie que les échanges sont sous forme informatique et que les données sont donc numériques ou numérisées pour être assimilées par un système informatique ; ♦ Echange de données informatisées ce qui signifie que les échanges sont effectués sur des données informatisées et que le mode d’échange doit être compatible avec les données informatisées donc, qu’il doit être électronique. L’EDI, échange de données informatisé, consiste à échanger des données formatées de manière standard entre les différentes applications tournant sur les ordinateurs des partenaires commerciaux et ce avec un minimum d’interventions manuelles. L’EDI est une évolution naturelle du fonctionnement des entreprises en alliant la puissance de l’informatique à celle des télécommunications pour remplacer les documents papier et servir de support de données pour l’ensemble des activités et des services, commerciaux et annexes. L’EDI est une manière de faire du commerce sans papier. L’EDI correspond à l'échange direct d'ordinateur à ordinateur d’informations normalement contenues dans des documents professionnels. L’EDI n’est pas une forme libre de courrier électronique ou d’échanges de fichiers, mais consiste en des structures pouvant être traitées de manière automatique, efficace et non ambiguë par des ordinateurs. Une grande partie des efforts de standardisation ont été entrepris par l'ANSI (American National Standards Institute) qui a émis une série de formats de message standards connus sous l’appellation X.12. Au niveau de l'ONU, des groupes ont été créés afin de standardiser les messages repris sous le standard dit EDIFACT. L'échange de données informatisé existe déjà depuis des décennies. Les transactions EDI bénéficient d'une forte intégrité et sont extrêmement sécurisées, tout en offrant la possibilité de traiter de très grandes opérations par lots. Il s'agit souvent de transfert de données stratégiques entre entreprises. Ces dernières utilisent, dans la plupart des cas, des réseaux à valeur ajoutée (RVA), mais l'avènement d’Internet est en train de modifier rapidement le paysage. page 94 Toute reproduction même partielle interdite IGPDE 2005 Architecture technique Une configuration typique d'un système EDI comprend les applications communicantes et un logiciel de traduction qui transforme les données de l'entreprise du format propriétaire interne en format standard EDI et vice et versa. De façon générale, l’EDI, par la normalisation, permet de surmonter les obstacles et de résoudre les problèmes tenant à : ♦ l’hétérogénéité des systèmes informatiques ; ♦ la multiplicité des professions et des langages ; ♦ la diversité des conditions d’usage par les utilisateurs. Pour chaque application, les unités d'information majeures sont définies comme des "transaction sets". Chaque transaction comprend des segments et chaque segment comprend des éléments de données. 3.1.2. Internet et l'EDI Internet constitue un réseau de transport omniprésent et bon marché pour l'EDI. Il modifie le modèle utilisé de longue date pour ce type de communications entre entreprises. A ce titre, il offre aux entreprises de nouvelles possibilités de communiquer avec leurs partenaires. Grâce à Internet, l'EDI sera probablement plus accessible pour les petites et moyennes entreprises, mais il ne devrait pas supplanter les RVA existants. Les partenaires EDI utilisent des RVA pour l’échange de gros volumes de transactions avec un mécanisme de messagerie asynchrone. Internet ne fournit pas toujours la bande passante suffisante pour faire circuler un gros volume de trafic EDI, mais offre en revanche des transmissions immédiates. Avec Internet, on passe de transmissions fiables (bien qu'unidirectionnelles) et très coûteuses par des RVA, à une interactivité immédiate à faible coût et de meilleures communications bidirectionnelles. 3.1.3. EFI L’EFI (Echange de Formulaire Informatisé) présente un moyen terme intéressant à la fois pour les PME et les grandes entreprises : l’EFI se situe en effet entre : ♦ d’une part, le formulaire envoyé en pièce jointe à un émail aux clients d’une PME avec traitement manuel au retour du formulaire rempli ; ♦ d’autre part, la machinerie lourde EDI d’une grande entreprise. L’intérêt de l’EFI est de conserver les avantages de la messagerie pour la PME et de l’EDI pour les grandes entreprises : le message EDIFACT qui part de l’applicatif de la grande entreprise est transformé en formulaire de commande affichable à l’écran ; de même, le formulaire de réponse à la commande est affiché à l’écran de la PME pour y être rempli manuellement, puis ensuite transformé en message EDIFACT pour être expédié et reçu comme tel par l’applicatif de la grande entreprise. L’émergence d’un nouveau standard du monde Internet pour le format des messages échangés dénommé XML (eXtended Markup Langage) modifie les solutions techniques pour mettre en œuvre des échanges inter-entreprises efficaces et sécurisés. 2005 Toute reproduction même partielle interdite IGPDE page 95 Architecture technique 3.2. MESSAGERIE 3.2.1. Fonctions Messagerie entre personnes La messagerie entre personnes représente la forme la plus connue de la messagerie électronique. Elle est utilisée le plus souvent à des fins professionnelles pour la communication d’informations entre individus au sein des organismes et entre organismes. Fonctions de base Certaines fonctions initiales de la messagerie permettent à deux personnes de dialoguer entre elles en temps réel ; le message émis par une personne s’affiche immédiatement sur l’écran du destinataire. Il est souvent connu sous son terme anglais de chat ; on utilise également le terme de messagerie «synchrone » pour désigner ce mode de fonctionnement. Toutefois, le mode le plus courant de fonctionnement des messageries consiste à désynchroniser l’émission du message de sa lecture. À l’instar du répondeur vocal, les messageries électroniques fonctionnent dans un mode de communication dit asynchrone. La contrepartie est que le délai entre émission et réception ne peut être entièrement contrôlé. On s’accorde à distinguer trois grands groupes de fonctions dans une messagerie et ce, quel que soit le type de produit qui la met en œuvre; ces fonctions sont similaires aux fonctions utilisées pour gérer le courrier traditionnel ; on trouve, en effet : ♦ une fonction de préparation et d’expédition du courrier électronique qui s’effectue à partir du poste de travail ; ♦ une fonction d’acheminement du courrier vers la boîte aux lettres (BaL) du destinataire qui est gérée par le système de messagerie et n’est donc pas visible par l’utilisateur final ; ♦ une fonction de réception du courrier qui consiste à consulter sa boîte aux lettres (BaL) à partir d’un poste de travail. a) Préparation et expédition du courrier électronique La préparation consiste, tout d’abord, à composer le contenu du message à l’aide d’un outil de traitement de texte. La préparation du message demande également que soient fournis un certain nombre de paramètres relatifs à son acheminement. Le minimum commun à tous les systèmes consiste à fournir une identification du destinataire. Parmi les options complémentaires, on peut citer la demande d’un accusé de réception que le système renverra en option à l’émetteur soit lorsque le message est parvenu dans la boîte aux lettres du destinataire, soit lorsque le destinataire a lu son message. En plus des données textuelles, certains systèmes de messagerie supportent des messages composites contenant de la voix, des images fixes ou mobiles. b) Acheminement du courrier Pour effectuer l’acheminement des messages, le système de messagerie utilise les services d’un réseau de communication et transforme l’identification du ou des destinataires en identification de la machine qui contient la ou les boîtes aux lettres de ces destinataires. page 96 Toute reproduction même partielle interdite IGPDE 2005 Architecture technique c) Réception du courrier Une fois connecté à la machine qui gère la boîte aux lettres, on peut l’interroger pour lister son contenu, afficher un message de la liste, le supprimer ou y répondre. Deux grandes familles d’utilisation L’usage varie selon qu’elle permet d’informer une population de manière unidirectionnelle (on parle alors de diffusion) ou bien d’échanger des messages de manière multidirectionnelle. a) Diffusion En principe, la diffusion est unilatérale : elle ne demande pas de réponse de la part des destinataires. La diffusion se caractérise par son aspect relativement formel et contrôlé et comporte souvent des messages « pour information ». La diffusion s’appuie sur des listes de diffusion qui regroupent les personnes ayant un intérêt commun pour un type d’information. b) Échanges bilatéraux Ce type de messagerie est relativement informel et concerne principalement la communication entre deux personnes avec éventuellement une copie à d’autres destinataires pour information. Lorsque la communication est multilatérale, c’est-à-dire que plusieurs destinataires sont susceptibles de répondre à un même message, il devient nécessaire de coordonner le jeu des questions et des réponses. On préférera alors stocker tous les échanges dans une base de données qui porte alors le nom de forum et qui est en quelque sorte une boîte à lettres commune aux différents membres du groupe de discussion. Forme des informations transmises Les messageries permettent de transmettre des fichiers de données de tout format, tels que : ♦ des programmes ; ♦ des fichiers d’impression ; ♦ des documents rédigés à l’aide d’outils de bureautique employant un format de données propriétaire ; ♦ des présentations comportant des graphiques, etc. Ces fichiers sont alors « attachés » à un message lors de l’émission et doivent être détachés et stockés sous forme de fichiers à l’arrivée. Messagerie et système de traitement de l’information La messagerie est un des composants du système de traitement de l’information. Elle a pour premier compagnon la fonction d’annuaire ; elle est également très imbriquée avec les fonctions de travail en groupe ; elle peut, par ailleurs, avoir des liens avec des applications traditionnelles. Messagerie et annuaire Les systèmes de messagerie modernes sont associés à un système d’annuaire des personnes qui permet à un utilisateur de retrouver l’adresse de boîte aux lettres de son correspondant. Les 2005 Toute reproduction même partielle interdite IGPDE page 97 Architecture technique mécanismes d’envoi ou de réception d’un message pourront ensuite faire appel à l’annuaire des systèmes informatiques pour déterminer le chemin à emprunter sur le réseau. Messagerie et travail en groupe À travers la communication horizontale apportée par la messagerie, se profile le support de l’informatique au travail en groupe. Toutefois, à côté de cette communication informelle à travers la messagerie, le travail en groupe utilise des outils de partage d’information qui élargissent les fonctions de la seule messagerie. Dans les fonctions de support au travail en groupe, on met généralement les forums de discussion, la gestion des agendas, l’enchaînement de processus, le partage de documents. a) Forums Lorsque les échanges de messages donnent lieu à un dialogue suivi entre plusieurs personnes sur un sujet donné, la messagerie classique bute sur plusieurs limites. La personne qui lit un message n’a pas forcément en tête tout l’historique du dialogue ou même n’a pas été obligatoirement destinataire de l’ensemble des messages relatifs au sujet traité. Une technique de messagerie consiste à inclure dans chaque message la cascade d’échanges qui ont précédé ce message. On peut vite déboucher sur la circulation de messages de plus en plus longs et difficiles à comprendre. La technique de la base de données de forum qui structure les questions et réponses par sujet permet d’éviter cet écueil. L’utilisation de la base de données de forum permet d’effectuer le classement et donne par construction des possibilités de recherche par mots clefs, voire de recherches portant sur le contenu complet du message (c’est le mode recherche « plein texte»). On voit ainsi apparaître le fait qu’une base de forum de discussion est en fait une base de documents structurés selon la logique des questions et des réponses relatives à un sujet déterminé. Cette base peut être alimentée selon deux modalités : ♦ une modalité « ouverte » qui permet à chaque individu autorisé d’introduire ses propres questions et réponses ; ♦ une modalité « administrée » selon laquelle une personne est chargée de centraliser les questions et les réponses pour effectuer un contrôle de fond et de forme avant leur introduction dans la base de forum. La messagerie alimente alors la boîte aux lettres de cette personne. b) Bibliothèque de documentation Il peut être très intéressant de stocker le message dans une base documentaire et d’envoyer un message contenant le nom du document. De la sorte, seuls les destinataires intéressés iront consulter le document au moment qui leur convient. Messagerie et applications Moins connue, car non accessible directement par un utilisateur sur son poste de travail, la messagerie entre applications est cependant une composante à part entière des systèmes de messagerie. Elle permet à une application de construire des messages qui seront repris ultérieurement par une autre application pour être traités. Une utilisation classique de cette fonction de messagerie applicative est fournie par l’EDI (Echange de données informatisées) qui permet par exemple de communiquer entre entreprises des commandes ou des factures. page 98 Toute reproduction même partielle interdite IGPDE 2005 Architecture technique Architectures et normes La messagerie constitue, au sens des normes, une application qui exige la définition de protocoles et de formats : ♦ la norme X.400 (MOTIS) qui est de loin la plus complète et émane de l’OSI ; ♦ la norme de messagerie Internet qui est la plus largement utilisée est connue sous le sigle SMTP (Simple Mail Transfer Protocol) et ses adjonctions successives. 3.2.2. X.400 Introduction Historique Afin de normaliser les services de messagerie qui commençaient à voir le jour, les opérateurs des télécommunications ont fait prendre, dès 1982, par le CCITT (Comité Consultatif International sur le Téléphone et le Télégraphe) une recommandation baptisée X.400. Cette norme est donc le résultat d’une volonté internationale de conserver des possibilités d’échange d’information en surmontant les problèmes de format, de protocoles et de services. X.400 est conforme à la directive de l’ISO au niveau de la couche 7 (application). La norme X.400 est donc aujourd’hui un modèle fonctionnel de messagerie adaptable aux particularismes nationaux. Utilisation Le modèle fonctionnel découle de la culture postale et téléphonique et les concepts de celles-ci se retrouvent donc à travers les services et les protocoles semblables au courrier postal. Dans la messagerie X.400, un module utilisateur (UA-User Agent) permet d’élaborer et de réunir les documents, de les placer dans une enveloppe sur laquelle il faut inscrire le nom et l’adresse du destinataire. Il est aussi possible de spécifier le type de service complémentaire souhaité, recommandé avec ou sans accusé de réception, express, etc. L’enveloppe est liée à un contenu qui peut être une note -soit unique, soit multiple, une image, un message sonore. Cette enveloppe est ensuite acheminée à un centre de tri, transmise à un centre de distribution et, enfin, déposée dans la boîte aux lettres du destinataire. Cette partie, le « routage », est accomplie par un module, une série de MTA (Message Transfer Agent). La norme X.400, facilite ainsi l’interconnexion des ordinateurs, des serveurs de messageries publiques et privées. Cette norme est indépendante des systèmes d’exploitation ou des types de réseaux et à ce titre elle permet des échanges entre sites hétérogènes. Elle définit toutes les interfaces qui permettent aux messageries de communiquer entre elles. Elle fixe un format particulier de format d’adresses. L’application de la messagerie interpersonnelle n’est qu’une des applications pouvant exploiter la norme X.400. Elle renforce également l’émergence de l’échange électronique de données (EDI). Son principe de base étant de communiquer sans connexion directe et synchrone entre l’émetteur et le destinataire, elle affranchit les partenaires des contraintes de disponibilité. Cet asynchronisme renforce l’autonomie et la liberté des systèmes. 2005 Toute reproduction même partielle interdite IGPDE page 99 Architecture technique Concepts Introduction Les recommandations X.400 permettent un échange universel de documents électroniques entre usagers ou entre applications. La normalisation des échanges est donc l’élément fondamental et il est indispensable de disposer de protocoles de transferts de messages. En ce sens la norme X.400 est un modèle conceptuel autour duquel s’articulent les différents travaux fournis par les acteurs du système (services publics ou privés) en vue d’assurer au niveau international la mise en place de cette messagerie. Principes Le modèle fonctionnel comprend des modules indépendants qui s’articulent ainsi : ♦ Les agents de transfert de message appelés les MTA relaient les messages de l’expéditeur au destinataire et constituent un ensemble appelé le système de transfert de messages (Message Transfer System) dont l’acronyme est MTS ; ♦ L’Agent de Transfert de Messages ou MTA assure la collecte et la distribution du courrier selon l’un des schémas suivants : • UA ÅÆMTAÅÆUA dans le cas où l’UA qui émet le message et l’UA de destination sont rattachées à un même MTA ; • UAÅÆMTAÅÆMTA.....MTAÅÆMTAÅÆUA dans le cas contraire. ♦ L’Agent Utilisateur (User Agent) ou UA : est un ensemble de processus informatiques qui permettent à un utilisateur de créer, émettre, recevoir et traiter des messages. Par analogie avec le courrier postal, les utilisateurs dialoguent entre eux, soit par l’intermédiaire d’un seul MTA car ils dépendent du même bureau distributeur, soit par l’intermédiaire d’une série de MTA si le courrier doit être acheminé par une succession de centres de tri postaux. L’ensemble des UA et des MTA interconnectés constitue le système de messagerie (MHS-Message Handling System). Les deux processus (UA et MTA) communiquent de façon asynchrone (sans être actifs simultanément). Protocoles Les recommandations X.400 (88) introduisent un lieu de stockage intermédiaire entre les UA et les MTA : le MS (Message Store). Ceci est destiné à régler la question des agents utilisateurs distants (Remote User Agent) ou RUA. page 100 Toute reproduction même partielle interdite IGPDE 2005 Architecture technique Pour assurer le fonctionnement du modèle MHS, les recommandations X.400 définissent différents protocoles de communication pour le routage des messages entre les différents UA ou RUA qui permettent à deux produits de fournisseurs différents de partager un système de messagerie. Commentaires : UA : agent utilisateur; il s’agit d’un ensemble de processus informatiques qui permet à l’utilisateur de créer, de recevoir ou d’émettre des messages. RUA : agent utilisateur distant. MHS : système de messagerie composé d’un ensemble d’UA et de MTA. MS : zone de stockage intermédiaire. MTA : agent de transfert intermédiaire. Il route tous les messages vers d’autres MTA. MTS : système de transfert de message ; ensemble de MTA interconnectés. P1: protocole utilisé pour communiquer entre deux MTA. P2: protocole utilisé pour communiquer entre UA (application normalisée IPM-Inter Personnal Messaging). P3 : protocole utilisé pour communiquer entre un UA ou un MS et un MTA. P7 : protocole utilisé pour communiquer entre un RUA et un MS. Les messageries propriétaires peuvent se connecter à un MHS si elles implémentent des passerelles qui respectent le protocole P1. L’ensemble de ces protocoles est indépendant des protocoles réseau de bas niveau (TCP/IP, X.25...) et permet une modularité totale entre UA, MS et MTA. 2005 Toute reproduction même partielle interdite IGPDE page 101 Architecture technique Domaine Un domaine de gestion est un ensemble de MTA interconnectés qui dépendent d’une même organisation. Il existe deux types de domaines selon la norme X.400 : ♦ Les Domaines de Gestion Privée PRMD (PRivate Management Domains), qui sont administrés par une organisation privée ; ♦ Les Domaines de Gestion Publique ADMD (ADministrative Management Domains). Adresse Un courrier X.400 est toujours constitué d’une enveloppe et d’un contenu. Les recommandations X.400 définissent le concept de noms et d’adresses des expéditeurs (Originators) ou des destinataires (Recipients) connus sous le nom d’O/R names. Cette adresse O/R est constituée d’une liste d’attributs. Les attributs de base permettent d’identifier de façon unique le domaine de gestion auquel un UA est rattaché (parmi les attributs de base figurent notamment les noms de pays, d’ADMD et éventuellement de PRMD); les autres attributs, dont les « attributs définis domaines » (DDA-Defined Domain Attributs) permettent à un domaine de gestion d’affecter à chacun de ses UA un nom unique à l’intérieur de ce domaine. Le tableau infra montre une adresse d’O/R sous sa forme 1 variante 1 : Au moins l’un des 4 attributs suivants: Nom de Pays ( C ) Nom d’ADMD (A) + Nom de PRMD (P) Nom de personne(S) Nom d’organisation (O) Nom d’unité organisationnelle (OU1-4) + (facultatif) Prénom (G) Initiales (I) Identifiant généalogique (GQ) Attributs définis domaines (DDA) exemple C=FR A=ATLAS P=DOUANES S=MAUVE I=GUY GQ=PROGRAMMEUR O=DTIONGALE OU1=INFOR_STATS OU2=POL_INFORM OU3=MIGRATION OU4=ARCHITECTURE DDA= Contenu des messages Tous les types de documents peuvent être acheminés par X.400. Enfin le contenu d’un message peut contenir N documents (corps) et chaque corps peut être d’un type différent. La règle d’exploitation des ADMD a défini comme contrainte que la taille des messages doit être ≤ 2 Méga-octets, sinon la qualité de service offerte n’est plus garantie. Il ne s’agit donc pas ici d’une limite technologique des matériels et logiciels de messagerie X.400, mais plutôt d’une contrainte d’exploitation imposée par les fournisseurs d’ADMD. page 102 Toute reproduction même partielle interdite IGPDE 2005 Architecture technique 3.2.3. SMTP Architecture et fonctions Introduction Les messageries SMTP (Simple Mail Transfer Protocol) s’appuient sur les fonctions de transport et de réseau de TCP/IP. Elles sont très utilisées dans le cadre d’Internet et se généralisent également comme systèmes de messagerie interne des entreprises (Intranet). La première version opérationnelle de SMTP remonte à 1982. La messagerie SMTP a été conçue dans une approche simple et intégrée, son architecture est plutôt fiable. Protocoles d’échanges Trois modèles de gestion des boîtes aux lettres sont concevables : ♦ un modèle de fonctionnement « en ligne » veut qu’une connexion soit établie entre l’application cliente qui manipule la BaL (Boîte aux lettres) et le serveur qui contient la BaL ; ♦ le modèle « hors ligne » implique que l’application client transfère les messages en provenance de la BaL du serveur d’où ils sont purgés et peut ensuite les manipuler localement en mode autonome ; ♦ le modèle « déconnecté » permet à l’application client de rapatrier un sous-ensemble de messages sans les supprimer de la BaL du serveur, de les manipuler localement et de resynchroniser les versions client et serveur de ces messages en se reconnectant. La norme SMTP de base prévoit à l’origine un mode de fonctionnement « en ligne » ; une première adjonction connue sous le sigle de POP (Post Office Protocol) a défini un mode « hors ligne ». Enfin, une extension plus récente connue sous le sigle IMAP (Internet Message Access Protocol) permet les trois modes de fonctionnement. Contenu des messages La norme de base SMTP ne prévoit pas de normalisation du contenu des messages ; elle spécifie que le contenu du message doit être un jeu de caractères ASCII US 7 bits. Cette absence de normalisation et le jeu de caractères restreint sont incompatibles avec les besoins de messagerie modernes qui doivent véhiculer des types de données variés. Des normes additionnelles de structuration du contenu sont venues compléter la norme de base. SMTP Le protocole SMTP permet d’expédier des messages entre systèmes SMTP soit directement, soit à travers une série de serveurs intermédiaires ou relais. On utilise les systèmes de relais lorsque les protocoles de transport de l’émetteur et du récepteur sont différents. Les échanges SMTP s’appuient sur le transport TCP/IP. Le protocole SMTP prévoit trois grandes catégories de services de base : ♦ un service d’ouverture du dialogue entre le système SMTP émetteur ou client et le système SMTP récepteur ou serveur ; ♦ un service d’identification des destinataires et d’émission du message ; ♦ un service de clôture du dialogue. 2005 Toute reproduction même partielle interdite IGPDE page 103 Architecture technique Ces services de base sont mis en oeuvre à travers un jeu de commandes. On notera que la normalisation du contenu du message (en-tête et corps) ne fait pas partie de la norme SMTP de base. Des normes additionnelles complètent cette base. POP3 Le protocole SMTP de base exige la présence « en ligne » du serveur destinataire. Or, si le destinataire est un micro-ordinateur ou une station de travail, il est difficile de le maintenir connecté en permanence au réseau Internet et d’y faire résider les programmes de gestion de SMTP qui sont relativement complexes. L’idée est donc de fournir un protocole additionnel qui permet à un poste de travail d’accéder à une boîte aux lettres localisée sur un serveur. Ce protocole porte le nom de Post Office Protocol et en est à sa troisième version. Il est mis en oeuvre en option par les serveurs SMTP et donc complète le protocole SMTP de base. Les manipulations prévues par POP3 sont limitées au déchargement du courrier sur le poste de travail. De plus, POP3 ne couvre pas les fonctions d’expédition de courrier. Il permet essentiellement au client de rapatrier des messages. IMAP4 Plus évolué que le protocole POP3, IMAP4 tend actuellement à le supplanter. IMAP4 standardise les fonctions de manipulations de la BaL en réception. L’émission de messages reste du ressort de SMTP. Le protocole IMAP est un véritable protocole client/serveur qui permet à un programme localisé sur le poste de travail de déclencher un grand nombre de fonctions de réception de courrier ou d’administration des boîtes aux lettres. Il se rapproche ainsi des fonctions que l’on trouve dans l’environnement X.400. Format d’adressage L’adresse de destination est construite autour de deux parties : ♦ le nom de l’utilisateur ou, en fait, de sa boîte aux lettres ; ♦ l’adresse de l’hôte destinataire en format TCP/IP. Elle prend ainsi la forme username@hostname. La partie « username » ou encore « local name » peut comporter des caractères spéciaux. La partie « hostname » est généralement un nom composé de domaines et de sous-domaines tel que wanadoo.fr. MIME La norme de base de SMTP autorise la transmission d’informations codées sous forme de texte ASCII de 7 bits codé sur 8 bits, c’est-à-dire avec le bit de plus fort poids à zéro. En fait, 73 caractères sont transparents à la transmission dans un réseau SMTP, ce qui est insuffisant. Le principe de MIME est de gérer le contenu du message en décrivant le type des données qu’il contient. MIME vient donc compléter le standard SMTP afin de permettre le transfert de messages contenant une grande variété de types de données sans que ces données soient altérées lors de leur acheminement et en permettant au logiciel de réception des messages de prendre les actions appropriées pour traiter chaque type de données : par exemple, stocker les données dans un fichier page 104 Toute reproduction même partielle interdite IGPDE 2005 Architecture technique si le message contient un programme ou déclencher une application multimédia si le message contient une séquence vidéo. 3.2.4. Webmail Le succès du Web a donné naissance à un certain nombre de services de messagerie en ligne. A partir d’un navigateur, d’opérateurs tels que Hotmail ou Caramail, il est donné accès à une boîte aux lettres. L’intérêt du système semble évident : il ne nécessite plus de client spécifique ni de configuration particulière sur le poste de consultation et sa transposition au serveur de l’entreprise devient possible sans développement. Ces services nécessitent, cependant, d’accepter les cookies qui peuvent représenter des trous de sécurité. Toutes les fonctions ou facilités d’une messagerie standard ne sont pas présentes. 3.3. TRANSFERT DE FICHIER 3.3.1. FTAM FTAM (File Transfer, Access and Management) est le standard de transfert de fichier défini par l'ISO dans son modèle OSI. Ce standard n’a absolument pas éclos : aucun produit n’existe actuellement implémentant ce protocole. 3.3.2. FTP FTP (File Transfer Protocol) est le service de transfert de fichier du monde TCP/IP. Il est basé sur l'idée du transfert de fichier d'une machine réelle vers une autre, en prenant en compte les différences (conversion binaire par exemple) entre les machines. FTP distingue quatre types de fichier : image, ASCII, EBCDIC et binaire. FTP est moins riche et moins sécurisé que FTAM (e.g. pas de mécanisme de recovery/restart) mais il est fortement répandu et facile à mettre en œuvre. Il est intégré en standard dans la suite des protocoles TCP/IP (cf. Internet). 3.4. WEB HTTP HTTP est un protocole régissant les communications entre les serveurs du Web. Sa fonction première est d'établir la connexion avec un serveur, qui contient la page que l'on veut voir afficher et de rapatrier cette page sur le poste de l'internaute. Pour établir cette connexion, le protocole se sert de l'adresse http que l'on fournit à son navigateur. HTTP est un protocole de niveau application pour des systèmes distribués. Il est orienté objet, générique et sans gestion d’état. Il permet la construction des systèmes indépendamment des données transférées. Il est basé sur le principe du requête/réponse. 2005 Toute reproduction même partielle interdite IGPDE page 105 Architecture technique La figure ci-dessous présente les différentes phases associées à un échange HTTP. 4. SERVICES D'ANNUAIRE 4.1. CARACTERISTIQUES 4.1.1. Objectifs Le service d'annuaire constitue une base de données distribuée et répliquée d’informations référentielles. Elle est distribuée pour permettre aux différents domaines d'administration de contrôler leur environnement. Elle est répliquée pour fournir la disponibilité. Un annuaire type est constitué par un ensemble de noms et d'attributs associés. Un service d’annuaire a, par exemple, pour objet de traduire des noms symboliques de réseau en adresses physiques, de définir une charte de nommage capable de traiter n’importe quelle ressource de manière à l’identifier sans ambiguïté, indépendamment de sa localisation géographique avec des attributs standards et personnalisées pour la qualifier de façon fine. Un service d'annuaire offre généralement des espaces de noms hiérarchiques comme dans un système de fichier. Chaque nom comporte une composante globale et une composante locale. La composante globale est le nom sous lequel est connu le réseau au niveau organisationnel. Cette partie gère une fédération d'annuaires locaux. La composante locale peut alors être nommée selon les conventions locales. 4.1.2. Utilisations Les serveurs d’annuaire sont conçus pour stocker une grande quantité de données, mais de faible volume et pour offrir un accès en lecture rapidement. Parmi les nombreux usages d'un annuaire on peut citer notamment : ♦ liste de référence des employés : l'annuaire synchronise les différentes sources et constitue le point de référence : ressources humaines pour les employés internes, services achats pour les page 106 Toute reproduction même partielle interdite IGPDE 2005 Architecture technique ♦ ♦ ♦ ♦ ♦ partenaires commerciaux référencés, services techniques pour les intervenants contractuels en régie, etc. ; annuaire de messagerie : un annuaire d'entreprise peut synchroniser la liste de référence des employés avec les systèmes de messagerie pour récupérer les informations pertinentes ; annuaire téléphonique : un annuaire d'entreprise peut synchroniser la liste de référence des employés avec les annuaires des autocommutateurs téléphoniques pour récupérer les informations pertinentes ; sécurité : un annuaire permet de stocker des droits d'accès, des mots de passe, des certificats de clés, des liste de révocation, etc. ; paramètres réseaux : de plus en plus souvent, les paramètres techniques des réseaux sont centralisés pour permettre une gestion plus facile des éléments actifs, que ce soit dans un souci de qualité de service (répartition de la bande passante) ou de sécurité (Access Control List) ; services divers de l'Intranet : toutes autres informations internes à partager. Ainsi, donc, les renseignements de cet annuaire peuvent servir à trouver le numéro de téléphone d'un collaborateur, à adresser le courrier électronique, à authentifier un utilisateur, mais il peut aussi contenir des renseignements sur les dispositifs physiques d'un réseau (par exemple, ordinateurs individuels, serveurs, routeurs) ou de tout autre dispositif particulier (tels des systèmes d'exploitation, des applications, des systèmes à fichiers partagés, des files d'attente d'impression). 4.1.3. Difficultés de mise en œuvre La mise en œuvre technique d'un annuaire ne présente aucune difficulté particulière : ♦ Il y a sur le marché des produits d'annuaires performants qui fonctionnent sur les systèmes d'exploitation les plus courants (Windows, Unix, Linux...) ; ♦ La disponibilité et les performances d'un annuaire sont des critères importants mais les solutions techniques pour y répondre existent sur le marché (serveur en cluster ou en répartition de charges, disques raid...). Par contre, la difficulté majeure dans la mise en œuvre d'un annuaire est de définir le schéma d'annuaire c'est-à-dire les attributs qu'il contient, les objets contenant ces attributs et la hiérarchie entre ces objets. Les sources d'alimentation d'un annuaire (ou méta-annuaire) sont multiples et de natures très différentes (fichier(s) de la DRH, annuaire d'un commutateur téléphonique PABX, paramètres réseaux,...). Aussi, la mise au point de ce schéma peut faire apparaître des problèmes d'organisation non seulement pour trouver l'information mais aussi pour la tenir à jour. Par exemple, une même information peut être désignée de façon différente dans les différents services qui l'utilisent, d'où la difficulté pour définir un identifiant unique, une information peut ne pas être tenue à jour correctement, certains services peuvent ne pas vouloir diffuser certaines informations, etc. De plus, le choix du schéma d'annuaire doit être réalisé en trouvant le meilleur compromis entre satisfaction du besoin et respect des objets standards. 2005 Toute reproduction même partielle interdite IGPDE page 107 Architecture technique 4.2. X.500 4.2.1. Services X.500 est une norme de l’X/Open pour les annuaires globaux qui s’appuie sur une base de données distribuée et répliquée. Dans un annuaire X.500, chaque objet appartient à une classe. Une classe peut être créée à partir d'autres classes. 4.2.2. Composants et protocoles Le composant client DUA (Directory User Agent) et le composant serveur DSA (Directory System Agent) de X.500 communiquent entre eux au moyen du protocole DAP (Directory Access Protocol). Les serveurs peuvent communiquer au moyen du protocole DSP (Directory System Protocol). Les formats et les protocoles DAP et DSP font partie de la norme X.500 et assurent l'interopérabilité des services d'annuaire. L'annuaire stocke les informations dans la DIB (Directory Information Base). Chaque objet contenu dans l'annuaire est identifié par son nom et possède une entrée dans la DIB. L'entrée dans la DIB a des attributs, chacun a un type et une ou plusieurs valeurs. La DIB est structurée en arborescence appelé DIT (Directory Information Tree) avec les entrées à chaque nœud de l'arbre. Chaque entrée de l’annuaire a un nom distinctif ou DN (Distinguished Name) obtenu par la concaténation du nom de son père dans l’arbre et de son nom relatif ou RDN (Relative Distinguished Name). Deux mécanismes sont définis dans la norme X.500 pour permettre à un DSA de propager une demande d’un utilisateur : le chaînage (chaining) et le passage de référence (referral). Dans le chaînage, si un DSA ne détient pas les informations demandées, il propage la demande vers un autre DSA. Chaque question et chaque réponse transitent par l’ensemble des DSA de la chaîne. Dans le passage de référence, si un DSA ne détient pas les informations demandées, il renvoie au demandeur la référence d’un autre DSA à contacter. page 108 Toute reproduction même partielle interdite IGPDE 2005 Architecture technique 4.2.3. LDAP Introduction LDAP (Lightweight DAP) a été imaginé comme un protocole fondé sur TCP/IP, capable d’interagir avec des annuaires X.500, sans avoir à en supporter la complexité. Il s’agit bien d’un DAP simplifié d’où son nom. Il est capable de communiquer avec n’importe quel annuaire, X.500 ou autre, fondé sur un modèle hiérarchique. Il possède par rapport au modèle X.500 trois avantages clés : ♦ placé au-dessus de TCP/IP, il n’est pas pénalisé par les niveaux présentation, session et transport de l’OSI et peut être mis en œuvre sur la quasi totalité des systèmes d’aujourd’hui ; ♦ fonctionnellement, il est plus simple que X.500 grâce à l’abandon des opérations de lecture et de liste, ainsi que l’abandon de quelques opérations de sécurité et de contrôle telles que la signature, qui ne sont quasiment pas utilisées ; ♦ LDAP utilise, par ailleurs, un encodage de chaînes de caractères pour décrire les Distinguished Names et autres données, alors que X.500 met en œuvre un encodage beaucoup plus complexe. Par contre LDAP reporte sur les clients DUA le soin de poursuivre certaines recherches dites referral, alors que, sous X.500, un DUA qui émet une requête à un DSA, s’il ne peut pas la réaliser entièrement, à charge pour le DUA de relancer la poursuite de la requête auprès du DSA ainsi désigné et configuré. Description Le protocole LDAP définit la méthode d'accès aux données sur le serveur au niveau du client. Ainsi LDAP fournit à l'utilisateur des méthodes lui permettant de : ♦ se connecter ; ♦ se déconnecter ; ♦ rechercher des informations ; ♦ comparer des informations ; ♦ insérer des entrées ; ♦ modifier des entrées ; ♦ supprimer des entrées. D'autre part, le protocole LDAP propose des mécanismes de chiffrement (SSL…) et d'authentification (SASL) permettant de sécuriser l'accès aux informations stockées dans la base. 4.3. DNS DNS (Domain Name Server) est un ensemble de bases de données qui contiennent la correspondance entre des noms de domaines, tels qu’ils sont attribués soit par les organismes officiels qui en ont la charge (le NIC en France) soit par l’administrateur réseau et une adresse IP du réseau Internet ou du réseau interne privé. Il s’agit d’un véritable système de nommage distribué et non pas d’un annuaire au sens strict du terme, qui permet à un utilisateur connecté au réseau de se brancher sur le site qu’il a choisi. Quand celui-ci émet une requête de connexion, le navigateur client commence par interroger un serveur DNS local, censé connaître les sites locaux de la zone géographique à laquelle il appartient. Si la requête ne peut être résolue à ce niveau, elle est 2005 Toute reproduction même partielle interdite IGPDE page 109 Architecture technique acheminée par le serveur DNS interrogé vers un autre serveur DNS de couverture plus élevée, jusqu’à ce que la référence soit résolue et la connexion initialisée. Le système de nommage proprement dit de DNS est compatible avec celui de X.500. Il est hiérarchisé en niveaux, le « distinguished name » se lisant de gauche vers la droite, le suffixe du nom (fr, com, org, edu...) correspond au niveau le plus élevé. Il faut établir une hiérarchie d’adressage: décider quelles plages d’adresses peuvent être allouées à des groupes particuliers de machines. Il s’agit aussi d’éviter des points uniques de panne. Les serveurs DNS doivent être redondants. 4.4. UDDI 4.4.1. Objectifs Avec la croissance explosive du commerce électronique, l'Internet présente une possibilité incroyable de trouver des affaires, de nouveaux clients, de simplifier les chaînes de provision, de fournir de nouveaux services et de garantir des gains financiers sans précédent. Malgré la croissance remarquable ces dernières années, un obstacle principal s'est dressé pour ouvrir le commerce dans le monde entier non seulement à ceux déjà qui réalisaient du e-commerce (Electronic Commerce), mais aussi aux entreprises qui ne sont pas encore des acteurs dans l'économie digitale. La plupart des applications d'e-commerce implémentant des services du Web (cf.- § services web) actuellement en place prennent des chemins divergents pour connecter acheteurs, fournisseurs, marchés et fournisseurs de service. Pour ouvrir entièrement les portes aux acteurs existants et potentiels, le e-commerce exige que les échanges commerciaux puissent se réaliser dynamiquement, sans contraintes technologiques. Pour accomplir cela, une solution complète est nécessaire pour permettre aux acteurs de publier leur information à destination de n'importe quel client ou partenaire dans le monde entier. Une manière commune de publier l'information sur les affaires commerciales rendra possible aux entreprises la recherche et la découverte du partenaire approprié parmi les millions d’acteurs présents. La solution est de créer une architecture d'enregistrement de service qui permette de manière standard pour un acteur économique de s’enregistrer, d’accéder d’autres partenaires et de permettre aux acteurs déjà enregistrés d’interagir et de partager de l’information comme le réalise l ’Internet. Une structure de services Web et d'enregistrement public permettra aux acheteurs et aux vendeurs dans le monde de partager l’information, se connecter à des services Web à bas prix, de soutenir de multiples standards et de prospérer dans une nouvelle économie numérique. 4.4.2. Description Pour répondre à ce défi, un groupe d’entreprises a développé la spécification UDDI (Universal Description, Discovery and Integration), une initiative large qui crée une structure globale (mondiale), indépendante de la plate-forme, ouverte, pour permettre aux acteurs économiques de se découvrir mutuellement, de définir comment ils interagissent sur l'Internet et de partager l’information dans un registre global. page 110 Toute reproduction même partielle interdite IGPDE 2005 Architecture technique Les spécifications UDDI mettent à profit les standards du World Wide Web Consortium (W3C) et de l’Internet Engineering Task Force IETF Internet : XML, http, DNS et SOAP. Le composant fondamental du projet d'UDDI est l'enregistrement auprès de l’annuaire, un fichier XML utilisé pour un acteur économique et ses services Web. L'enregistrement consiste en trois composants : "des pages blanches" incluant l'adresse, le contact et des identifiants connus; les « pages jaunes » incluant des catégories industrielles basées sur des taxonomies standards ; et « des pages vertes », l'information technique sur les services qui sont proposés par l’acteur en question. La spécification comprend plusieurs documents et un schéma XML qui définit un protocole basé sur SOAP pour enregistrer et rechercher des services Web. 4.5. NDS Une des fonctions fondamentales de la génération actuelle de Netware est NDS (Netware Directory Service). Cette structure de répertoire unifie toutes les ressources réseau dans un système hiérarchique. A travers NDS, un administrateur réseau gère les ressources accessibles par les utilisateurs sur le réseau. La structure de l’annuaire est hiérarchisée et objet, il peut contenir 2 millions d’objets. 4.6. ACTIVE DIRECTORY Un réseau Windows NT utilise le concept de domaines pour lier les réseaux entre eux. Plusieurs ordinateurs peuvent appartenir à un domaine et plusieurs domaines peuvent exister sur un réseau. Windows 2000 et 2003 a une approche plus élaborée pour organiser le réseau appelé AD-Active Directory. La structure de l’annuaire est un fichier plat. 5. COMMUNICATION INTER APPLICATION La communication inter application adresse l’ensemble des moyens d’échanges permettant de bâtir des applications distribuées c’est à dire nécessitant la mise en œuvre de services applicatifs répartis qui doivent se synchroniser en temps réel ou en temps différé, gérer éventuellement les aspects transactionnels et veiller à ce que les échanges soient fiables. 5.1. RPC Les RPC (Remote Procedure Call) ou appel de procédure à distance dissimulent la complexité du réseau en utilisant l'appel de procédure. Un processus client appelle une fonction d'un serveur et suspend son propre fonctionnement jusqu'à l'obtention du résultat. Un RPC est donc synchrone. Les paramètres sont transmis comme dans une procédure ordinaire. De manière transparente, le logiciel RPC rassemble les valeurs des paramètres, constitue un message et l’expédie au serveur distant. Celui-ci reçoit la requête, désassemble les paramètres, appelle la procédure et retourne la réponse au client. 5.2. MOM Le service d’échange de type message et file d’attente appelé MOM (Message Oriented Middleware) permet d'échanger des messages dans un système client/serveur au moyen de files d'attente (queues) de messages. Les applications communiquent sur le réseau en déposant et retirant les messages dans les files d'attentes. 2005 Toute reproduction même partielle interdite IGPDE page 111 Architecture technique Les programmes fonctionnant par MOM ne se parlent pas directement, ils sont indépendants les uns des autres en termes de disponibilité. Ils fonctionnent de manière asynchrone. 5.3. OBJETS DISTRIBUES 5.3.1. Introduction Les problèmes classiques d’architecture d’un système sont liés à la richesse des besoins, à la multiplicité des systèmes d’exploitation, des technologies réseau et des langages de programmation. Il s’agit de concilier la capitalisation des développements et le déploiement rapide de nouvelles applications. Dans le domaine de l’architecture d’objets distribués, deux technologies majeures existent: la norme CORBA de l’OMG et la technologie propriétaire COM/DCOM de Microsoft. Dans le monde JAVA, il faut citer également la technique propriétaire RMI (Remote Method Invocation). 5.3.2. CORBA L’architecture CORBA (Common Object Request Broker Architecture) spécifie les mécanismes de communication entre objets dans une architecture distribuée et définit l’interface des objets, indépendamment de leur programmation. La norme Corba a été finalisée en 1991 (Corba1) et en 1994 (Corba2) pour favoriser la réutilisabilité des composants, leur portabilité et leur interopérabilité. L’OMG, qui rassemble plus de huit cent sociétés est un organisme à but non lucratif dont le but est de standardiser les technologies objet. 5.3.3. RMI Java/RMI (Remote Method Invocation) est spécifique au langage Java. C’est un ensemble de classes et d’outils de mise en œuvre permettant à des objets distribués sur différents sites ou sur une même plate-forme de communiquer entre eux. Les objets Java sont exécutés par la machine virtuelle Java appelée la JVM ( Java Virtual Machine). L'appel de méthode éloignée de java permet à des objets appartenant à une machine virtuelle Java (JVM) d'invoquer de façon transparente des méthodes appartenant à des objets situés dans une autre JVM. Ceci n'est en rien différent du modèle CORBA d'activation de méthode éloignée. L'originalité de Java RMI provient du fait que les paramètres d'appel d'une méthode peuvent être eux mêmes des objets Java. Ainsi des objets Java peuvent être déplacés à travers Internet ou tout réseau TCP/IP. Le code Java pouvant s'exécuter sur n'importe quelle plate-forme, tout objet écrit en java peut circuler sur le réseau afin d'être exécuté sur la machine la plus adaptée aux conditions du moment. 5.3.4. COM/DCOM La technologie COM (Component Object Model) de Microsoft définit un format standard d’échanges entre des bibliothèques d’objets exécutables. Comme CORBA, COM sépare l’interface d’un objet de son implémentation et demande que toutes les interfaces soient déclarées au moyen d’un langage de définition d’interface. Les mécanismes d’héritage n’existent pas dans COM, contrairement à CORBA. Un objet COM n’est pas un objet au sens de l’orienté objet. Les interfaces COM ne possèdent pas d’état et ne peuvent pas être instanciées pour créer un objet unique. Les clients reçoivent un page 112 Toute reproduction même partielle interdite IGPDE 2005 Architecture technique pointeur pour accéder aux fonctions d’une interface. Comme CORBA, COM fournit des interfaces statiques et dynamiques pour faire appel aux méthodes. Contrairement à CORBA, le bus COM ne s’étend pas sur les réseaux. C’est une implémentation mono machine d'un ORB. 5.4. SOAP L'ouverture de l'entreprise au monde grâce à Internet et le succès du langage universel HTML ont tracé la voie à la recherche d'un standard d'informatique distribuée qui permettrait à une application de faire appel aux services d'une autre application, que celle-ci se trouve sur la même plate-forme, sur deux plates-formes différentes, voire deux plates-formes hétérogènes et étrangères. SOAP (Simple Object Access Protocol) est un protocole de communication d'ordinateur à ordinateur sous HTTP très simple, écrit en XML. Il permet l'échange de données, quels que soient les systèmes d'exploitation. Les messages SOAP sont des transmissions en sens unique d'un émetteur vers un récepteur. C'est maintenant un standard stabilisé et déjà employé. 2005 Toute reproduction même partielle interdite IGPDE page 113 Architecture applicative physique ARCHITECTURE APPLICATIVE PHYSIQUE 1. MODELISATION 1.1. DESCRIPTION L’architecture applicative physique correspond à l’ensemble des programmes appartenant à une application, à leur répartition physique sur l’infrastructure, à leurs interactions et leurs modes d’exécution. Elle comprend les composants majeurs d’une application : les programmes, les données traitées ou les objets activés et les transactions opérées par les programmes en exécution (processus) sur les données; avec leurs gestionnaires de ressources éventuels (SGBD, moniteur transactionnel, serveur d’application). Plusieurs modèles d’architecture applicative physique (maître/esclave, d’égal à égal) hérités des environnements centralisés ont précédé le fameux modèle client/serveur. Certaines distinctions ne sont pas toujours très claires. Cependant, en général, les modèles se distinguent par l’allocation des fonctions d’une application sur les différents composants (terminal, plate-forme, etc.). Ces fonctions sont la présentation, les traitements et les données. 1.2. MODELE MAITRE/ESCLAVE Dans ce modèle, les ordinateurs esclaves sont attachés à un ordinateur maître. La distribution est fournie dans une seule direction du maître vers les esclaves. L’ordinateur esclave réalise les traitements applicatifs uniquement sur ordre du maître. Les ordinateurs esclaves ne peuvent réaliser en local que des fonctions limitées: impression, validation de champs. 1.3. MODELE HIERARCHIQUE Le modèle hiérarchique est une extension du modèle maître/esclave avec de plus grandes capacités de distribution. Dans cette approche, la couche supérieure est habituellement un ordinateur puissant, qui agit comme serveur pour la couche sous-jacente. Celle-ci comprend des serveurs de réseau local. La dernière couche comprend des terminaux et des PC. 1.4. MODELE D’EGAL A EGAL 1.4.1. Introduction Dans ce modèle, les processus se coordonnent. Tous les ordinateurs sont des serveurs ; ils peuvent recevoir des requêtes pour des services et y répondre. Tous les ordinateurs sont des clients; ils peuvent envoyer des requêtes pour des services à d’autres ordinateurs. Ce modèle peut être considéré comme un cas particulier du modèle client/serveur dans lequel toutes les plates-formes peuvent être à la fois client et serveur. 1.4.2. Evolution Le modèle d’égal à égal dit aussi peer-to-peer connaît un succès phénoménal grâce à la population de services Internet grand public comme Kaaza, Edonkey, etc. Mais cette architecture connut déjà de 1993 à 1996 un grand succès dans le monde des réseaux grâce aux logiciels comme Lantastic d’Artisoft, Personal Netware de Novell ou plus tard Windows for Workgroup 3.11 de Microsoft. page 114 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique Ces systèmes d’exploitation ont permis à des milliers d’entreprises de s’initier au réseau. Simples à installer, ils permettaient à des micro-ordinateurs de partager des ressources (disques, imprimantes) sans qu’un serveur central ne soit nécessaire. Un composant logiciel résidant sur chaque PC faisait de lui à la fois un poste client et un serveur. Il pouvait accéder aux ressources des autres postes tout en mettant à la disposition des voisins une partie des siennes. Outre l’avantage de la simplicité, cette solution était économique. Les nouveaux outils peer-to-peer ne font que remettre au goût du jour de vieilles technologies. Mais la différence majeure réside dans l’échelle à laquelle ces systèmes fonctionnent. Plus robustes et bien mieux adaptés à la montée en charge, ces logiciels modernes sont à même de relier des millions d’utilisateurs dans le monde entier au travers d’Internet. 1.4.3. Applications multiples Les applications les plus évidentes de la technologie sont réunies en trois ou quatre catégories principales. La première est celle des applications d’échange ou de partage de données et de fichiers, mais en version sécurisée. La seconde catégorie a trait aux applications de travail en groupe et de collaboration. Troisième domaine d’application, les moteurs de recherche. En distribuant les recherches sur l’ensemble des postes, chaque PC ou serveur Web est responsable de l’indexation de son propre contenu, ce qui permet encore une fois d’économiser de précieuses ressources mais aussi une actualisation plus fréquente des index. Enfin, les technologies peer-topeer offrent aussi des perspectives prometteuses en matière de calcul distribué. 1.4.4. Perspectives Pour faire fonctionner une application client serveur comme le peer-to-peer (P2P), il faut nécessairement des logiciels clients. Et lorsque l’entreprise dispose de multiples plates-formes, cela veut dire autant de clients que de systèmes d’exploitation supportés dans l’entreprise. Or, le support multi-plate-forme n’est pas le point fort des éditeurs de solution P2P. Autre problème : qui dit client dit administration du client. Les équipes d’exploitation doivent gérer les mises à jour de logiciels, parfois sur des plates-formes hétérogènes et assurer leur support technique ainsi que leur sécurité. 2005 Toute reproduction même partielle interdite IGPDE page 115 Architecture applicative physique L’une des questions importantes à résoudre pour les entreprises sera donc de déterminer si les apports significatifs des applications P2P, notamment en matière de collaboration, justifient des problèmes de maintenance et de support qu’elles peuvent entraîner au niveau des postes clients. 1.5. MODELE CLIENT/SERVEUR 1.5.1. Définition Le modèle client/serveur est un modèle d’architecture applicative où les programmes sont répartis entre processus client et serveur communiquant par des requêtes avec réponses. 1.5.2. Caractéristiques Les systèmes client/serveur présentent les caractéristiques ci-dessous. Service Le modèle client/serveur est essentiellement une relation entre des processus tournant sur des machines séparées. Le processus serveur fournit des services aux clients consommateurs de services. Partage de ressources Un serveur peut traiter plusieurs clients en même temps et contrôler leur accès aux ressources. Asymétrie des protocoles La relation entre clients et serveur est de type plusieurs vers un. C'est toujours le client qui déclenche le dialogue en demandant un service. Les serveurs attendent les requêtes des clients. page 116 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique Transparence de la localisation Le processus serveur peut résider sur la même machine que le client ou, par l'intermédiaire d'un réseau, sur une machine distante. Un programme peut être successivement client, serveur ou les deux. Echange de messages Les clients et les serveurs sont des systèmes qui interagissent au moyen de messages. Le message est le mécanisme d'émission des demandes de service et des réponses à celles-ci. Redimensionnement Les systèmes client/serveur peuvent être redimensionnés horizontalement (variation du nombre de stations client) ou verticalement (variation de la puissance serveur par extension ou ajout système). Intégrité Le code et les données du serveur sont gérés de façon centralisée, ce qui permet une meilleure intégrité des données partagées. Les clients restent individuels et indépendants. Middleware Le middleware se définit comme la partie logicielle intermédiaire non applicative (au sens métier) complémentaire de la partie client et de la partie serveur de l’application. Il correspond principalement à l’architecture technique. 2005 Toute reproduction même partielle interdite IGPDE page 117 Architecture applicative physique 1.5.3. Types de client/serveur Schéma du Gartner Group Une société américaine de consultants, le Gartner Group, a publié un schéma des différents types de client/serveur existants. Revamping POUR ♦ application centrale intacte ♦ prise en compte des interfaces graphiques CONTRE ♦ site central non soulagé ♦ mise en oeuvre des interfaces graphiques limitée ♦ configuration compliquée pour résultat décevant C/S de présentation: X-Window POUR CONTRE ♦ indépendance entre la logique de présentation ♦ le trafic réseau généré par le protocole de l'application et l'interface graphique utilisée X.Window est important ♦ le standard X.Window presque universellement reconnu page 118 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique C/S de données POUR CONTRE ♦ facile à mettre en oeuvre ♦ bien adapté aux utilisations de type consultation/décision ♦ un seul environnement de développement, côté client, qui est facile à déployer et offre des possibilités de prototypage rapide ♦ pas de coût supplémentaire pour des logiciels non applicatifs (e.g., moniteur transactionnel) ♦ pas normalisé ♦ ne répond pas aux exigences du transactionnel intensif ♦ extensibilité limitée due à la tendance à la transmission de données sur le réseau ♦ dépendance par rapport au vendeur de SGBD, les solutions neutres sont moins performantes ♦ coopération et interopérabilité limitées avec d'autres applications à cause du logiciel non applicatif spécifique nécessaire au niveau serveur et client (middleware) C/S de traitements POUR CONTRE ♦ meilleures performances ♦ trafic réseau réduit ♦ optimisation possible de l'allocation des ressources sur le client et le serveur ♦ les programmes serveur peuvent être définis en termes de services fonctionnels et donc réutilisés ♦ l'interface du SGBD n'est pas visible au client, le schéma de données peut être changé sans avoir un impact sur le client ♦ la coopération avec d'autres applications peut être réalisée de manière transparente pour le client au niveau du serveur ♦ impose un développement côté serveur ♦ ne convient pour les applications à caractère « ponctuel » ♦ développement de l'application plus complexe : les outils doivent être adaptés à l'environnement C/S, à la fois côté client et côté serveur ♦ la gestion et le déploiement sont plus complexes 1.5.4. Générations de client/serveur Schématiquement et parallèlement au schéma du Gartner Group, l'ensemble des spécialistes s'accorde à classer le modèle client/serveur en quatre grandes catégories. Le client-serveur de présentation place la logique de présentation sur le poste client, mais laisse cependant les traitements sur le serveur. Ce modèle a été couramment associé à des opérations dites de « revamping » d'applications traditionnelles tournant sur des grands systèmes. Elles consistaient à améliorer la présentation en mode caractère de l'application avec une interface utilisateur de type graphique telle que Windows. Le second modèle, dit client-serveur de données, de première génération, à deux niveaux a été le plus répandu des modèles de client-serveur. Il attribue un rôle accru au client qui prend en charge la couche de présentation et la logique de l'application. Le serveur abrite la gestion des données et bien souvent en garantit l'intégrité. 2005 Toute reproduction même partielle interdite IGPDE page 119 Architecture applicative physique Client-serveur de deuxième génération, à trois niveaux ou de traitement ou trois tiers. Autant d'appellations différentes pour une réalité commune qui évoque une évolution de l'architecture client-serveur. D'un modèle à deux niveaux où un client et un serveur se partagent les rôles, l'informatique évolue vers un modèle à trois niveaux qui dissocie, au sein d'une application, la couche de présentation, l'application à proprement parler et les données. Cette architecture est censée apporter plus de souplesse, de sécurité et d'indépendance vis-à-vis de l'implémentation de l'application sur les matériels. Elle permet de développer des applications plus distribuées et de les déployer à grande échelle. Une évolution du client-serveur de deuxième génération qui est appelé parfois client-serveur de troisième génération ou client-serveur Web consiste à utiliser un client doté d’un navigateur (Netscape ou Internet Explorer) et de distribuer les ressources applicatives (traitements et données) sur des serveurs distants. Ces mêmes composants applicatifs peuvent être téléchargés au moment de leur utilisation par le client après avoir transité sur le réseau. La distribution des traitements dans ce cas n’est plus statique. 1.6. CLIENT/SERVEUR WEB 1.6.1. Introduction Internet est une évolution technologique forte qui ne remet pas en cause nécessairement tous les concepts fondamentaux de l’informatique professionnelle. Néanmoins, Internet a contribué à renouveler l’offre de produits en imposant les architectures distribuées comme modèle. Chaque composant de l’architecture offre aujourd’hui une interface d’accès standardisée qui constitue un point d’accès adapté : ♦ HTML pour les interfaces graphiques ; ♦ HTTP pour la diffusion d’information et de programmes ; ♦ XML pour les échanges de données ; ♦ LDAP pour l’accès aux services d’annuaire ; ♦ Etc. Il existe en fait trois types fondamentaux d’architectures C/S web qui peuvent aujourd’hui être mis en œuvre : ♦ Les architectures Web-to-Host; ♦ Les architectures C/S Web classique ; ♦ Les architectures C/S Web distribuées. 1.6.2. Web-to-host Principes Après une première phase de déploiement d'outils de communication, de nombreux intranets s'orientent vers l'intégration d'applications visant à optimiser les processus de l'entreprise. Conçus en périphérie des systèmes en place, les premiers projets cèdent la place à de véritables solutions respectant le système d'information existant. Pour beaucoup de sociétés, cet existant a pour nom mainframe, systèmes Unix et autres applications qu'il n'est possible d'atteindre qu'avec des terminaux spécifiques. Assurant le lien entre l'époque des systèmes propriétaires et les nouvelles technologies du futur, le Web-to-host constitue, dans bien des cas, la solution la plus rapide pour profiter des avantages de l'intranet sans remettre en cause l'existant. page 120 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique Le Web-to-host est dédié à la récupération d’applications sur systèmes centraux existants. Exploitant un module qui se greffe sur un serveur Web, cette solution permet de convertir des écrans de terminaux en mode HTML. Cette interface plus conviviale permet de passer de liaisons spécialisées au réseau public Internet et donc d’ouvrir son système central à de nouveaux partenaires. Intégration Le Web to host regroupe tous les logiciels qui permettent, à partir de n'importe quel type de périphérique, pour peu qu'il dispose d'un navigateur, d'accéder aux informations, données et applications hébergées sur mainframe. Utilisant l'infrastructure publique d'Internet et son protocole IP, le Web to host ne nécessite aucun déploiement : un serveur sert de passerelle entre le navigateur et les hôtes (mainframes). Repris sous forme d'applet Java ou de contrôle ActiveX à l'intérieur du navigateur, l'émulateur donne accès au mainframe, à des mécanismes existants, à de nouveaux développements. Concrètement, le Web-to-host permet à toute entreprise équipée de terminaux passifs propriétaires de bénéficier des avantages et des technologies de l'intranet. Au passage, elle a ainsi la possibilité de se débarrasser d'un parc matériel coûteux à faire évoluer et à maintenir, de relations de dépendance avec ses fournisseurs et d'applications monolithiques difficilement évolutives, mais qui ne sont pas dénuées d'intérêt pour autant. Raison pour laquelle, dans un premier temps, beaucoup d'applications Web-to-host se contentent de reprendre les écrans existants pour les encapsuler dans le navigateur. Rapide, cette méthode présente en outre un second avantage l'interface étant identique à celle du traditionnel terminal, le passage au Web-to-host ne suppose aucune formation de la part des utilisateurs. Progressivement, les outils Web-to-host se sont toutefois enrichis de fonctions d'habillage qui modifient dynamiquement le graphisme d'un écran pour l'adapter au Web. Enfin, bien qu'une solution Web to host s'appuie sur un serveur jouant le rôle d'intermédiaire entre le client et les données ou processus sur mainframe, on ne peut pas véritablement parler d'architecture multi-tiers au sens strict du terme. Cela, pour la simple raison que le serveur Web-tohost administre plus qu'il n'exécute les tâches. Mais l'architecture de base est là : en séparant les traitements des données, les solutions de Web to host favorisent le développement d'environnements distribués. 1.6.3. Client/serveur Web classique Cette première gamme d'architecture client-serveur Web s'apparente dans son fonctionnement aux systèmes centralisés à terminaux passifs. Elle concerne la grande majorité des applications Web mises en production jusqu'à aujourd'hui. Client web de base Le navigateur a fondamentalement le rôle de téléchargement de fichier HTML et d’interprétation et d’affichage de son contenu mis en forme grâce aux indications fournies par les balises. HTML HTML (Hypertext Markup Language) est un langage permettant de décrire : ♦ l’affichage et la présentation d’un texte ; ♦ la présentation de données graphiques ; ♦ des pointeurs vers d’autres fichiers ; ♦ des pointeurs vers des données numériques son et vidéo ; 2005 Toute reproduction même partielle interdite IGPDE page 121 Architecture applicative physique ♦ des formulaires de saisie d’informations depuis l’écran de visualisation. HTML est compris par les navigateurs qui interprètent et affichent à l’écran. Les pages HTML sont distribuées par le serveur HTTP. DHTML En permettant de modifier de façon dynamique le rendu et le contenu d'un document, DHTML (Dynamic HTML) donne la possibilité de créer des documents HTML fonctionnant en interaction avec l'utilisateur sans le recours à des programmes serveur, des composants téléchargés ou à des jeux de pages HTML compliqués pour obtenir des effets spéciaux. Les éléments, attributs et styles HTML en DHTML sont fondés sur la syntaxe HTML existante et sur les spécifications des feuilles de style en cascade (CSS). Les utilisateurs peuvent visualiser les documents, qu'ils utilisent Internet Explorer ou un autre navigateur. Les fonctions dynamiques et interactives qui sont ajoutées aux documents peuvent ne pas être totalement fonctionnelles lorsqu'elles sont visualisées avec un navigateur qui ne gère pas le DHTML. Le DHTML supprime les lacunes des technologies des précédents navigateurs. Il est possible de créer des sites Web novateurs, sur Internet ou un Intranet, sans devoir sacrifier les performances au bénéfice de l'interactivité et des effets spéciaux. Non seulement le DHTML améliore la perception des documents par l'utilisateur, mais il améliore aussi les performances du serveur en réduisant les requêtes au serveur et, par conséquent, la charge de celui-ci. Le DHTML permet de créer des interfaces interactives et riches. Il permet de sortir des limites des applications Web statiques en donnant un accès à la programmation de différents éléments du document HTML. Le DHTML permet : ♦ d’animer différents éléments de l’application Web ; ♦ de répondre à la saisie de l'utilisateur sans aller-retour jusqu'au serveur ; ♦ de lire des jeux de données à votre page Web statique. page 122 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique XML XML (eXtended Markup Language et traduire Langage à balise étendu) est en quelque sorte un langage HTML amélioré permettant de définir de nouvelles balises. Il s'agit effectivement d'un langage permettant de mettre en forme des documents grâce à des balises (markup). Contrairement à HTML, qui est à considérer comme un langage défini et figé (avec un nombre de balises limité), XML peut être considéré comme un métalangage permettant de définir d'autres langages, c'est-à-dire définir de nouvelles balises permettant de décrire la présentation d'un texte. La force de XML réside dans sa capacité à pouvoir décrire n'importe quel domaine de données grâce à son extensibilité. Il va permettre de structurer, poser le vocabulaire et la syntaxe des données qu'il va contenir. En réalité, les balises XML décrivent le contenu plutôt que la présentation (contrairement à HTML). Ainsi, XML permet de séparer le contenu de la présentation, ce qui permet par exemple d'afficher un même document sur des applications ou des périphériques différents sans pour autant nécessiter de créer autant de versions du document que l'on nécessite de représentations. C’est une norme très importante. Avec ses qualités de balisage universel et de description facile des documents structurés, le XML a été rapidement adopté. Il permet de créer des pages Internet sophistiquées (comprises par les navigateurs modernes). Mais son principal intérêt réside désormais dans les échanges entre machines et/ou programmes, mêmes étrangers entre eux : ♦ pour les échanges de données informatisées (EDI), bien sûr ; ♦ comme format universel entre applications (les suites bureautiques comme Office 11, StarOffice. sont toutes compatibles, de mêmes que les bases de données...) ; ♦ c'est aussi la base de l'interopérabilité et des services Web ; ♦ également comme principe de structuration de nouvelles normes (XML est eXtensible, ce qui signifie qu'il sera possible de rajouter des éléments à une description, sans rendre les versions précédentes incompatibles). a) Avantages Voici les principaux atouts de XML : ♦ la lisibilité : aucune connaissance ne doit théoriquement être nécessaire pour comprendre un contenu d'un document XML ; ♦ autodescriptif et extensible ; ♦ une structure arborescente : permettant de modéliser la majorité des problèmes informatiques ; ♦ universalité et portabilité : les différents jeux de caractères sont pris en compte ; ♦ déployable : il peut être facilement distribué par n'importe quels protocoles à même de transporter du texte, comme HTTP ; ♦ intégrabilité : un document XML est utilisable par toute application pourvue d'un parser (c'està-dire un logiciel permettant d'analyser un code XML) ; ♦ exensibilité : un document XML doit pouvoir être utilisable dans tous les domaines d'applications. 2005 Toute reproduction même partielle interdite IGPDE page 123 Architecture applicative physique b) Description Structure En réalité, un document XML est structuré en 3 parties : 1. La première partie, appelée prologue, permet d'indiquer la version de la norme XML utilisée pour créer le document (cette indication est obligatoire) ainsi que le jeu de caractères (en anglais encoding) utilisé dans le document. 2. Le prologue se poursuit avec des informations facultatives sur des instructions de traitement à destination d'applications particulières. 3. Le second élément est une déclaration de type de document (à l'aide d'un fichier annexe appelé DTD - Document Type Definition). 4. Et, enfin, la dernière composante d'un fichier XML est l'arbre des éléments. Rôle du DTD XML permet d'utiliser un fichier afin de vérifier qu'un document XML est conforme à une syntaxe donnée. La norme XML définit ainsi une définition de document type appelée DTD (Document Type Definition), c'est-à-dire une grammaire permettant de vérifier la conformité du document XML. La norme XML n'impose pas l'utilisation d'une DTD pour un document XML, mais elle impose, par contre, le respect exact des règles de base de la norme XML. Ainsi on parlera de : ♦ document valide pour un document XML comportant une DTD ; ♦ document bien formé pour un document XML ne comportant pas de DTD mais répondant aux règles de base du XML. Une DTD peut être définie de 2 façons : ♦ sous forme interne, c'est-à-dire en incluant la grammaire au sein même du document ; ♦ sous forme externe, soit en appelant un fichier contenant la grammaire à partir d'un fichier local ou bien en y accédant par son URL. Script client a) Description Avec HTML, l’utilisateur n’a aucune possibilité d’intervenir sur le contenu en cours d’affichage dans son navigateur ; l’interactivité se limite aux liens hypertextes permettant d’afficher une nouvelle page. Pour pallier cette limitation, Javascript constitue une première solution. Il repose sur de la programmation événementielle. Un certain nombre de fonctions sont incluses dans le code d’une page HTML et sont exécutées à différents niveaux du cycle de vie de la page, ou en réponse à certaines actions des utilisateurs. Visual Basic Script (VBScript) est un sous-ensemble du langage Microsoft Visual Basic. S’l faut rédiger des scripts côté client sur les deux navigateurs Netscape et Microsoft, le choix de langage est limité à JavaScript. page 124 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique b) JavaScript Javascript est un langage de script de Netscape qui n'a rien à voir avec Java, mais est basé sur la syntaxe Java. Si le langage Java impose le téléchargement de classes, c'est-à-dire de programmes précompilés depuis le serveur, JavaScript provoque l'exécution de programmes non compilés mais interprétés et contenus dans le corps de la page HTML. Comme son grand frère Java, JavaScript est orienté objet, ce qui revient à dire en première approximation que tout objet possède des propriétés, qu'à tout objet se voient associées des méthodes, sorte de fonctions propres à ces objets. Certains objets sont prédéfinis, mais il est possible de créer un arsenal de nouveaux objets dérivés avec leurs propres méthodes. Helper Pour avoir un véritable client universel, il fallait également que le navigateur soit capable d'interpréter d'autres formats de données. C'est ainsi que Netscape proposa d'abord la possibilité d'associer des programmes Helper à son navigateur. Le principe est relativement simple : lorsque le navigateur est confronté à un type de données inconnu, il en confie l'interprétation à un programme externe préalablement déclaré apte à réaliser ce type d'opération. C'est le cas, par exemple, des premières versions de RealAudio Player qui permet d'écouter un flux musical de façon continue, au fur et à mesure de son chargement et dont le débit s'adapte aux conditions de connexion. Malheureusement, les programmes Helper s'exécutent chacun dans un processus séparé, ce qui a quelques inconvénients ♦ la consommation en ressources systèmes est augmentée de façon notable ; ♦ visuellement, l'utilisateur ne voit pas son document dans la fenêtre du navigateur, ce qui lui fait perdre l'impression d'un seul et même client universel ; ♦ les programmes Helper ne peuvent pas interagir avec le navigateur qui les a lancés. Plug-in Dès la version 2.0 de Navigator, Netscape proposa la technologie des plug-in pour remplacer ou compléter les programmes Helper. Les plug-in sont des composants logiciels qui s'exécutent dans 1a zone client du navigateur. Les plug-in tournent dans le même processus que le browser. Le principal inconvénient des plug-in réside dans leur implémentation propriétaire. Non seulement ils ne fonctionnent qu'avec un navigateur particulier, mais il faut aussi une version de plug-in par plate-forme cliente. Les plug-in représentent tout de même un bon compromis : ils permettent de conserver les performances liées à une application compilée, tout en réduisant les coûts d'installation. En effet, les plug-in sont téléchargés et installés automatiquement par le navigateur lorsque leur usage est requis pour la première fois. Il n'est nécessaire de répéter cette procédure que lors d'un changement de version du plug-in. 2005 Toute reproduction même partielle interdite IGPDE page 125 Architecture applicative physique Serveur Web dynamique CGI a) Formulaires Web CGI (Common Gateway Interface) est une norme apparue presque en même temps que les premières spécifications de HTML. L'objectif de cette interface était d'autoriser la publication d'informations de manière dynamique par la création de documents HTML à 1a demande (de l'utilisateur). C'est-à-dire qu'au lieu d'obtenir une page statique préalablement enregistrée sur 1e disque dur du serveur Web, l'utilisateur obtient une page dont le contenu est généré dynamiquement. Des contrôles (par exemple, champs de saisie) peuvent être inclus dans des pages HTML. Ils permettent à l'utilisateur de saisir des informations qui serviront de paramètres au programme de génération de document. Un ensemble de contrôles définit un formulaire HTML, qui se termine toujours par un bouton de type Submit (enregistrer) et éventuellement par un bouton Reset (annuler). Les paramètres saisis dans le formulaire sont transmis sous la forme d'une chaîne de caractères. CGI permet donc d'obtenir un fonctionnement séquentiel semblable à celui des applications tournant sur gros systèmes et exploitées via un terminal passif. Le navigateur Web fait, en effet, ici office de terminal : il collecte les paramètres saisis par l'utilisateur et affiche un résultat, rien d'autre ! page 126 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique b) Déroulement de l'appel d'un programme CGI Le déroulement de l'appel d'un programme CGI peut être représenté de la façon indiquée sur la figure ci-dessous. Les différentes étapes de son exécution sont présentées ci-après. 1. L'utilisateur, après avoir rempli tous les champs du formulaire de la page HTML affichée dans son navigateur, clique sur le bouton Submit. Le navigateur envoie alors une requête HTTP au serveur Web contenant le nom d'un programme CGI localisé dans le répertoire cgi-bin de ce serveur. Cet appel est visible dans le champ d'adresse du navigateur. Les paramètres du formulaire sont transmis soit dans une chaîne de caractères à la fin de l’URL (méthode GET), soit dans le corps de la requête HTTP (méthode POST). 2. Le serveur Web (également appelé démon HTTP) reçoit la requête. La référence au répertoire cgi-bin lui indique qu'il doit procéder à l'exécution d'un programme au lieu de renvoyer simplement le contenu d'une page HTML statique. Il exécute alors ce programme dans un processus distinct en mettant à sa disposition certaines variables d'environnement (les variables CGI). Le programme peut alors retrouver des informations de contexte pour son exécution dans ces différentes variables. 2005 Toute reproduction même partielle interdite IGPDE page 127 Architecture applicative physique 3. En fonction des informations de contexte (apportées par les variables CGI) et des informations saisies par l'utilisateur, le programme peut extraire des enregistrements dans une base de données ou les mettre à jour. 4. Les données extraites de la base sont transmises au programme CGI. 5. Notre programme génère alors dynamiquement une nouvelle page de Web, en réalisant tout simplement des écritures de code HTML dans sa sortie standard, comme un programme normal produirait un affichage sur l'écran. Ce flux est intercepté par le serveur Web. 6. Le serveur Web redirige le flux dynamique intercepté vers le navigateur Web qui se charge de l'afficher. Du point de vue du navigateur, il n'y a aucune différence entre un affichage de page statique et un affichage de résultat d'exécution de programme CGI. c) Inconvénients L'architecture CGI est simple, mais associée à des performances médiocres lorsque le nombre d'utilisateurs connectés simultanément au même serveur Web augmente. En effet, pour chaque appel d'une page dynamique, un nouveau processus est lancé. Or, l'allocation d'un nouvel espace mémoire avec un nouvel environnement d'exécution est consommateur de ressources système. Lors des pics de fréquentation, le serveur peut se trouver rapidement saturé. D'autre part, lorsque des opérations sont effectuées sur une base de données, une connexion au SGBD est initiée pour chaque page Web dynamique. Cette connexion est ensuite fermée dès que la requête pour cette page est terminée. Les temps de réponse s'en trouvent nettement allongés. Enfin, les applications CGI sont caractérisées par l'absence de séparation des traitements de l'interface graphique. Le programme CGI produit un écran HTML en réponse à une requête du client. Toute modification de l'aspect de cet écran nécessite une modification du code du programme, ce qui peut poser d'importants problèmes de maintenance. API des serveurs Web Pour soulager le serveur, on peut donc imaginer n'avoir qu'un seul module qui s'occupe de gérer toutes les requêtes de tous les clients pour une page dynamique donnée. Plusieurs éditeurs ont proposé des interfaces de programmation (API) pour réaliser des programmes serveurs multi-requêtes. Chaque éditeur a fourni de son implémentation propriétaire. Microsoft et Netscape ont intégré ces API dans leur offre de serveur Web ♦ NSAPI (Netscape Server Application Programming Interface) pour Netscape ; ♦ ISAPI (Information Server Application Programming Interface) pour Microsoft. Ces solutions offrent de bien meilleures performances pour la génération de pages Web dynamiques que CGI. Cependant, la mise au point de programmes basés sur ces API est complexe et le debugging est difficile. Enfin, chaque solution est propriétaire et ne peut fonctionner qu'avec un serveur Web particulier. Ainsi NSAPI ne fonctionne qu'avec Netscape Enterprise Server, tandis qu'ISAPI est prévu pour Internet Information Server. page 128 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique Script serveur a) Origines Le scripting serveur permet la modification des interfaces graphiques à l'aide d'outils WYSIWIG (what you see is what you get) d'édition de pages, indépendamment de la logique applicative. Un moteur d'exécution de script est, en fait, ajouté au-dessus des API précédentes (CGI, NSAPI, ISAPI). Attention à ne pas confondre le scripting serveur avec le scripting client étudié précédemment. Maintenant, le script est exécuté avant même le renvoi de la page HTML vers le client. Ainsi, lorsque l'utilisateur demande l'affichage du code source de la page Web dynamique issue de l'exécution d'un script serveur, il ne verra que du code HTML. Toute la logique applicative reste invisible et protégée. b) Fonctionnement Au lieu de constituer un programme monolithique, les instructions de langage de script peuvent s'insérer directement dans la page HTML grâce à des balises ou marqueurs spécifiques. Les fichiers contenant à la fois du code HTML et du code de script portent généralement une extension spécifique, qui indique au serveur Web que cette page doit préalablement être interprétée par un moteur de script avant d'être renvoyée vers le navigateur du poste client. Pour améliorer les performances, les pages peuvent être préalablement compilées. Les langages de script peuvent aussi réaliser des appels à des composants compilés afin de réaliser certaines opérations, notamment les accès aux bases de données. Ce concept de langage de script appelant des composants écrits avec un langage de troisième génération est commun à toutes les solutions du marché. c) Produits De nombreux autres éditeurs proposent chacun leur propre interprétation du modèle. Par exemple, les produits suivants : ♦ Java Server Pages de Sun ; ♦ Active Server Pages de Microsoft. En marge de ces produits commerciaux, on peut noter le succès de PHP3, un produit freeware d'excellente qualité, plébiscité par les utilisateurs du système Linux. d) Avantages/inconvénients La programmation par langage de script est beaucoup plus aisée à réaliser que les solutions vues précédemment (CGI classique et API des serveurs Web). Il suffit, en effet, d'avoir étudié quelques exemples types et de disposer d'un bon guide de référence pour obtenir rapidement un code satisfaisant. Ces langages de haut niveau masquent aux programmeurs la majeure partie de la complexité du développement. Par contre, l'abus d'insertion de script au milieu du code source HTML peut vite engendrer un code incompréhensible et presque impossible à faire évoluer. L'apparence d'un site Web doit être modifiée sans cesse pour fidéliser les visiteurs et ce beaucoup plus souvent que le code applicatif. 2005 Toute reproduction même partielle interdite IGPDE page 129 Architecture applicative physique Les solutions de scripting, lorsqu'elles sont mal employées, facilitent le travail des graphistes mais compliquent celui des développeurs. Ceux-ci peuvent en effet perdre beaucoup de temps à comprendre un programme éclaté en petits blocs au sein d'une page HTML. Il n'est donc pas prudent d'envisager le développement d'un site Web conséquent simplement en insérant du script dans des pages HTML. e) ASP DESCRIPTION Les ASP (Active Server Pages) sont un standard Microsoft permettant de développer des applications Web interactives, c'est-à-dire dont le contenu est dynamique. C'est-à-dire qu'une page web ASP (repérable par l'extension .asp) aura un contenu pouvant être différent selon certains paramètres (des informations stockées dans une base de données, les préférences de l'utilisateur...) tandis que page web "classique" (dont l'extension est .htm ou .html) affichera continuellement la même information. Ainsi, les Active Server Pages s'inscrivent dans une architecture 3-tier, cela signifie qu'un serveur supportant les Active Server Pages peut servir d'intermédiaire entre le navigateur du client et une base de données en permettant un accès transparent à celle-ci qui fournit les éléments nécessaires à la connexion au système de gestion de bases de données, à la manipulation des données grâce au langage SQL. CARACTERISTIQUES Les ASP ont été conçues à la base pour fonctionner sur le serveur Web de Microsoft intitulé Microsoft IIS (Internet Information Server). Ce serveur Web, mis au point par Microsoft en 1996, a l'avantage d'être gratuit. Toutefois cette technologie propriétaire est désormais disponible sur d'autres serveurs Web que celui de Microsoft, ce qui rend possible la création de sites Web utilisant la technologie des ASP sur de nombreuses plates-formes (Unix, Linux, PowerPC...). En réalité les ASP peuvent être programmés dans différents langages de programmation (Visual basic, Perl, Langage C++, Java...), ce qui augmente les possibilités qu'offrent les ASP. INTERPRETATION DU CODE PAR LE SERVEUR Un script ASP est un simple fichier texte contenant des instructions écrites à l'aide de caractères ASCII 7 bits (des caractères non accentués) incluses dans un code HTML à l'aide de balises spéciales et stockées sur le serveur. Ce fichier doit avoir l'extension « .asp » pour pouvoir être interprété par le serveur! Ainsi, lorsqu'un navigateur (le client) désire accéder à une page dynamique réalisée avec les ASP : ♦ le serveur reconnaît qu'il s'agit d'un fichier ASP grâce à son extension ; ♦ il lit le fichier asp ; ♦ dès que le serveur rencontre une balise indiquant que les lignes suivantes sont du code ASP, il "passe" en mode ASP, ce qui signifie qu'il ne lit plus les instructions: il les exécute ; ♦ lorsque le serveur rencontre une instruction, il la transmet à l'interpréteur ; ♦ l'interpréteur exécute l'instruction puis envoie les sorties éventuelles à l'interpréteur ; ♦ à la fin du script, le serveur transmet le résultat au client (le navigateur). page 130 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique f) JSP DESCRIPTION Pour concurrencer Microsoft, Sun a développé la technologie JSP, un moteur d'exécution de script inclus dans les pages HTML pour convaincre les développeurs conquis par ASP de passer à Java. Le principe de fonctionnement est exactement le même que ASP. Un moteur de script permet de générer dynamiquement une page HTML à partir d'un fichier situé sur le serveur, portant l'extension .jsp et contenant un mélange de code HTML et de script. Cette fois-ci, le langage de script respecte la syntaxe de Java. On peut, de plus, faire appel aux méthodes et propriétés de modules Java compilés. Lors de sa première exécution, la page .jsp est compilée en un objet servlet. Cette compilation autorise des performances supérieures à celles qui sont offertes par les interpréteurs classiques. g) PHP DESCRIPTION PHP est un langage interprété (un langage de script) exécuté du côté serveur (comme les scripts CGI, ASP...) et non du côté client (un script écrit en Javascript ou une applet Java s'exécute sur votre ordinateur...). La syntaxe du langage provient de celles du langage C, du Perl et de Java. Ses principaux atouts sont : ♦ la gratuité et la disponibilité du code source (PHP3 est distribué sous licence GNU GPL) ; ♦ La simplicité d'écriture de scripts ; ♦ la possibilité d'inclure le script PHP au sein d'une page HTML (contrairement aux scripts CGI, pour lesquels il faut écrire des lignes de code pour afficher chaque ligne en langage HTML) ; ♦ la simplicité d'interfaçage avec des bases de données (de nombreux SGBD sont supportés, mais le plus utilisé avec ce langage est MySQL ; ♦ l'intégration au sein de nombreux serveurs web (Apache, Microsoft IIS,...) ; ♦ PHP permet un interfaçage simple avec de nombreux SGBD, parmi lesquels Oracle, Informix et Sybase. L’interprétation du code par le serveur est identique au processus décrit pour ASP. Servlets JAVA a) Origines Java est un langage apprécié par les programmeurs pour sa simplicité, sa modularité et la richesse des API disponibles. C'est pour ces raisons que Sun a décidé de mettre à profit Java pour proposer une nouvelle solution dérivée de CGI pour le développement d'applications au niveau du serveur Web. Cette solution est basée sur le JDK (Java Development Kit) auquel s'adjoint une API : le JSDK (Java Servlet Development Kit). Les deux peuvent être téléchargés gratuitement. 2005 Toute reproduction même partielle interdite IGPDE page 131 Architecture applicative physique b) Fonctionnement Techniquement, cette solution ressemble à celle des API des serveurs Web vues précédemment, sauf que le développement est beaucoup plus aisé. Une servlet est tout simplement constituée par une classe Java compilée en bytecode. Une extension est disponible pour la plupart des serveurs Web pour leur permettre d'exécuter des servlets. Par défaut, celles-ci sont placées dans un sous-répertoire /servlet. c) Avantages/inconvénients Les servlets étant écrites en Java, elles bénéficient de tous les avantages de ce langage. L'API JDBC (Java DataBase Connectivity), incluse dans le kit de développement Java, permet de se connecter de manière normalisée à tous les moteurs de bases de données relationnelles qui disposent des drivers adéquats (c'est le cas aujourd'hui de la grande majorité d'entre eux). Sun et d'autres éditeurs proposent de nombreuses interfaces d'intégration avec d'autres produits. Par exemple, IBM a développé des interfaces Java pour accéder à toutes les données de ses gros systèmes, qu'il s'agisse de machines MVS ou AS/400. La portabilité de Java est également un avantage intéressant. On est ainsi en mesure de changer de logiciel serveur Web et de système d'exploitation ainsi que de plate-forme matérielle à volonté. Par exemple, on peut utiliser un serveur Windows 2000 ou 2003 peu onéreux pour le développement et les tests, puis déployer sur un serveur type Unix ou AS/400 pour supporter une plus grosse montée en charge avec une bien meilleure fiabilité. 1.6.4. Client/serveur web distribué Client/serveur WEB à code mobile Introduction Le modèle Web/HTML classique a ses limites, surtout dès lors que l'on commence à viser des applications web complexes et flexibles, notamment : ♦ l'interface graphique proposée par ce modèle est limitée et le sera vraisemblablement toujours, quelles que soient les dernières versions d'HTML et de XML : on est restreint à un jeu de composants graphiques simples prédéfinis dans le navigateur (texte, boutons, champs de saisie, etc.) et la conception de composants personnalisés n'est pas possible ; ♦ l'intelligence du client est limitée à l'animation de quelques images (gif), la lecture de fichiers sonores (wav, au...) ou vidéo (mpeg...), selon les plug-in installés. Même si des scripts tels que JavaScript permettent une certaine flexibilité, on en reste à des choses simples: vérifier qu'une zone d'édition ne contient que des caractères autorisés, remplir une liste de choix possibles, etc. Pour résumer, on ne peut pas tout faire avec des scripts (ce n'est d'ailleurs pas leur vocation) ; ♦ de ce fait, il est difficile de rapatrier une partie de la charge et de la logique applicative chez le client. Le serveur peut, par conséquent, aisément être surchargé. Contraintes Il faut bien comprendre que le programme mobile (ainsi que la page Web) est téléchargé depuis le serveur Web pour être exécuté chez le client. Ceci pose trois problèmes techniques fondamentaux: le code mobile doit être petit, portable et contrôlé. D'autres contraintes, notamment la facilité de développement, de maintenance et de déploiement seront également à considérer avec attention. page 132 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique a) Portabilité du code Le but est d’accéder à la page Web et d’obtenir un même résultat, quelle que soit la plate-forme sur laquelle il évolue (client puissant ou non, avec carte graphique évoluée ou simple, NC ou PC...). Une page Web contenant une application java, par exemple, doit avoir le même comportement et le même aspect, que le client soit sous Unix ou sous Windows. Il existe deux technologies principales sur le marché : les applets Java et les contrôles Active/X. En matière de portabilité, l'avantage est très nettement pour java : les ActiveX fonctionnent maintenant avec les principaux navigateurs (Microsoft Internet Explorer et Netscape Navigator), mais uniquement sous les Windows 32 bits, alors que les applets Java peuvent fonctionner sur presque toutes les plates-formes existantes, de Windows à Linux en passant par MacOS, grâce au principe de la machine virtuelle (cf- supra). Les ActiveX ne sont absolument pas adaptés pour des applications Internet, car on ne peut pas partir du principe que tout le monde a Windows. On n'en trouve d'ailleurs que très peu sur le Web. En revanche, dans le cadre d'un intranet restreint au monde Windows, ils peuvent s'avérer intéressants, en particulier parce qu'ils sont plus performants que les applets Java. b) Taille du code Un impératif sur le réseau : éviter des temps de chargement trop longs. Il semble évident qu'une page téléchargée en plus d'une vingtaine de secondes fait fuir le public. Bien sûr, la taille maximale que l'on doit s'imposer dépend de la vitesse de la connexion disponible. c) Modèle de sécurité La sécurité est l'un des principaux problèmes techniques liés à la distribution du code mobile. Sachant que le code mobile sera exécuté du côté du client, il est indispensable de garantir qu'il ne causera pas de dommages à celui-ci ; si un développeur mal intentionné insère dans une page HTML une applet java ou un ActiveX supposé effacer le disque dur ou lire et rapatrier des informations secrètes, il ne faut pas que ce code ait les moyens de réaliser son dessein. Il existe deux façons (souvent complémentaires) de garantir que le code mobile ne fera pas de dommages au client : ♦ contrôler et limiter toutes ses actions ; ♦ authentifier l'auteur du code mobile - grâce à une signature électronique - et déterminer dans quelle mesure on lui fait confiance. Les applets Java permettent ces deux niveaux de sécurité, alors que les ActiveX ne permettent pas de mettre en oeuvre un espace d'exécution contrôlé. Applet JAVA a) Portabilité du code source La portabilité du code source représente la possibilité pour un développeur d'écrire le code d'un programme sans avoir à se soucier de l'environnement précis dans lequel il sera exécuté. Ceci lui évite d'avoir à écrire plusieurs fois le même programme selon qu'il souhaite l'exécuter sous Unix ou sous Windows, par exemple. 2005 Toute reproduction même partielle interdite IGPDE page 133 Architecture applicative physique La plupart des langages sont en grande partie portables. Seulement, pour certaines fonctions telles que la gestion d'une interface graphique, la communication réseau, l'accès à une base de données, il est souvent nécessaire de faire appel à des fonctions qui dépendent de la plate-forme ou du produit utilisé. De ce point de vue, Java a l'avantage d'être livré avec un grand nombre d'API déjà intégrées au langage. b) Portabilité de l'exécutable Un autre problème d'envergure est la portabilité des exécutables. Quel que soit le langage de programmation, le code source écrit par le développeur n'est pas intelligible directement par une machine: il faut d'abord traduire ce code source en code machine. Cela peut se faire une fois pour toutes - c'est ce qu'on appelle la compilation - ou bien au moment de l'exécution, grâce à un interpréteur qui lit le code source et exécute les commandes adéquates. c) Notion de machine virtuelle En réalité, le code java n'est compilé qu'une seule fois pour donner du bytecode. Il s'agit d'un fichier exécutable prévu pour une plate-forme matérielle imaginaire. Cette plate-forme a des caractéristiques définies par le langage (machine 32-bits, résolution graphique minimale...). Il faut cependant retrouver sur la machine du client cette fameuse plate-forme imaginaire. Il s'agit de la JVM (Java Virtual Machine), qui exécute (c'est-à-dire interprète) le bytecode. Java est donc un langage mi-compilé, mi-interprété. On aura donc, bien sûr, autant de JVM différentes que de plates-formes sur lesquelles fonctionne Java. Désormais, cette machine virtuelle est directement intégrée dans un navigateur Web. D'autre part, il existe des techniques qui permettent d'améliorer ces performances. ♦ des compilateurs JIT (Just In Time) : lors de la première exécution d'une portion de code, celui-ci est compilé en natif (c'est-à-dire dans le langage de la machine physique sur laquelle on se trouve) et le résultat est stocké dans la mémoire vive, ce qui accélère considérablement les exécutions suivantes. Attention : ce n'est pas le code source qui est compilé, mais le bytecode, ce qui est beaucoup plus simple et rapide à faire, car il est déjà le résultat d'une première compilation ; ♦ des « optimiseurs » de bytecode : leur rôle consiste à lire le bytecode au fur et à mesure qu'il est exécuté et à le corriger légèrement dès qu'une amélioration des performances peut être réalisée. d) Sécurité MODELE SANDBOX Dans une applet, les fonctionnalités de Java sont limitées à un cadre restreint appelé le Sandbox (littéralement bac à sable). Celui-ci interdit tout accès aux disques et autres ressources physiques, toute communication distante (à l'exception de la machine d'où provient l'applet), toute exécution de code natif (comme une fonction d'une DLL Windows), toute communication avec une autre application chez le client et toute consultation de la mémoire non réservée par l'applet. Cette solution, bien que très restrictive, a l'avantage d'être simple et sûre. Elle a toutefois une faille importante : rien n'empêche à l'applet d'accaparer toutes les ressources du système (par exemple en réservant beaucoup de mémoire, en réalisant des calculs coûteux, ou encore en ouvrant des centaines de fenêtres). page 134 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique Mais de nombreux intranets se heurtent aux limites du bac à sable, trop contraignant dans un environnement intranet sûr. En particulier, l'impossibilité d'enregistrer des données localement ou de lancer des impressions autrement qu'en demandant au serveur d'origine de le faire est assez pénible. Bien que les navigateurs permettent un certain contrôle de la sécurité du bac à sable, cela reste limité. CLES ASYMETRIQUES ET SIGNATURES La solution la plus moderne repose sur la notion de signature électronique. A partir du JDK 1.1, il devient possible de signer une applet Java grâce à un mécanisme reposant sur des clés asymétriques. Ainsi le client peut identifier l'auteur d'une applet et avoir la garantie que le code n'a pas été altéré depuis la signature par un tiers malintentionné. Il peut décider d'accorder plus ou moins de confiance à un auteur donné et ainsi faire en sorte que ses applets subissent plus ou moins de restrictions. ActiveX Les ActiveX sont des composants logiciels pour le monde Windows. a) De OLE à COM/DCOM À l'origine des ActiveX se trouve OLE (Object Linking and Embedding). La première version d'OLE est apparue avec Windows 3.1. Il s'agissait de permettre à l'utilisateur de faire des documents composites en les intégrant les uns dans les autres. Ainsi, on pouvait intégrer un tableau Excel dans un document Word. Un double clic sur ce tableau et Excel était ouvert dans une autre fenêtre, permettant d'apporter les modifications de son choix. OLE dans ses évolutions vers un modèle de communication fut nommé à part: COM, qui signifie, au choix, Component Object Model ou Common Object Model. Pour permettre à des programmes hébergés par des machines différentes (mais toujours sous Windows) de communiquer, Microsoft a lancé DCOM (Distributed COM) en 1996. b) Développement Un des grands avantages des ActiveX est l'abondance des environnements de développement permettant de les concevoir. De Visual Basic à Delphi en passant par PowerBuilder, on peut souvent « dessiner » tout ou partie de l'ActiveX à l'écran. Le deuxième avantage est l'abondance des ActiveX de base disponibles gratuitement sur Internet. Pour développer un ActiveX, il suffit souvent d'agencer les composants élémentaires qui nous sont fournis, à la manière d'un jeu de construction. Le résultat du développement est un exécutable que l'on doit déclarer auprès de la base de registre de Windows en lui donnant un identifiant: le CLSID. Par exemple 477BD50A-5113-11D1-8332-004F49008BA2 Une fois déclaré dans la base de registres, l'ActiveX peut être retrouvé n'importe où grâce au CLSID. C'est en particulier cet identifiant qui est utilisé pour référencer l'ActiveX dans la page Web. Heureusement, il est généré automatiquement par la plupart des environnements de développement. 2005 Toute reproduction même partielle interdite IGPDE page 135 Architecture applicative physique Il y a malheureusement une ombre au tableau et de taille: sorti des chemins battus où le travail est fait pour nous par les environnements de développement, les ActiveX sont assez complexes à programmer. Pour peu que l'on descende dans les détails, les rouages des ActiveX sont en fait bien plus complexes que ceux de java, ce qui les rend inaccessibles au néophyte. c) Portabilité Les ActiveX n'ont pas de machine virtuelle: ils sont produits exclusivement pour Windows 32 et ne peuvent à ce titre pas être lancés ailleurs. Cela signifie que seul Internet Explorer sous Windows est susceptible de télécharger et d'exécuter un ActiveX dans une page Web, ce qui représente souvent une limitation importante. d) Sécurité Les ActiveX ne sont pas interprétés, mais directement exécutés sur la machine client. Il existe deux parades, cependant: la première, désactiver les ActiveX au niveau du navigateur; la seconde, refuser l'exécution de l'ActiveX lorsque la question est posée. Pour ne pas en arriver là, il faut savoir que les ActiveX, comme les applets java, peuvent être signés. Ainsi, l'utilisateur peut examiner la signature apposée à un ActiveX et choisir de faire confiance ou non à la personne ou à l'organisme que cette signature représente. e) Avantages/inconvénients Les avantages des ActiveX sont : ♦ de nouvelles fonctionnalités - c'est évidemment le point majeur que souligne Microsoft. ActiveX permet ce qu'aucune autre technologie ne permet de faire ; ♦ le soutien de Microsoft - ActiveX n'est peut-être pas un standard à part entière, mais il l'est à l'échelle de la « galaxie Microsoft », ce qui n'est pas rien. Les inconvénients : ♦ inconvénients liés à la plate-forme Windows ; ♦ le manque de sécurité: ce n'est pas la signature des contrôles qui peut représenter une garantie, car il faudrait que tous les contrôles inoffensifs soient signés et qu'aucun utilisateur ne décide de télécharger envers et contre tout un contrôle non signé. Enfin, une signature ne prouve rien et ce n'est pas parce qu'un contrôle est signé qu'il est inoffensif ; ♦ mais c'est vraiment le caractère propriétaire d'ActiveX qui devrait représenter l’inconvénient majeur. Client/serveur WEB mode connecté Introduction Quels sont les avantages d'un dialogue en mode connecté par rapport au modèle de communication exploité par les architectures Web classiques ? En premier lieu, au mode connecté correspond une véritable session utilisateur : le contexte client est désormais implicite et n'est pas perdu après chaque échange ; ce n'est donc plus la peine de gérer ce contexte par des moyens indirects tels que les cookies. La persistance de la connexion permet, en outre, au serveur de notifier le client. Le serveur peut ainsi provoquer le rafraîchissement des informations que le client affiche. On peut donc envisager la réalisation d'applications présentant des aspects « temps réel ». page 136 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique Types de dialogues Tous les protocoles de type connecté se basent sur TCP, le protocole de transport de TCP/IP. Selon les cas, ces protocoles peuvent être de niveaux variables, propriétaires ou standardisés. Trois grands types de communication du code client avec un serveur tiers sont envisageables : ♦ communication de bas niveau via TCP/IP ; ♦ communication avec un serveur de bases de données relationnelles supportant SQL (protocole propriétaire basé sur TCP) ; ♦ communication avec un serveur applicatif via des appels de méthodes de plus haut niveau (protocoles d'objets distribués) ou via des appels de services dits web. Le premier type impose la réalisation de son propre protocole de communication. Son emploi est donc relativement rare en informatique de gestion. Le second type est caractéristique du client-serveur de données. Le protocole mis en œuvre est propriétaire et permet par exemple de connecter un client lourd à un système de gestion de base de données. Le dernier type correspond au modèle client-serveur distribué. Le flux réseau véhicule des appels de procédures à distance (RPC) ou des références à des objets distribués ou à des services. C'est ce mode de communication qui est aujourd'hui privilégié par les serveurs d'application. Sans remettre complètement en cause l'architecture classique, la nouveauté est de rajouter un serveur tiers destiné à établir des sessions de communication réelles avec les clients. Ceci implique que : ♦ le rôle du serveur Web devient mineur par rapport à celui du client et du serveur tiers qui détient toute la logique applicative ; ♦ le client doit être capable de se mettre en relation avec le serveur et, par conséquent, il doit être nettement plus élaboré qu'il ne l'est actuellement. 2005 Toute reproduction même partielle interdite IGPDE page 137 Architecture applicative physique L'architecture web à clients connectés. Comme le montre la figure précédente, lorsque le client demande une page HTML (1), celle-ci est maintenant accompagnée de code mobile (2). Lorsque la page HTML est affichée dans le navigateur, le code mobile est exécuté et affiché au sein même de la page. Ce code mobile établit alors une communication directe - en mode connecté - avec un serveur tiers (3). Par la suite, le code mobile peut récupérer des données par le biais du serveur tiers et changer dynamiquement l'affichage dans le navigateur (4...), sans que l'utilisateur n'ait à se reconnecter au serveur Web en demandant le rafraîchissement de sa page HTML. La communication entre le code mobile du client et le serveur tiers peut reposer directement sur TCP/IP, ou bien être programmée avec des protocoles de communication de haut niveau comme Corba, DCOM ou encore RMI, qui reposent tous sur TCP/IP. Service Web Description Mécanisme universel pour faire dialoguer deux applications ou deux entreprises au travers du réseau Internet, les services Web reposent sur une jungle de standards. Un service est une façade qui se positionne devant le composant ou l'objet pour le standardiser. Un service est une fonction qui reçoit des messages et les restitue après un traitement. A chaque service est attaché un contrat définissant l'interface du service : formats des messages en entrée et en sortie, point d'accès « endpoint », etc. Cette approche est identique à celle des mondes Corba et DCOM. Hormis le fait qu'un contrat SOA s'appuie sur WSDL (Web Service Description Language), seul format aujourd'hui reconnu par toutes les plates-formes. Cette spécificité garantit que n'importe qui peut découvrir le service et donc son interface pour peu qu'il soit enregistré dans un annuaire public. Grâce à cette couche d'abstraction, le composant sous-jacent est isolé du monde extérieur et peut ainsi être modifié à volonté tant que son interface reste identique. De même, les page 138 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique règles métier du système d'information peuvent évoluer sans avoir un impact sur le service. Ce couplage faible garantit un bon niveau de réutilisation et d'interopérabilité des services. Les services Web proposent un mécanisme de communication standard pour faire dialoguer deux applications basées sur des technologies hétérogènes. La communication repose, le plus souvent, sur l'échange de messages XML. Deux architectures sont couramment utilisées. La première, orientée services (SOA), repose sur un mécanisme de type RPC. Les messages sont véhiculés via Soap ou XML-RPC. Representational State Transfer (Rest) propose, lui, une communication asynchrone basée sur l'infrastructure technique existante (HTTP et URL). La plupart des standards et technologies les plus anciens ont été conçus pour une architecture reposant sur Soap. Alors que les nouveaux standards tendent à mieux prendre en compte les architectures Rest. Extrêmement nombreux, les standards des services Web sont organisés en couches qui n'évoluent pas à la même vitesse. Seules les fondations - Soap et WSDL - sont aujourd'hui matures et stables. La couche sécurité est organisée autour de la proposition de standard WS-Security, dont certains éléments arrivent à maturité. Deux structures dominent la standardisation des services Web. Le W3C (World Wide Web Consortium) ratifie les standards de bas niveau (Soap, WSDL...), et Oasis (Organization for the Advancement of Structured Information Standards) fédère les initiatives de plus haut niveau (sécurité, transactions...). Les sources de données et les composants logiciels sont enrobés d'une couche d'abstraction standard : le service. Si bien qu'il n'est plus nécessaire de savoir de quel logiciel provient l'information pour incorporer le service au sein des processus. Si l'on associe souvent les services Web à une architecture orientée service SOA en anglais, c'est que Corba, DCOM et les autres tentatives de standardisation d'architectures distribuées ont échoué là où les services Web font l'unanimité. De PHP à C++ en passant par .Net et J2EE, toutes les technologies supportent aujourd'hui WSDL et Soap. Ces deux standards se distinguent donc, faisant de SOA un modèle d'architecture indépendant des choix d'implémentation. Les deux solutions actuelles Les services web sont actuellement présents sous deux architectures concurrentes : ♦ le framework.Net de Microsoft ; ♦ la plate-forme J2EE (Java 2 Entreprise Edition) de Sun Microsystems. Ces deux architectures fournissent : ♦ une approche standardisée et extensible pour exposer les fonctionnalités des applications ; ♦ une interface pour accéder aux données et effectuer des transactions avec des applications existantes à partir du web. Dans son architecture .Net, Microsoft crée un environnement où des applications faiblement couplées peuvent « se découvrir » automatiquement et s’intégrer l’une avec l’autre en utilisant des services web. 2005 Toute reproduction même partielle interdite IGPDE page 139 Architecture applicative physique L’approche de Sun utilise les services Web pour lier des applications faiblement couplées ; elle se fonde sur Java pour lier des applications fortement couplées. a) La première couche de services Web La première couche fournit un langage commun pour les services Web ; ce langage permet aux applications de se connecter librement et d’échanger des informations entre elles. Elle comprend des standards logiciels tels que : ♦ XML (eXtensible Markup Language) ; ♦ UDDI (Universal Description, Discovery and Integration) ; ♦ WSDL (Web Service Description Language). Elle comprend aussi des protocoles de communications tels que : ♦ SOAP (Simple Object Access Protocol) ; ♦ HTTP (HyperText Transfer Protocol) ; ♦ TCP/IP (Transmission Control Protocol/Internet Protocol). page 140 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique Cette première couche simplifie et rationalise l’intégration d’applications et l’échange d’informations : il n’est plus nécessaire de développer un logiciel spécifique pour faire communiquer des applications. Elle permet aux applications d’être encapsulées dans XML et de communiquer avec SOAP. Cette première couche est actuellement la plus avancée en termes de standardisation et représente la première génération des standards de services Web. Bien que ces standards ne soient pas certifiés comme normes par un organisme indépendant, ils sont néanmoins perçus comme tels par les fournisseurs d’infrastructure web. De fait, il y a un certain degré de consistance entre les différentes offres d’utilisation de ces standards. b) La seconde couche de services Web La deuxième couche, s’appuie sur les standards logiciels et protocoles de communication de la première couche, fournit des services communs partagés, des outils de gestion de service, de ressource et du transport. Elle permet à un utilisateur et à un fournisseur de service Web de « se rencontrer » et de se connecter dans un environnement sécurisé pour effectuer des activités métier via Internet. Par exemple, pour les standards de sécurité, on trouve Kerberos pour authentifier des utilisateurs avec des jetons cryptographiques ; SAML (Security Assertion Markup Language) pour échanger des informations d’authentification et d’autorisation. c) La troisième couche de services Web La troisième couche comprend les services applicatifs définis comme services web qui automatisent certaines tâches et activités métier. Ceci permet d’exécuter des activités métier critiques et d’effectuer des transactions via Internet. Cette troisième couche, en cours de développement, permettra d’utiliser des services web pour des activités comme le workflow, les règles métier, les transactions, la gestion de systèmes. 2. DONNEES 2.1. DEFINITION 2.1.1. Information Une information est un élément de connaissance, susceptible d’être représenté à l’aide de convention pour être conservé, traité et communiqué. 2.1.2. Donnée Une donnée est une valeur affectée à une information et appartenant à un domaine de valeurs. 2.1.3. Banque de données Une banque de données est un ensemble de données relatives à un domaine de connaissance. 2.1.4. Base de données Une base de données est une organisation du stockage d’informations reliées entre elles, dans le but d’assurer une limitation des redondances. 2005 Toute reproduction même partielle interdite IGPDE page 141 Architecture applicative physique 2.2. REPRESENTATION 2.2.1. Niveau interne Il s’agit du niveau d’abstraction le moins élevé qui permet de considérer les données en s’intéressant aux paramètres physiques de stockage. Ces choix concernent les options de placements et d’accès aux enregistrements stockés. Ils n’ont aucune incidence sur les fonctionnalités permises sur les données. C’est le niveau décisif où se jouent les performances de traitement de la base de données. Le niveau interne constitue avec les outils de développement, l’essentiel des différences entre les SGBD du marché. 2.2.2. Niveau externe C’est le niveau de l’utilisateur où tous les efforts doivent être concentrés dans le sens d’une plus grande convivialité. C’est aussi le niveau garant de la confidentialité d’accès aux informations, où sont définis privilèges et autorisations de manipulation de données. Au cœur de l’architecture de référence d’un système de gestion de base de données, le dictionnaire, fédérateur de l’ensemble des niveaux d’administration de données, prend de plus en plus d’importance. Sa dénomination même évolue du terme de dictionnaire vers des appellations telles que référentiel ou encyclopédie. 2.2.3. Niveau conceptuel Les données y sont décrites sur un plan sémantique plus ou moins riche suivant le modèle retenu. 2.3. MODELES Un modèle de données est un ensemble de concepts, une convention de représentation qui permet de décrire les données que l’on souhaite gérer. Les différents modèles sont présentés ci-dessous. 2.3.1. Modèle conceptuel Le problème du concepteur revient à rechercher et à considérer dans la réalité qu’il doit modéliser, trois classes de phénomènes : ♦ des groupes de données attachées autour d’une même notion; ces groupes sont appelés objets, entités, individus, etc., suivant les conventions utilisées ; ♦ des associations entre ces objets ; ♦ des contraintes d’intégrité décrivant les règles auxquelles doivent se soumettre objets et associations d’objets afin de garantir la vraisemblance de l’univers décrit. Derniers nés, les modèles dits « conceptuels » ne veulent s’intéresser aux données qu’en termes de concept en dehors de toute considération technique ou organisationnelle. page 142 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique Les différents modèles se distinguent par la façon de représenter les associations entre les classes d’objets et par la puissance de description des contraintes d’intégrité. On distingue trois possibilités d’association entre deux classes d’objet A et B d’une base de données : ♦ les liaisons de type 1-1, qui permettent d’associer à une occurrence de A, une occurrence de B ; ♦ les liaisons de type 1-N, qui permettent d’associer à une occurrence de A, N occurrences de B ; ♦ les liaisons de type M-N, qui permettent d’associer à une occurrence de A, N occurrences de B et à une occurrence de B, M occurrences de A. Le modèle entité/association est présenté comme un exemple de modèle conceptuel. Dans ce modèle, les données sont regroupées en objet, entité de l’entreprise ayant une existence propre. Parmi ces données au moins une d’entre elles permet de distinguer chacune des occurrences de l’objet : il s’agit de l’identifiant de l’objet. Les associations entre objets illustrent la sémantique qui les unit, par exemple l’association « PASSER COMMANDE » entre les objets « CLIENT » et « ARTICLE ». Chaque association possède un nom, elle est identifiée par la concaténation des identifiants des objets qu’elle relie. Une contrainte d’intégrité est associée à chaque branche reliant objet et association. Cette contrainte illustre le minimum et le maximum de participation de chaque occurrence d’objet à l’association : Borne mini : ♦ 0 : l’occurrence de l’objet peut exister sans être rattachée à l’association ; ♦ 1 : l’occurrence de l’objet doit obligatoirement participer à une occurrence de l’association. Borne max: ♦ 1 : l’occurrence de l’objet ne peut participer plus d’une fois à l’association ; ♦ N : l’occurrence de l’objet peut participer plusieurs fois à l’association. La combinaison de ces valeurs détermine quatre types de cardinalité: ♦ (0,1) : une occurrence de l’objet ne peut participer plus d’une fois à l’association ; ♦ (0,N) : une occurrence de l’objet peut participer plusieurs fois à l’association ; ♦ (1,1) : une occurrence de l’objet participe toujours une et une seule fois à l’association ; ♦ (1,N) : une occurrence de l’objet participe au moins une fois à l’association. 2.3.2. Modèles logiques D’autre part, le niveau logique permet de représenter l’organisation de la base de données. On recense aujourd’hui cinq modèles les plus caractéristiques ou le plus souvent utilisés : ♦ modèle hiérarchique ; ♦ modèle réseau ; ♦ modèle relationnel ; ♦ modèle orienté objet ; ♦ modèle fichier plat. 2005 Toute reproduction même partielle interdite IGPDE page 143 Architecture applicative physique Modèle hiérarchique Les données sont représentées sous forme de structures arborescentes et sont regroupées en type d’enregistrement dit segment. Ces enregistrements décrivent une hiérarchie simple : un type d’enregistrement peut être « Père » de plusieurs autres types d’enregistrements, mais un type « Fils » ne peut dépendre que d’un seul « Père ». Les seules associations permises sont donc de type 1-1 et 1-N. Les types d’enregistrement n’ayant pas de « Père » sont les racines de l’arborescence, les types terminaux n’ayant pas de fils, forment les feuilles. Un enregistrement « Fils » ne peut avoir d’existence indépendamment du « Père » auquel il est rattaché, et on ne peut y accéder et le manipuler indépendamment de celui-ci. Les SGBD hiérarchiques furent les premiers du marché. En 1969 IBM crée son IMS (Information Management System). Le graphique associé à la représentation d'un modèle hiérarchique est un arbre ordonné. Les relations entre les entités sont de type « 1-N » c'est-à-dire que du nœud précédent, on peut avoir « N » descendants ; mais à partir d'« un » des descendants, on ne peut avoir qu'un ascendant. La recherche d'informations dans une Base de données hiérarchique, se fait en respectant la hiérarchie entre les entités. On part de la racine et on doit parcourir les arbres de gauche à droite et de père en fils jusqu'à obtenir l'information désirée. Cette situation entraîne deux inconvénients majeurs : ♦ des difficultés de formulation de traitements manipulant simultanément plusieurs branches ; ♦ une redondance d’information (introduite pour pallier l’inconvénient précédent) qui entraîne des risques d’incohérence. Les traitements sont décrits pour permettre de naviguer au travers de cette hiérarchie en partant des enregistrements de plus haut niveau, en sélectionnant un par un les éléments à traiter. page 144 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique Ce modèle représente les données comme une arborescence de maîtres et de membres : un seul maître pour chaque membre. Ce modèle est trop simple pour représenter la réalité. Les règles d’usage d’un modèle de type hiérarchique sont : ♦ entrée par la racine uniquement ; ♦ parcours de gauche à droite et de haut en bas de l’arborescence ; ♦ liaisons de type 1 à N du père vers les enfants (à 1 père correspond N fils). Modèle réseau Les données sont regroupées sous forme d’enregistrements logiques (record). Les types d’enregistrements sont reliés entre eux par des chemins (type de set) décrivant un réseau où un type d’enregistrement « Fils » (member) peut dépendre de plusieurs types d’enregistrements « Père » (owner). Ces liaisons de nature 1-N permettent ainsi de décrire des ensembles de données (occurrences de set). Une occurrence de set est un ensemble d’occurrences de record, un des éléments de l’ensemble appartient au record propriétaire du set, les autres sont des occurrences du record membre du set. Les traitements sont décrits pour permettre de parcourir ce réseau en utilisant explicitement les liaisons décrites. Les ensembles de données doivent être parcourus en sélectionnant chacun des éléments à traiter. 2005 Toute reproduction même partielle interdite IGPDE page 145 Architecture applicative physique Le principal instigateur de ce modèle est la « Général Motors » dans les années 1970 (CODASYL). On a enrichi le modèle hiérarchique par des liens de type "N-N", qui vont permettre de naviguer dans la base. C’est un modèle hiérarchique plus complexe : un membre peut avoir plusieurs maîtres. Les règles d’usage d’un modèle de type réseau sont : ♦ entrée par tous les sommets ; ♦ parcours possible dans tous les sens ; ♦ liaisons de type N à N. IDS2 de Bull est un exemple de SGBD réseau. Modèle relationnel Les données sont regroupées sous forme de tables à deux dimensions. La table est le seul type de structure permis et représente aussi bien les ensembles de données que leurs associations. Aucune liaison de cheminement n’est décrite. La reconnaissance de valeurs communes entre les colonnes des différentes tables permet de faire les rapprochements et les parcours nécessaires aux traitements : chaque ligne d’une table est identifiée de façon unique par une colonne ou un ensemble de colonnes appelé clé primaire. Toute autre colonne prenant ces valeurs dans le même domaine de définition d’une clé primaire est appelée clé étrangère. La définition de contraintes d’intégrité permet de garantir la cohérence des valeurs entre les différentes tables. Cette uniformité de structure (la table) a donné naissance à de nouveaux types de langage de bases de données qui permettent de travailler directement sur les ensembles de données contenus dans les tables. Les opérateurs des langages relationnels permettent de produire de nouvelles tables en réponse aux besoins de traitement, en substituant et en combinant les tables existantes. Cette approche de manipulation, dite ensembliste, permet à l’utilisateur de préciser ce qui doit être fait et non comment le faire, et se rapproche ainsi du concept de langage non procédural. Le modèle relationnel proposé par E.F Codd permet une représentation de l’univers décrit sous forme de tables à deux dimensions. Fondé sur les mathématiques ensemblistes, ce modèle rompt avec toutes les habitudes de gestion de données des systèmes existants qui sont basées sur des principes physiques d’organisation. Le problème de la modélisation des données d’une entreprise page 146 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique est perçu comme le recensement et la structuration d’ensembles de valeurs. Chaque colonne d’un tableau relationnel prend ses valeurs dans un ensemble de valeurs permises appelé Domaine. La relation ou tableau relationnel est elle-même un ensemble. Définitions Une relation est un sous-ensemble du produit cartésien d’une liste de domaines. Ce sous-ensemble peut être représenté par un tableau à deux dimensions (lignes, colonnes). On appelle N-uplet chaque ligne ou occurrence d’un tableau relationnel. Un schéma relationnel est constitué par le nom de la relation suivi de la liste de ces colonnes (également appelées attributs). Chaque attribut (ou colonne) possède un nom et est défini par rapport à un domaine. Un domaine est l’ensemble des valeurs permises pour une colonne. La définition d’un domaine permet de préciser très exactement les valeurs permises au sein de la base de données. Plusieurs colonnes (ou attributs) d’une même relation peuvent faire appel au même domaine. L’extension d’une relation est représentée par une table à deux dimensions où l’ordre des colonnes et des lignes est sans importance. Un schéma de base de données relationnelle est défini comme un ensemble de relations. Son extension correspond à l’ensemble des N-uplets de ses tables. On distingue deux types de tables : ♦ tables de base ou tables primaires: elles seules ont une existence propre ; leur extension est effectivement stockée ; ♦ vues ou tables virtuelles: elles n’ont pas d’existence propre; leur extension n’est pas stockée. Seule leur définition est conservée sous forme d’une formule de calcul sur d’autres tables primaires ou d’autres vues. La notion de vue se rapproche de celle de schéma externe de la base de données. Un schéma externe peut être perçu comme un ensemble de vues représentatives des besoins d’une application. Ces vues vont permettre : ♦ de soumettre l’utilisation de la base à des règles de confidentialité ; ♦ de maîtriser la mise à jour de la base en assurant certains contrôles de maintien de cohérence ; ♦ de personnaliser l’utilisation de la base de données en ne présentant de façon simplifiée aux utilisateurs que tel ou tel sous-ensemble de la base ; ♦ d’assurer un niveau d’indépendance entre les applications et le schéma conceptuel de données dont certaines parties peuvent évoluer. Normalisation CODD a proposé une démarche appelée normalisation, associée au modèle de données qui permet de guider le concepteur dans sa démarche d’élaboration d’un schéma relationnel. Cette démarche, présentée ci-après, est basée sur la notion de dépendance fonctionnelle et permet d’aboutir à un schéma sans redondance d’informations. Soit X et Y deux attributs ou groupes d’attributs d’une relation R, Y dépend fonctionnellement de X (noté X --> Y), si à toute valeur de X correspond une valeur unique de Y à tout moment au sein de l’extension de la relation R. Cette notion est fondamentale dans l’étude des données décrivant 2005 Toute reproduction même partielle interdite IGPDE page 147 Architecture applicative physique l’entreprise. La démarche de normalisation s’appuie sur plusieurs niveaux de règles appelées formes normales qui précisent un certain nombre de contraintes de dépendance des données. Ces formes normales ont trois objectifs : ♦ représenter au mieux les informations de l’univers d’entreprise dans toute sa complexité : contraintes d’intégrité, valeurs nulles, etc. ; ♦ garantir la non-redondance d’information qui implique une perte de place et plus grave encore un risque d’incohérence lors des mises à jour ; ♦ permettre l’utilisation des opérateurs ensemblistes de manipulation des tableaux sans perte d’information. Il existe cinq formes normales dont les trois premières sont représentatives de la majorité des problèmes de gestion de données. Première forme normale : une relation R est en première forme normale (1FN) lorsque ses attributs sont atomiques. Un attribut est atomique si ses éléments ne peuvent être décomposés en unités de sens plus réduites. Deuxième forme normale : une relation R est en 2FN si et seulement si : ♦ R est en 1FN ; ♦ toute dépendance entre la clé de R et tout attribut de R est élémentaire : tout attribut ne dépend pas d’une partie de la clé. Troisième forme normale : une relation R est en 3FN si et seulement si : ♦ R est en 2FN, ♦ tout attribut n’appartenant pas à une clé de R ne dépend pas d’un attribut non clé de R. Quatrième forme normale : une relation R est en 4FN si et seulement si : ♦ R est en 3FN, ♦ seul les attributs clé sont source de dépendance dans la relation R ; ♦ une dépendance au moins existe ou il n’existe pas dans une dépendance plusieurs valeurs d’attributs associés à un attribut source. Cinquième forme normale : une relation R est en 5FN si et seulement si : ♦ R est en 4FN ; ♦ une dépendance au moins existe ou il n’existe pas de dépendance créée par jointure. Clé de relation La notion de clé de relation se définie à partir de la définition même de dépendance fonctionnelle: soit C, le sous-ensemble des attributs d’une relation R (A1,A2,...,An), C est la clé de R si et seulement si : 1. C détermine par dépendance fonctionnelle l’ensemble des attributs de la relation : C-->A1, C-->A2,..., C-->An 2. il n’existe pas de sous-ensemble K ∈ C tel que relation : K-->A1, K-->A2,..., K-->An page 148 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique La notation « souligné » est utilisée pour déterminer les attributs définis comme clés ; exemple : R (A1,A2,...,An), Un attribut clé étrangère ou externe, clé étrangère d’une relation R, est un attribut ou une combinaison d’attributs de R1 dont les valeurs doivent correspondre aux valeurs existantes déjà dans l’ensemble des valeurs d’un attribut défini comme clé primaire d’une relation R2. ARTICLE (COART,...,FOURN-PRINCIPAL,...) ↓ FOURNISSEUR (NOMFOUR,...) Modèle orienté objet Le modèle orienté objet est à la fois relationnel et orienté objet. Comme pour le modèle relationnel, il doit fournir les capacités identifiées précédemment. Plus spécifiquement, ce modèle peut intégrer des données tabulaires, complexes, hiérarchiques et des réseaux de données. Les caractéristiques suivantes sont les plus importantes des systèmes de gestion de données utilisant le modèle orienté objet: ♦ objets complexes : e.g., des objets peuvent être composés d’autres objets ; ♦ identité objet : chaque objet a un unique identifiant externe aux données ; ♦ encapsulation : un objet comprend les données et les programmes (méthodes) qui les manipulent ; ♦ héritage : les sous-classes héritent des données et des méthodes des classes ; ♦ types et classes: une classe est une collection d’objets similaires ; ♦ extensibilité : e.g., un utilisateur peut définir de nouveaux objets ; ♦ intégration possible dans un langage de type Ada, C, C++, etc. Modèle fichier plat Ce modèle est habituellement étroitement lié à une méthode d’accès et de stockage des données comme la méthode ISAM (Indexed Sequential Access Method) d’IBM. Les modèles présentés précédemment sont des modèles logiques ; les fichiers plats imposent au développeur de travailler avec la structure physique des données stockées sur le support de stockage. Par exemple, le développeur doit connaître la position exacte d’un champ de données dans l’enregistrement. De plus, les fichiers plats ne fournissent pas tous les services d’un système mettant en œuvre les modèles précédents: nommage des données, élimination des redondances et gestion des accès concurrents. En outre, il n’y a aucune indépendance des données et des programmes applicatifs. Le programme doit connaître la structure physique des données. 2.4. SQL 2.4.1. Description Le SQL (Structured Querry Language) est enraciné dans la théorie des ensembles et le calcul des prédicats. Cela conduit à un ensemble limité de commandes puissantes pour définir, contrôler et manipuler des informations structurées en table. SQL est devenu le langage principal de bases de données sur grands systèmes, mini-ordinateurs et serveurs de réseau. SQL est le langage standard de facto d'accès aux données. SQL sert aussi bien à la création qu'à la manipulation des données, ce qui simplifie les phases de spécification et réalisation. 2005 Toute reproduction même partielle interdite IGPDE page 149 Architecture applicative physique Si une organisation a comme exigences la portabilité et l'ouverture, les requêtes générées doivent être aussi près que possible des standards ANSI. Les outils de développement doivent générer le code SQL approprié pour la source de données cible. 2.4.2. Fonctions Le langage SQL est utilisé pour réaliser des opérations complexes. SQL est un langage interactif d'interrogation permettant d'émettre des requêtes précises. Cependant, de nouvelles interfaces graphiques d’accès aux bases permettent de masquer à l'utilisateur la complexité du langage sousjacent. SQL est un langage de programmation de bases de données : pour accéder aux données, il peut être inclus dans des langages C, C++ et Cobol ou bien être appelé au moyen d'un jeu d'API. Certains fournisseurs offrent même des langages de programmation spécifiques de SQL. SQL est un langage de définition et d'administration de données : tous les objets définis par SQL sont automatiquement chargés dans un dictionnaire de données actif ; la structure et l'organisation d'une base SQL sont stockées dans la base elle-même. SQL facilite la protection des données dans un environnement de réseau multi-utilisateurs : il offre un niveau de fiabilité comprenant la validation des données, l'intégrité référentielle, l'annulation des effets de la transaction encours (rollback), le verrouillage automatique, la détection et la résolution des verrous mortels dans un environnement réseau multi-utilisateurs. 2.5. SGBD 2.5.1. Description générale Les premiers SGBD (systèmes de gestion de base de données) ou DBMS (pour data base management system) sont apparus dans les années soixante. En quarante ans ces outils ont su passer du simple stade de “ système de gestion de fichiers évolué au stade « d’environnement complet de développement ». Choisir un SGBD aujourd’hui, ce n’est pas seulement choisir une solution technique d’organisation de données, c’est décider pour plusieurs années d’une ligne stratégique de développement des systèmes d’information de l’entreprise. Un SGDB est un environnement logiciel permettant de développer et d’exploiter des applications informatiques. A ce titre, les fonctionnalités assurées sont très diverses : ♦ décrire et gérer un ensemble d’informations selon les conventions d’un modèle de données ; ♦ maîtriser le partage des informations dans un environnement multi-utilisateurs ; ♦ faciliter l’accès et la manipulation des données aux trois profils-types d’utilisateurs de la base de données : programmeur d’applications, administrateur de base, utilisateurs finals ; ♦ maintenir la cohérence sémantique des données ; ♦ garantir la confidentialité des accès ; ♦ assurer l’indépendance des données et des programmes : sur le plan logique de telle sorte qu’une évolution des besoins ne remette pas en cause l’ensemble des applications; sur le plan physique, de telle sorte qu’une modification des choix de stockage et d’accès aux informations pour des besoins d’optimisation n’ait pas d’incidence sur les programmes d’application ; ♦ permettre la non-redondance des descriptions et des données elles-mêmes ou garantir la cohérence des redondances lorsque celles-ci sont nécessaires ; ♦ assurer le retour à un état cohérent de l’ensemble des informations en cas d’incident de quelque nature que ce soit ; page 150 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique ♦ échanger des informations avec d’autres systèmes (autre SGBD, système de fichiers, tableurs, interfaces utilisateurs, etc.) ; ♦ maintenir un dictionnaire de données (ou méta-base) décrivant les bases de données applications, véritable photographie de l’état du système d’information ; ♦ fournir au travers de ce dictionnaire, différents outils : aide à la conception des bases (schématisation, documentation); aide au développement (L4G, maquette et prototypage); aide à l’exploitation (statistiques). De façon prospective cette liste s’étend suivant quatre axes : 3. Accéder en lecture et mise à jour à des informations stockées dans des sites géographiques différents sans que l’utilisateur ou l’application n’ait à se soucier de la localisation : SGBD réparties. 4. Gérer des informations non factuelles (texte, image, son) dont la structure de mémorisation est complexe et nécessite l’appel de supports de différentes natures. 5. Représenter et manipuler des objets complexes. Cette complexité va au-delà de la vision tabulaire à deux dimensions du modèle relationnel. Des représentations plus riches apparaissent en théorie des modèles (modèle orienté objet) et en théorie des langages (langage orienté objet) pour combler ces lacunes. 6. Fournir des résultats qui ne soient pas seulement des extractions d’informations stockées, mais qui pourront être élaborés à partir de mécanismes d’infocentre. 2.5.2. SGBD/R Les SGBD /Relationnels sont les systèmes les plus répandus actuellement pour les applications « modernes ». Gestion de l'intégrité Afin de représenter fidèlement le monde réel, les données doivent obéir à des règles implicites et parfois explicites. Ces règles permettent de contrôler les t-uplets lors de leur insertion dans des tables de la base. Elles sont appelées contraintes d'intégrité. Les principaux types de contraintes d'intégrité supportées par les SGBD /R sont : ♦ domaine de valeurs d'un attribut ; ♦ unicité de clé ; ♦ contrainte référentielle : une telle contrainte précise qu'un ou plusieurs attributs d'une table doivent apparaître comme clé dans une autre table ; ♦ assertion multi-relations : il s'agit de contraintes spécifiant des assertions logiques entre t-uplets de tables différentes qui doivent rester vérifiées. Procédures stockées, déclencheurs et règles Les bases de données relationnelles ont intégré des extensions procédurales, notamment les procédures stockées, les déclencheurs et les règles. Procédures stockées Une procédure stockée est un ensemble déterminé de commandes SQL et de procédures logiques qui sont compilées, vérifiées et rangées dans la base de données. Ce mécanisme s'apparente à un 2005 Toute reproduction même partielle interdite IGPDE page 151 Architecture applicative physique mécanisme de type RPC. Des paramètres peuvent être fournis aux procédures stockées. Un simple message distant déclenche l'exécution d'une série d'instructions SQL sur le serveur. L'emploi des procédures cataloguées ou stockées résout le problème du client “ obèse ” (de nombreux logiciels applicatifs sur le poste client) dans le cas du client/serveur de données. a) Avantages Il en résulte une baisse du trafic réseau par rapport à du SQL distant et une amélioration des performances. Les procédures stockées peuvent être utilisées pour imposer des règles de travail et l'intégrité des données. b) Inconvénients Ces mécanismes ne sont absolument pas standards, ni portables entre plates-formes de divers éditeurs. Elles offrent moins de souplesse que le SQL dynamique. Il n'y a pas de synchronisation transactionnelle entre procédures stockées ; chaque procédure stockée est une transaction séparée. Déclencheurs et règles Les déclencheurs (triggers) sont des actions spéciales définies par l'utilisateur, généralement sous forme de procédures stockées, qui sont automatiquement exécutées par le gestionnaire lorsque surviennent certains événements liés aux données. A l'inverse des procédures stockées, les déclencheurs sont appelés implicitement par des événements engendrés par le SGBD. Les déclencheurs et les règles (rules) sont attachés à des opérations spécifiques sur des tables spécifiques. Généralement, les déclencheurs peuvent appeler d'autres déclencheurs ou des procédures stockées. Ils allègent les applications du code répétitif. Ils centralisent le traitement des règles de gestion. Ils représentent un aspect de la partie « service » d'un développement. Ils permettent des traitements très puissants et performants. Une règle est un déclencheur d'un type particulier utilisé pour réaliser de simples vérifications sur les données. Les déclencheurs et les règles sont généralement utilisés pour exécuter des tâches liées aux changements dans les tables, tels que l'audit, la comparaison des valeurs avec des seuils, ou l'insertion de valeurs par défaut dans les colonnes. c) Inconvénients Les déclencheurs des différents serveurs SQL ne sont pas normalisés et varient d'un éditeur à l'autre. Le maintien de l'intégrité référentielle au moyen de déclencheurs est non performant et sa mise en œuvre et sa maintenance sont difficiles. Comme un gestionnaire n'a aucun moyen de savoir qu’un déclencheur est utilisé pour l'intégrité référentielle, il ne peut pas en optimiser l'exécution. Indexation Un index associe les valeurs d’un attribut avec la liste des adresses de tuples ayant cette valeur. Un index est un accélérateur d’accès aux données qui permet de retrouver l’identifiant d’une (index unique) ou plusieurs (index non unique) lignes à partir de la valeur d’un ou plusieurs attributs ; dans le cas de plusieurs attributs, on dit que l’on a un index composé. page 152 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique 2.5.3. SGBDO Un système de gestion de bases de données objet (SGBDO ) fournit une architecture client/serveur qui est très différente des SGBDR. Sur les SGBDO, le mécanisme de gestion des données partagées utilise une approche révolutionnaire qui repose entièrement sur la gestion d’objets persistants. La plupart des objets répartis sont persistants. Cela signifie qu’ils doivent conserver leur état longtemps après que le programme qui les a créés s’est terminé. Afin d’être persistant, l’état de l’objet doit être stocké dans un magasin de données non volatil, par exemple une base de données ou un système de fichiers. Un SGBDO fournit un magasin de stockage pour des objets. Il gère la concurrence d’accès aux objets, fournit des verrous et assure la protection des transactions, protège le magasin d’objets et se charge de la sauvegarde et de la restauration. La principale différence entre les SGBDO et les SGBDR est que les SGBDO stockent des objets plutôt que des tables. Les objets sont référencés au moyen d’un identificateur persistant -PIDPersistant Identifier qui les identifie de manière unique et sont utilisés pour créer des relations de référence et d’inclusion entre eux. Au lieu d’utiliser un langage séparé tel que SQL pour définir, extraire et manipuler les données, les SGBDO utilisent les définitions des classes et les constructions des langages objets traditionnels pour définir les objets et y accéder. Les SGBDO sont adaptés au traitement des données complexes, au contrôle de version, aux transactions de longue durée de vie, aux transactions imbriquées, au stockage d’objets persistants, à l’héritage et aux types de données définis par les utilisateurs. 2.5.4. SGBD XML Comme son nom l'indique, une base de données XML native s'articule autour d'un référentiel de contenu (XML ou non) structuré au format XML (DTD, XML Schema, etc.). Côté logiciel client, les langages de requêtes qu'elle supporte sont également décrits à l'aide de vocabulaires XML. Il s'agit principalement de XQuery et de XPath. 2.5.5. SGBD multidimensionnel Les bases multidimensionnelles sont conçues pour répondre à des besoins avancés d'analyse de la part des applications métier. A la différence des plates-formes relationnelles qui se limitent à une dimension unique, elles sont capables d'effectuer des traitements en prenant en compte plus de deux axes. Ce qui leur permet, par exemple, de calculer un résultat financier en croisant plusieurs variables : le CA d'une activité pour une catégorie de client d'une zone géographique particulière sur un segment produit par exemple. 3. TRANSACTIONS 3.1. DEFINITION Une transaction est un ensemble d'actions dotées de propriétés ACID (atomicité, cohérence, isolation et durabilité). ♦ Atomicité : signifie qu'une transaction est une unité d'oeuvre indivisible: ou bien toutes ses actions réussissent ou bien elles échouent toutes. L'atomicité est définie du point de vue de l'utilisateur ; 2005 Toute reproduction même partielle interdite IGPDE page 153 Architecture applicative physique ♦ Cohérence : signifie qu'après l'exécution d'une transaction, celle-ci doit soit laisser le système dans un état correct et stable, soit s'arrêter ; ♦ Isolation : signifie que le comportement d'une transaction n'est pas affecté par d'autres transactions qui s'exécutent simultanément ; ♦ Durabilité : signifie que les effets d'une transaction restent permanents après validation. Ses changements doivent résister aux défaillances éventuelles du système. 3.2. MONITEUR TRANSACTIONNEL 3.2.1. Définition Les gestionnaires de transactions ou moniteurs transactionnels sont spécialisés dans la gestion des transactions depuis leur point d'origine, le client, à travers un ou plusieurs serveurs, pour retourner ensuite au client d'origine. Il préserve les propriétés ACID de tous les programmes s'exécutant sous sa protection. 3.2.2. Description Multiplexage des connexions Les moniteurs transactionnels fournissent un système d'exploitation par-dessus ceux existant déjà qui connectent en temps réel des milliers d'utilisateurs à un groupe de processus serveur partagés. Le moniteur transactionnel supprime la nécessité de disposer d'un processus par client, en canalisant les demandes des clients en entrée vers les processus serveur partagés. Si le nombre de demandes client en entrée est supérieur au nombre de processus dans une classe de serveur, le moniteur peut dynamiquement en lancer de nouveaux: ce mécanisme est appelé équilibrage de la charge. Le moniteur peut équilibrer la charge aussi dans le cas de serveur SMP en répartissant la charge entre les processeurs. Garantie des propriétés ACID La fonction d'un moniteur transactionnel est de garantir les propriétés ACID, tout en maintenant un haut débit de transactions. Pour cela, il doit gérer l'exécution, la distribution et la synchronisation des charges de travail transactionnelles. Les développeurs ne doivent pas se préoccuper des problèmes de simultanéité d'accès, des défaillances système, des ruptures de connexion et de l'équilibrage de la charge. Types d'interaction des moniteurs transactionnels Un moniteur transactionnel met en oeuvre quatre types d’interaction entre les clients et les serveurs: ♦ conversationnelle d'égal à égal ; ♦ requête/réponse par appel de procédure à distance ; ♦ file d'attente ; ♦ traitement différé. Le moniteur transactionnel utilise les services d'échange fournis par les systèmes d’exploitation (stricto sensu et réseau) en apportant une valeur ajoutée importante à leurs capacités : • Le client peut spécifier le début et fin de transaction par des délimiteurs, mais c'est le moniteur transactionnel côté serveur qui gère effectivement les validations ; page 154 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique • Le moniteur assigne un identifiant de transaction unique qui permet de tracer tous les échanges de messages pour la transaction concernée ; • Chacun des messages contient l'information sur l'état de la transaction ; • Le moniteur garantit l'unicité de traitement du message ; • Le moniteur garantit le traitement d'une requête. 3.2.3. Moniteur transactionnel objet Les OTM (Object Transaction Monitor) ou moniteurs transactionnels objet sont les résultats de la fusion des moniteurs transactionnels et des infrastructures de communication entre objets. Les OTM fournissent un canevas pour gérer les interactions de composants distribués. Ils sont les chefs d’orchestre des serveurs. Ils coordonnent les objets métiers pour les transactions et permettent de créer des serveurs comportant des millions d’objets. Ils offrent la possibilité de développer et de déployer des systèmes distribués à grande échelle pour réaliser des transactions ACID, imbriquées et sécurisées. 4. OBJETS 4.1. DEFINITION Un objet associe une structure de données et un comportement. L’orientation objet correspond à une démarche naturelle de la modélisation où l’esprit commence par percevoir l’objet dans son individualité, puis il identifie ses fonctions, détaille sa structure et son comportement. Ensuite, il procède par analogie en généralisant ou en spécialisant. L’objet est une réponse aux besoins des nouvelles applications graphiques, intégrées et évolutives. Elle est adaptée aux nouvelles architectures distribuées et ouvertes. De plus, la croissance exponentielle de la puissance des plates-formes matérielles ne trouve pas son équivalent dans les évolutions des langages dits structurés (Fortran, Cobol, etc). Identité L'identité signifie que les données sont quantifiées en entités discrètes, que nous pouvons distinguer et que nous nommons objets. Un paragraphe dans un document, une fenêtre sur une station de travail, etc. Les objets peuvent être concrets, tel un fichier dans un système de fichiers, ou conceptuels comme une politique d’ordonnancement dans un système d'exploitation multitâche. Chaque objet possède sa propre identité. En d'autres termes, deux objets sont distincts même si tous leurs attributs (nom et taille par exemple) ont des valeurs identiques. Dans le monde réel, un objet se contente d'exister, mais dans un langage de programmation chaque objet possède une clé unique par laquelle il peut être référencé sans ambiguïté. La clé peut être implémenté de diverses façons : une adresse, un indice dans un tableau ou une valeur unique d'un attribut. Les références sur les objets sont uniformes et indépendantes du contenu des objets, permettant ainsi la création de collection d'objets, telles qu'un répertoire de fichiers contenant à la fois des fichiers et des répertoires. Classification La classification signifie que des objets ayant la même structure de données (attributs) et le même comportement (opérations) sont regroupées en une classe. Paragraphe et fenêtre sont des exemples 2005 Toute reproduction même partielle interdite IGPDE page 155 Architecture applicative physique de classes. Une classe est une abstraction qui décrit les propriétés pertinentes pour l'application et ignore les autres. Tout choix de classes est arbitraire et dépend de l’application. Chaque classe décrit un ensemble, pouvant être infini, d'objets individuels. Chaque objet est dit instance de sa classe. Chaque instance de la classe possède ses propres valeurs pour chaque attribut, mais partage noms d'attributs et opérations avec les autres instances de la classe. Un objet contient une référence implicite à sa propre classe. Polymorphisme Le polymorphisme signifie que la même opération peut se comporter différemment sur différentes classes. L'opération déplacer, par exemple, peut se comporter différemment sur les classes fenêtre et pièce de jeu d'échec. Une opération est une action ou une transformation qu'un objet effectue ou subit. L'implémentation spécifique d'une opération par une certaine classe est appelée méthode. Parce qu'un opérateur orienté objet est polymorphe, il peut être implémenté par plus d'une méthode. Dans le monde réel, une opération est simplement une abstraction de comportements analogues parmi différents types d'objets. Chaque objet « sait comment » effectuer ses propres opérations. Cependant, dans un langage de programmation orienté objet, le langage sélectionne automatiquement la méthode correcte pour implémenter l'opération en se basant sur le nom de l'opération et sur la classe de l'objet sur lequel il opère. L’utilisateur d'une opération n'a pas besoin de connaître le nombre de méthodes existantes pour implémenter une opération polymorphe. De nouvelles classes peuvent être ajoutées sans modifier le code existant, pourvu que des méthodes soient fournies pour chaque opération applicable sur les nouvelles classes. Héritage L'héritage est le partage des attributs et des opérations entre des classes s'appuyant sur une relation hiérarchique. Une classe peut être définie à grands traits et ensuite affinée dans les sous-classes de plus en plus fines. Chaque sous-classe incorpore, ou hérite, toutes les propriétés de sa super classe et y ajoute ses propres et uniques propriétés. Les propriétés de la super classe n'ont pas besoin d'être répétées dans chaque sous-classe. Par exemple, fenêtre déroulante et fenêtre fixe sont des sous-classes fenêtre. La possibilité de factoriser des propriétés communes à plusieurs classes dans une super classe commune et d'hériter les propriétés de la super classe peut réduire de façon significative les répétitions dans la conception et dans les programmes. C’est l'un des principaux avantages d'un système orienté objet. Encapsulation L'encapsulation signifie « ne me dites pas comment vous le faites, faites-le ». C'est ce que fait l'objet en gérant ses propres ressources et en limitant sa visibilité à ce que les autres ont à savoir. Un objet fait connaître une interface publique qui définit comment d'autres objets ou applications peuvent dialoguer avec lui. Un objet a un composant privé qui implémente les méthodes. L'implémentation de l'objet est encapsulé, c'est à dire cachée à la vue publique. Les données d'instance peuvent être déclarées privées, ce qui est par défaut le cas habituel, ou publiques. Les données d'instance privées ne sont accessibles que par les méthodes de la classe. Par contre, les données d’instance publiques font partie de l’interface externe publiée. Les méthodes et les données d'instance publiques constituent l'interface permanente entre l'objet et le monde extérieur. page 156 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique 4.2. COMPOSANT Les moniteurs transactionnels et les serveurs d'applications se différencient par les paradigmes qu'ils mettent en œuvre, respectivement serveur de traitements et serveur de composants. Dans les deux cas, le concept est orienté service, au sens boîte noire. 4.2.1. Définition Le composant est un objet qui adhère à un modèle, c'est-à-dire qu'il supporte un ensemble de méthodes normées qui lui permettent : ♦ d'être exécuté dans un serveur d'applications conforme au modèle en supportant le mode transactionnel, la sécurité, la concurrence d'accès, l'indépendance à la localisation, etc. et ce, sans ajout de code particulier ; ♦ d'être facilement intégré à un AGL en phase de développement, grâce aux méthodes auto-descriptives d'introspection. Ces méthodes normées se regroupent logiquement sous des interfaces. La vision offerte par le composant à ses utilisateurs - l'interface - se veut indépendante de son implémentation. Cette structure permet un réel assemblage de composants avec des outils de haut niveau, sans se soucier du détail de l'implémentation. Les modèles de composant apportent en particulier un ensemble d'objets et de méthodes, utilisables dans le code du composant et qui permettent de gérer plus finement les aspects transactionnels et de sécurité. La prise en compte de ces deux aspects diminue considérablement la complexité de mise en oeuvre d'une architecture à trois niveaux robuste, principal inconvénient des moniteurs transactionnels. L'évolution du paradigme traitement, relativement bas niveau, vers le paradigme objet-composant paraît inéluctable, au regard des tendances du marché ♦ émergence de puissants outils de conception UML (National Rose en particulier), maturité des formations destinées aux développeurs ; ♦ AGL de plus en plus orientés objet: PowerBuilder, Delphi, Forté, Visual Studio, etc. ; ♦ offres de moniteurs TP classiques s'orientant vers le composant, notamment BEA avec Weblogic et IBM avec WebSphere ; ♦ framework d'objets métiers (IBM San Francisco, Microsoft DNAfs, etc.), accès aux ERP via l'objet, etc. 4.2.2. Avantages Les composants logiciels sont des unités autonomes de code d’exécution qui offrent des fonctionnalités spécifiques au sein d’une application. Il existe plusieurs raisons d’utiliser des composants dans une application : Possibilité de réutilisation Une fois qu’un composant a été créé, d’autres développeurs peuvent l’utiliser. Ceci facilite l’accès aux fonctions du composant dans d’autres applications, sans que les développeurs aient à écrire un nouveau code. 2005 Toute reproduction même partielle interdite IGPDE page 157 Architecture applicative physique Complexité limitée Un composant peut être créé sans en montrer la complexité de programmation aux autres développeurs. Ceux-ci ont simplement besoin de savoir quelles informations fournir et quelles informations rechercher. Facilité de mise à jour Les composants facilitent la révision et la mise à jour de vos applications. Ainsi, un composant peut encapsuler des règles de gestion. Si celles-ci changent, il suffit d’actualiser le composant et non toutes les applications qui s’en servent. Développement simplifié La division du code en plusieurs composants permet de développer et de tester de façon indépendante des petites parties encapsulées de l’application. Elle permet aussi à plusieurs développeurs de travailler ensemble sur un projet, car elle autorise la répartition des tâches entre les différents membres de l’équipe. Neutralité de langage Les composants peuvent interagir entre eux, indépendamment du langage mis en oeuvre. Ceci permet aux développeurs d’utiliser le langage le plus efficace pour mettre au point les fonctionnalités du composant. 4.2.3. Modèles Deux modèles (architectures) de composants se partagent aujourd'hui le marché : • le modèle .NET hérité de COM/DCOM de Microsoft, mettant en œuvre les composants ActiveX, • le modèle J2EE (Java 2 Entreprise Edition) associé à EJB (Enterprise JavaBean), spécification multi-éditeurs dont Sun et IBM sont à l'origine. Le premier se veut indépendant du langage (les composants peuvent être écrits et utilisés au moyen de langages différents), le second repose sur le langage Java. Les principales caractéristiques sont les suivantes : ♦ le développeur est dégagé de la problématique bas niveau de gestion du transactionnel, car cette gestion déclarative se fait depuis les outils d'administration ; ♦ l'accès aux ressources de données ne se fait plus par API bas niveau mais par utilisation de composants d'accès dans l'outil de développement' ; ♦ l'appel à des composants distants peut se faire au travers d'interfaces variés (RMI, Corba (via IIOP) ou DCOM) suivant la technologie du serveur. 4.2.4. J2EE Java 2 Enterprise Edition est le modèle de composants promu par Sun et ses partenaires pour les applications d’entreprise. J2EE au sens strict est une spécification, pas une implémentation. Cette spécification est contrôlée par Sun Microsystems. Il ne s’agit donc nullement d’un standard au sens formel. page 158 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique Description La spécification J2EE définit la notion de conteneur, qui est un objet logiciel implémentant une fonction macroscopique. Architecture logique J2EE Deux conteneurs existent de-facto : ♦ le conteneur Web s’occupe de la présentation : • les servlet hébergent le code Java ; • les JSP (Java Server Pages) hébergent du HTML dynamisé par du Java ; • JDBC permet d’accéder aux données rangées dans un SGBDR. ♦ le conteneur EJB héberge la partie métier. Sa vertu principale est de permettre une gestion déclarative de notions complexes à programmer : • les sessions : le conteneur gère des objets (beans) session, avec ou sans état, qui représentent l’interaction courante du client avec le système (par exemple son caddy sur un site de e-commerce) ; • les transactions ; • la persistance des objets : le conteneur gère des objets (beans) entité qui représentent les objets persistants ; • un modèle de sécurité basé sur les rôles ; • le cycle de vie des composants (activation, passivation) ; • un modèle de communication asynchrone (JMS). ♦ le protocole de communication entre objets (beans) est RMI, et plus précisément RMI/IIOP pour les interactions hétérogènes. J2EE est une architecture mono langage (Java) et multi plate-formes (Windows, Linux, UNIX, OS/390). Les composantes de J2EE La dernière version publiée de J2EE contient les APIs majeures suivantes (par ordre alphabétique) : ♦ EJB (Enterprise JavaBeans) ; ♦ Java RMI (Remote Method Invocation) ; ♦ JDBC (Java Database Connectivity) ; ♦ JMS (Java Message Service) ; ♦ JNDI (Java Naming and Directory Interface) ; ♦ JSP (JavaServer Pages) ; ♦ JTA (Java Transaction API) ; ♦ RMI/IIOP (Internet Inter-ORB Protocol) ; 2005 Toute reproduction même partielle interdite IGPDE page 159 Architecture applicative physique ♦ Servlets 2.3 ; ♦ Support des Services Web ; 4.2.5. .NET .NET est une marque de Microsoft, un qualificatif pour les produits Windows et Visual Studio, Visual Basic, ASP, ADO …, mais ni une spécification, ni un standard formel. C’est néanmoins un facteur majeur sur le marché pour l’architecture applicative. Du fait de la polysémie de .NET, il est important de préciser ce dont il est question. .NET n’est pas le nouveau nom de DCOM ou de MTS (Microsoft Transaction System). C’est un nouveau modèle de programmation, sensiblement différent du modèle traditionnel de Microsoft, avec des stratégies et des outils de migration. .NET désigne donc les applications écrites nativement avec VisualStudio.NET en C# ou en VisualBasic.NET. C# est un langage objet très similaire à Java. VB.NET est une évolution très significative de Visual Basic vers l’objet. Ces applications sont ensuite exécutées sur Windows 2003 avec un certain nombre de compléments (.NET SDK). L’architecture .NET est composée de plusieurs éléments : ♦ La CLR (Common Language Runtime), qui est une machine d’exécution virtuelle inspirée de la JVM de J2EE ; ♦ La FCL (Framework Class Libray), une collection de classes, structures et énumérations. Description L’architecture de .NET se caractérise par rapport à J2EE, entre autres, par son aspect multi langages (C#, VB, …) et mono plate-forme (Windows). Les services sont très similaires à ceux de J2EE, sauf que .NET n’a pas de beans entité. .NET utilise intensivement les protocoles services Web (SOAP et WSDL) pour la communication entre les composants .NET, que ce soit en distribué ou en local. L’essentiel de l’innovation .NET porte sur la partie frontale et le modèle global de communication et de distribution. Pour la partie métier (l’équivalent du conteneur EJB), .NET s’appuie fortement sur le moniteur transactionnel MTS et sur la persistance ADO.NET pour l’accès aux données relationnelles. page 160 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique Il n’existe bien sûr qu’un seul .NET, celui de Microsoft, actuellement disponible sur Windows 2000. 4.2.6. Comparaison Java Bean/ActiveX Les Java Beans et les ActiveX sont tous deux des composants logiciels. À ce titre, ils constituent les éléments de base de construction d'applications distribuées. Leur comparaison est intéressante, car ils représentent les deux modèles faisant actuellement référence : le modèle Java portable, basé sur les standards du marché et le modèle propriétaire ActiveX de Microsoft. Le tableau ci-dessous présente les principaux points de comparaison. Le choix d'un modèle de construction d'applications dépend principalement de l'environnement dans lequel celles-ci doivent fonctionner. Lorsque l'on doit développer des applications pour un environnement homogène Windows avec un niveau de sécurité non critique, le modèle ActiveX constitue un très bon choix. Le concept d'ActiveX est bien intégré dans tous les logiciels de Microsoft et il est dès aujourd'hui utilisable pour construire des applications complexes. Si l'on considère le développement d'applications pour Internet, avec un niveau de sécurité élevé, dans un environnement multi-plates-formes, combinant différents types de réseaux, l'approche Java doit être très sérieusement envisagée. Comparaison entre Java Bean et ActiveX. JAVA BEANS ACTIVEX ♦ utilisent le middleware objet standard CORBA. ♦ utilisent le middleware propriétaire DCOM. ♦ sont distribués sous la forme d’applet. ♦ constituent l'élément de distribution. ♦ sont écrits en langage Java. ♦ sont écrits dans n'importe quel langage. ♦ sont téléchargés sous forme de byte-code exécutable sur n'importe quelle plate-forme. ♦ sont téléchargés sous forme binaire donc exécutable sur une seule plate-forme (Intel/Windows). ♦ lorsqu'ils sont téléchargés dans une applet ont une durée de vie qui est celle de la page HTML associée. ♦ lorsqu'ils sont téléchargés par Internet ont une durée de vie indépendante de la page HTML associée. Ils continuent à vivre après la disparition de celle-ci. ♦ ne peuvent pas utiliser les ressources de la machine sur laquelle ils ont été téléchargés (pas d'accès au disque ni au système d'exploitation). Ceci permet d'assurer que le code téléchargé ne peut pas détruire l'environnement de la machine réceptrice. ♦ peuvent accéder à toutes les ressources de la machine sur laquelle ils ont été téléchargés. Ce mécanisme offre beaucoup de possibilités de traitement mais constitue une faiblesse du point de vue de la sécurité. ♦ ont le soutien de beaucoup de grands acteurs ♦ représentent une technologie propriété de du marché (Sun, IBM, Oracle, etc.). Microsoft. 2005 Toute reproduction même partielle interdite IGPDE page 161 Architecture applicative physique 4.3. SERVEUR D’APPLICATION 4.3.1. Description Le serveur d'applications est le cadre d'exécution de composants obéissant à un modèle (.NET ou J2EE). Le terme « cadre d'exécution » ou « framework » correspond à l'ensemble des services nécessaires à la bonne exécution des composants, à savoir : ♦ les services de base : accès aux composants, optimisation des ressources, transactionnel, répartition de charge ; ♦ l'administration, l'exploitation ; ♦ la sécurité ; ♦ les passerelles vers l'existant ; ♦ la persistance ; ♦ les impressions. Afin d'optimiser les phases de développement, les services du serveur d'applications doivent être intégrés dans l'outil de développement, voire dans l'outil de conception. 4.3.2. Services de base Les quatre services de base (ou services d'exécution) que fournissent les serveurs d'application sont l'accès aux composants, l'optimisation de l'accès aux ressources locales et distantes, la gestion transactionnelle et la répartition de charge. Accès aux composants Service de base s'il en est, l'accès aux composants consiste à permettre aux clients de localiser, d'instancier et d'utiliser des composants, éventuellement à distance. Pour cela, le serveur de composants intègre un service de nommage qui va permettre de localiser les composants. Optimisation de l'accès aux ressources locales Les composants sont de gros consommateurs de ressources physiques en raison de la complexité des protocoles sous-jacents utilisés COM/DCOM, IIOP, RMI, SQL,... Le serveur d'applications reprend donc les fonctions de moniteur présentes dans les moniteurs transactionnels classiques. Cette optimisation des ressources machines se retrouve à plusieurs niveaux : ♦ local : gestion des threads et de la mémoire ; ♦ intercomposants : sémaphores, IPC (InterProcessus Communication), etc. ; ♦ vers l'extérieur : connexion aux sources de données et de traitements. Au niveau local, pour réduire les temps de chargement des objets, le serveur peut mettre en œuvre des mécanismes de pré-instanciation et d'affectation de composants aux process client au travers d'un « pool » (regroupement d'objets prêts à être utilisés). Le serveur gère le cycle de vie du composant : création, exécution de méthodes, activation - désactivation, destruction. Il peut ainsi affecter des composants du pool à un client ou remettre dans le pool un composant libéré par un autre client. Vers l'extérieur, tous les serveurs de composants gèrent également un pool de connexion vers les gestionnaires de ressources (SGBD). Par exemple, que ce soit sous .NET ou J2EE, les appels respectifs aux couches d'accès aux données ADO (ActiveX Data Objects) ou JDBC (Java Database page 162 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique Connectivity) sont interceptés par le serveur qui affecte la requête à une session base de données préétablie. Cela évite les ouvertures - fermetures de session SGBDR, très pénalisantes pour les temps de réponse et très gourmandes de ressources. Ce qui est fait pour les bases de données vaut pour tout autre gestionnaire de ressources : MOM (Message Oriented Middleware), fichiers, etc. Gestion transactionnelle Le serveur d'application assume la fonction de gestionnaire de transaction vis-à-vis des différents gestionnaires de ressources (SGBD) intervenant dans le système. Répartition dynamique de charge ou fail over Toujours de manière transparente pour le développeur, un composant peut être déployé sur plusieurs serveurs afin d'augmenter la scalabilité (capacité à monter en charge) et la robustesse du système. Bien entendu, ces mécanismes de répartition de charge s'étendent au fail over. Il suffit à l'algorithme de routage de détecter qu'un serveur n'est plus disponible pour ne plus lui envoyer de requêtes. Gestion de la persistance La persistance des composants en base de données pose de vrais problèmes. Les composants sont avant tout des objets, tandis que les moyens actuels pour conserver de la donnée reposent essentiellement sur un modèle relationnel. Deux grandes catégories de solutions se dégagent néanmoins : ♦ les techniques de mapping relationnel/objets automatiques ; ♦ la persistance en base Objet. 5. TECHNOLOGIES FEDERATRICES 5.1. INFRASTRUCTURE DE TRAVAIL EN GROUPE 5.1.1. Description Le développement des réseaux et des systèmes d'exploitation multitâches permet à l’utilisateur de sortir de son isolement. La nécessité de travailler ensemble, de partager de l'information se traduit par l'adoption de plus en plus fréquente de solutions de type réseau local et de logiciels conçus pour travailler en réseau. Le groupware est le logiciel qui prend en charge la création, le flux et la recherche d'informations non structurées, dans le but de soutenir l'activité de coopération exercée par un groupe. Le GroupWare est un ensemble de techniques et outils informatiques et de télécommunications permettant à un groupe d'individus de réaliser un objectif commun. Pendant longtemps, la mise à disposition de données à l’intention d’un groupe d’utilisateurs, dont une majorité de non-informaticiens, est passée par l’utilisation d’un système de gestion de base de données relationnelle et de requêtes prédéfinies. Ceci impose que les données soient structurées. 2005 Toute reproduction même partielle interdite IGPDE page 163 Architecture applicative physique Un logiciel de groupware doit permettre la mise à disposition de ce type d’information, tout en intégrant l’accès aux bases de données. La messagerie électronique, vecteur de communication entre les individus, joue un rôle prépondérant dans le groupware. Le groupware manipule des données non structurées: texte, images, graphiques, télécopies et courrier. Il fournit les outils pour saisir les données et les organiser en document. Le document est une sorte de conteneur de divers types d'informations: c'est l'unité de gestion de base, comme une table pour une base de données relationnelle. Les composants du travail en groupe sont : ♦ documents multimédia ; ♦ workflow ou gestion de flux ; ♦ messagerie électronique et annuaire ; ♦ conférences ; ♦ planification. 5.1.2. Workflow Le workflow ou gestionnaire de flux est un outil permettant d'automatiser la circulation des documents grâce à des procédures rigoureuses calquées sur les modes organisationnels de l'entreprise concernée. Le Workflow repose sur une répartition des tâches et une qualification précise des intervenants. Le Workflow est principalement utilisé dans des progiciels intégrés du monde de la gestion (par exemple, SAP). Le workflow est une technologie qui permet d’acheminer automatiquement les événements et les tâches d'un programme au programme suivant, dans des environnements structurés ou non structurés. Le workflow définit les opérations qui doivent être prises en compte tout au long du chemin ainsi que les actions nécessaires en cas d'exception. 5.2. INFRASTRUCTURE D’AIDE A LA DECISION 5.2.1. Description Les systèmes décisionnels d’aide à la décision doivent permettre de répondre aux besoins cidessous : ♦ permettre à un ensemble d’utilisateurs (de quelques dizaines à plusieurs milliers) d’accéder à l’information en mode navigationnel, afin de simplifier, d’accélérer leur prise de décision sur la base d’informations factuelles de résoudre un problème que l’on peut formaliser a priori (par exemple optimiser les ventes par clients par marché, ou par produit) ; ♦ pouvoir quantifier les gains du système sur la base d’indicateurs de progrès tangibles ; ♦ accéder à des informations de détails. Le décisionnel, jusque-là marginal et élitiste du système d’information d’entreprise, s’impose désormais comme le socle indispensable à la prise de décision pour un nombre sans cesse croissant d’utilisateurs. L’accès à l’information pour tous, voilà l’objectif vers lequel convergent les entreprises. Cela passe par la mise en œuvre de solutions dont l’objectif n’est plus seulement de capter l’information, rôle des systèmes dits transactionnels, mais aussi de la restituer. En outre, face à sa surabondance, il ne suffit plus de la rendre accessible, mais aussi de la structurer selon différents points de vue et différents niveaux de synthèse. page 164 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique L’entreprise construit un système décisionnel pour améliorer sa performance. Il doit lui permettre d’être proactive sur son secteur d’activité, c’est-à-dire de décider et d’anticiper en fonction de l’information disponible et de capitaliser sur ses expériences. Pour répondre à ces besoins, l’infrastructure dénommée DataWarehouse ou entrepôt de données devient un composant désormais prépondérant. 5.2.2. Datawarehouse Introduction C’est en 1990 que Bill Inmon formalise pour la première fois le concept de Data Warehouse. L’idée est de constituer une base de données orientée sujet, intégrée, contenant des informations datées, non volatiles et exclusivement destinées aux processus d’aide à la décision. Le Data Warehouse devient désormais l’infrastructure indispensable pour piloter l’entreprise, suivre et mesurer les impacts des décisions stratégiques. Objectifs et définitions Pour être exploitables, toutes les données, qu’elles proviennent du système de production de l’entreprise ou qu’elles soient acquises à l’extérieur, vont devoir être organisées, coordonnées, intégrées et enfin stockées pour donner à l’utilisateur une vue intégrée et orientée métier. C’est le principal objectif d’un Data Warehouse. La figure précédente illustre l’objectif d’un Data Warehouse, sorte de point focal stockant en un endroit unique toute l’information utile provenant des systèmes de production et des sources externes. Avant d’être chargée dans le Data Warehouse, l’information doit donc être extraite, nettoyée et préparée. Puis, elle est intégrée et mise en forme de manière compréhensible par l’utilisateur. 2005 Toute reproduction même partielle interdite IGPDE page 165 Architecture applicative physique Orientation sujet Le Data Warehouse est organisé autour des sujets majeurs de l’entreprise, contrairement aux données des systèmes de production généralement organisées par processus fonctionnel. L’intérêt de cette organisation est de disposer de l’ensemble des informations utiles sur un sujet le plus souvent transversal aux structures fonctionnelles et organisationnelles de l’entreprise. Cette orientation sujet va également permettre de développer son système décisionnel (son Data Warehouse) via une approche incrémentale sujet après sujet. Données intégrées Un Data Warehouse est souvent considéré comme un projet d’entreprise, même si son développement peut être itératif. Ce point de vue unique et transversal constitue une forte valeur ajoutée. Pour y parvenir, les données doivent être intégrées. Données historisées Dans un système de production, la donnée est mise à jour à chaque nouvelle transaction. L’ancienne valeur est perdue et la donnée reste constamment à jour. Les systèmes de production conservent assez rarement l’historique des valeurs de cette donnée. Dans un système décisionnel, il est fondamental de pouvoir analyser l’évolution de la donnée dans le temps, à la fois pour prendre des décisions et pour mesurer leurs effets. Données non volatiles La non-volatilité est en quelque sorte une conséquence de l’historisation décrite précédemment. Ainsi une même requête effectuée à trois mois d’intervalle en précisant naturellement la date de référence de l’information recherchée donnera le même résultat. Construction du Data Warehouse Transformer les données en connaissance est un processus complexe, qui peut se synthétiser aux travers des étapes représentatives d’une démarche industrielle : assembler les matières premières (les données de différentes sources), selon des instructions spécifiques (le méta modèle), pour réaliser un produit fini (les données analytiques), stocké dans un entrepôt de données (le Data Warehouse), pour mise à disposition facile aux clients (les utilisateurs finals). page 166 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique La figure ci-contre illustre le cadre général d’un Data Warehouse. Ce cadre comporte trois domaines principaux : les applications, les composants fonctionnels du Data Warehouse (acquisition, stockage et accès) et les infrastructures (technique et physique, opérationnelle d’administration). a) Les applications Un Data Warehouse ne se construit pas en une seule itération. Chaque sujet traité est décomposé en un ensemble d’initiatives (les applications). Le périmètre de chaque application doit être clairement défini (acteurs concernés, fréquence et périodicité des analyses, objectifs et nature des retombées sur l’activité de l’entreprise...). Les applications doivent rester maîtrisables et fournir des résultats rapidement (le plus souvent dans un délai de six mois). Les résultats doivent être mesurables, notamment en termes de retour sur investissement. b) Composants fonctionnels Trois composants fonctionnels caractérisent un Data Warehouse : l’acquisition des données, leur stockage et l’accès par les utilisateurs finals. ACQUISITION L’acquisition des données se déroule en trois phases : l’extraction, la préparation et le chargement. L’extraction des données consiste à collecter les données utiles dans le système de production. Il faut idéalement identifier les données ayant évolué afin d’extraire le minimum de données, puis planifier ces extractions afin d’éviter les saturations du système de production. L’intégrité des données est indispensable et nécessite la synchronisation des différents processus d’extraction. Les 2005 Toute reproduction même partielle interdite IGPDE page 167 Architecture applicative physique problèmes liés à cette nécessaire synchronisation peuvent être complexes, soit fonctionnellement, soit techniquement dans des environnements très hétérogènes. Pour extraire les données sources, il y a plusieurs technologies utilisables : ♦ des passerelles, fournies principalement par les éditeurs de bases de données. Ces passerelles sont généralement insuffisantes, car elles sont mal adaptées aux processus de transformation complexes ; ♦ des utilitaires de réplication, utilisables si les systèmes de production et décisionnel sont homogènes et si la transformation à appliquer aux données est légère ; ♦ des outils spécifiques d’extraction. Ces outils sont certainement la solution opérationnelle au problème de l’extraction, mais leur prix relativement élevé est un frein à leur utilisation dans les premières applications. Le chargement est la dernière phase de l’alimentation du Data Warehouse. C’est une phase délicate notamment lorsque les volumes sont importants. Pour obtenir de bonnes performances en chargement, il est impératif de maîtriser les structures du SGBD (tables et index) associées aux données chargées afin d’optimiser au mieux ces processus. STOCKAGE Le composant de base support du stockage est le SGBD. Outre le stockage, le SGBD doit être spécifiquement adapté aux caractéristiques de l’accès décisionnel. Ces technologies sont principalement liées à la parallélisation des requêtes et à diverses optimisations proposées pour accélérer les sélections et les regroupements ensemblistes. Du fait de l’importance de l’historique dans un Data Warehouse, la structuration physique des données est également importante. Un partitionnement physique des tables en plus petites unités selon le critère temps apporte des performances stables dans le temps, des facilités pour les reprises, les indexations, les restructurations et l’archivage. Il est également plus facile de stocker ces données sur des supports moins coûteux que les disques. ACCES Besoins utilisateurs « L'information au bout des doigts » est un slogan publicitaire célèbre du début des années 1990. C'est l'objectif concret à atteindre pour les outils d'aide à la décision, rendu difficile fait par la variété des besoins des utilisateurs : ♦ des besoins d'autonomie, qui nécessitent un accès à l'information en libre service, sans a priori sur les chemins d'accès à celle-ci. Les requêteurs répondent à ces besoins ; ♦ des besoins d'analyse, qui nécessitent de s'appuyer sur une information pré-packagée et fortement structurée ; ♦ des indicateurs de gestion ou d'activité peuvent ainsi être ventilés sur des axes d'analyse. Les outils OLAP répondent à ces besoins ; ♦ les statistiques et les outils de Data Mining permettent de concevoir ou de découvrir des modèles à partir d’un ensemble de données, en les segmentant (arbres de décision, clustering), en les corrélant (découverte de règles), ou encore en permettant d’extrapoler, de prédire ou de prévoir (statistiques, réseaux de neurones) ; ♦ les EIS permettent de définir des tableaux de bord relativement figés et synthétiques pour mettre en valeur quelques indicateurs clés ; page 168 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique ♦ les outils de visualisation avancés ou les systèmes d’information géographiques (SIG) permettent de présenter de manière synthétique de grands volume de données et de faciliter leur analyse selon différents points de vue. Requêteurs Les requêteurs facilitent la formulation de requêtes en s'appuyant sur la logique ensembliste des bases de données relationnelles. Ainsi, ils permettent d'obtenir la liste des noms et prénoms des clients ayant acheté tel produit au cours des trois derniers mois. Pour y parvenir, ils doivent substituer une interface homme machine conviviale à l'austère SQL, mais aussi proposer à l'utilisateur un niveau d'abstraction sous la forme de points de repères par rapport à son vocabulaire métier. Pour y parvenir, tous les outils du marché ont intégré la notion de dictionnaire, à l'instar de Business Objects, pionnier dans ce domaine : défini par des administrateurs, il habille un modèle physique de données pour le rendre compréhensible et ajouter aux données brutes des informations agrégées ou calculées (un chiffre d'affaires par exemple). Un bon requêteur doit aussi savoir valoriser l'information, qui serait illisible sans une mise en forme appropriée. Il devra en outre combler toutes les lacunes du SQL : ainsi, les classements, les comparaisons sophistiquées, les sommes cumulées, les opérations statistiques, sont autant d'opérations fondamentales en décisionnel oubliées dans la norme SQL. Les requêteurs doivent également permettre de diffuser l'information qu'ils ont permis d'accéder vers des outils tiers (outils bureautiques, de Data Mining, de développement), ou vers d'autres utilisateurs (messagerie, outil de travail de groupe, mise au format Web). OLAP OLAP permet non seulement d'accéder à l'information, mais aussi de « naviguer » dans celle-ci. Il permettra ainsi d'analyser la répartition d'un indicateur comme le chiffre d'affaires réalisé par rapport à des axes d'analyse comme les axes client, région, produit, période, etc. OLAP, parce qu'il associe des mécanismes de navigation aux données, permet d'effectuer des analyses de manière interactive, à l'opposé du requêteur pour qui chaque requête est une fin en soi. Par contre, OLAP ne permet l'analyse d'information que dans un cadre prédéfini au départ, limitant 2005 Toute reproduction même partielle interdite IGPDE page 169 Architecture applicative physique dès lors l'autonomie potentielle de l'utilisateur. De ce fait, requêteurs et outils OLAP doivent être considérés comme complémentaires plutôt que concurrents. Datamining La montée en puissance du concept de Data Warehouse permet de mettre à la disposition des entreprises de grands volumes de données intègres et historisées. Bien que primordial, stocker ces informations est cependant sans valeur si l'utilisateur n'a pas à sa disposition des outils lui permettant d'en tirer parti et de transformer ces données en connaissances. Les outils de Data Mining adressent ce problème et ont pour objet de permettre à l'utilisateur d'explorer ses données et d'en extraire de la connaissance. Le terme de Data Mining, souvent galvaudé, désigne des outils permettant à un utilisateur « métier » d'extraire de la connaissance de ses données. Là où les outils d'aide à la décision classiques, comme les outils d'analyse multidimensionnelle ou les requêteurs SQL, répondent aux demandes de l'utilisateur et lui présentent les informations qu'il attend, les outils de Data Mining vont explorer les données et remonter de l'information non prévisible à l'utilisateur. Infrastructures Deux niveaux d’infrastructure sont à considérer dans un Data Warehouse : l’infrastructure technique et physique, c’est-à-dire l’ensemble des composants matériels et logiciels et l’infrastructure opérationnelle d’administration, à savoir l’ensemble des procédures et des services pour administrer les données, gérer les utilisateurs et exploiter le système. L’infrastructure technique et physique est composée des produits mettant en œuvre les technologies choisies intégrées dans un ensemble cohérent et homogène. Ces choix techniques portent sur les composants matériels et logiciels associés aux composants fonctionnels que sont l’alimentation, le stockage et l’accès. L’infrastructure opérationnelle d’administration est composée de l’ensemble des processus permettant à partir des données de production de créer et de gérer le système décisionnel. Les grandes fonctions de cette infrastructure concernent l’administration des données, la gestion des utilisateurs au sens support et administration et l’exploitation du système décisionnel. 5.2.3. Datamart Description Un datamart n'est pas un entrepôt de données mais un centre commercial. Il est un sous-ensemble de l’entrepôt de données de l'entreprise. L’objectif majeur ne vise pas seulement à optimiser la logistique de stockage, mais à présenter les produits sous une forme immédiatement accessible au client, le décisionnaire en l’occurrence. Il faut transformer les données accumulées en informations utiles. Chaque datamart se présente comme une boutique spécialisée au service de l'un des métiers de l'entreprise. Il y aura autant de datamarts que de métiers. Mais, d'un datamart à l'autre, la redondance est inévitable. Le décideur devra trouver dans le datamart, non seulement les données indispensables à sa décision, mais aussi la collection des outils d'exploration et d'action propres à son métier, tous étant adaptés le plus finement possible au métier couvert par la datamart. page 170 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique 5.3. INTERNET 5.3.1. Réseau Internet Définition Internet est un réseau de réseaux interconnectés sur toute la planète qui utilisent le même protocole pour communiquer. A la différence du réseau téléphonique, qui techniquement n’empêche pas de communiquer avec les quatre coins du monde, la communication Internet est gratuite. Lorsqu’on accède Internet, le prix est celui de la communication entre son domicile et le fournisseur Internet, mais pas de supplément de communication même si la communication est avec le Japon ou la Suisse. Internet offre même la communication avec des gens regroupés autour de centres d'intérêt dans des forums ou des canaux. Historique C'est par l'ARPA (U.S Defense Department's Advanced Research Projects Agency) que tout a commencé dans les années 1960 sur le réseau téléphonique avec la technologie des commutations de paquet agrémentée d'une dose d'automatisation (pour que les paquets d'informations trouvent leur chemin pour aller d'un ordinateur à un autre... en passant par un réseau d'autres ordinateurs). Le but de l'opération était qu’en cas d'attaque nucléaire, de trouver un système de réseau d'information qui soit capable de s'auto-configurer si un des maillons venait à défaillir. La première chose géniale de ce réseau était la volonté avouée de ne pas avoir de structure centralisée de gestion du réseau mais de laisser l'autonomie de chacun des nœuds. Le système fut nommé ARPANET (c'est-à-dire le réseau de l'ARPA). Le réseau initial ne disposait que du courrier électronique. Mis dans le domaine public, il fut repris par les universitaires qui y virent une occasion de faire des conférences au moyen du courrier électronique. Puis, dans les années 1970, l'ARPA continua ses recherches dans l'étude des protocoles de transfert de données entre des réseaux d'ordinateurs, réseaux qui pouvaient être de natures différentes. Le nom d'Internet (qui élargissait l'ARPANET à l'Inter networking) fut alors adopté et développé entre les différentes universités américaines. Dans les années 1980, le réseau Internet a commencé son expansion, non plus au travers de l'armée mais au travers des universités mondiales, des laboratoires de recherche, des grosses entreprises. Un certain nombre d'entreprises de moyenne taille ou des particuliers passionnés ont décidé de s'unir pour créer des services privés, de là sont nés les fournisseurs privés de connexions Internet. En 1983, création de la NSF et création du réseau NSFnet, destiné au monde de la recherche. Sa structure est hiérarchique, c'est un réseau national fédérant des réseaux régionaux, gérant euxmêmes des réseaux de campus. Les frais de connexion étaient à la charge de chacun. Il eut un gros succès, Arpanet fut abandonné. Des micro-ordinateurs individuels se connectèrent à leur tour, créant une vaste toile d'araignée, et ce furent les débuts d'Internet. En 1987, montée en puissance avec d'autres partenaires entre autres IBM. Les années 1990 ont vu le Net continuer à grossir à une vitesse exponentielle, de 10 à 20 % par mois sous l'impulsion du Web. En 45 ans Internet est devenu le plus grand réseau mondial d'équipements informatiques hétérogènes. 2005 Toute reproduction même partielle interdite IGPDE page 171 Architecture applicative physique Adressage et organisation On trouve trois types d'adresse pour relier un service Internet ou une personne : ♦ son adresse Internet FQDN ; ♦ son adresse IP ; ♦ son adresse URL. Les trois méthodes sont équivalentes, la troisième est la plus en vogue aujourd'hui. Adresse Fully Qualified Domain Name Quand on recherche un ami Dupont dans l'annuaire, on regarde d'abord la ville où il habite, puis s'il y a deux Dupont, on départage les Dupont par leur prénom. Dupont est donc identifié par son prénom, son nom et sa ville. Sur Internet c'est la même chose, Dupont est connu sous l'adresse : [email protected] Si on ne recherche pas Dupont mais le nom d'une société, on n'a que le nom de la société et sa ville à rechercher, sachant que dans la société en question Dupont travaille peut-être. Sur Internet le nom d'un ordinateur centralisant plusieurs personnes est organisation.domaine. Les domaines sont regroupés en grandes classes : ♦ com désigne les entreprises commerciales, ♦ edu désigne l'éducation ; ♦ gov désigne les organismes gouvernementaux ; ♦ mil désigne les organisations militaires ; ♦ net désigne les organismes fournisseurs d'Internet ; ♦ org désigne les autres organismes non référencés. Ils sont aussi regroupés en pays : ♦ au Australie ; ♦ ca Canada ; ♦ fr France; ♦ uk pour United Kingdom. En jargon Internet, les noms sous la forme [email protected] sont dits FQDN (Fully Qualified Domain Name). Adresse IP Il existe un équivalent des noms précédemment définis, c'est un numéro de 32 bits, que l'on écrit par quatre nombres séparés par trois points. Par exemple, 192.203.245.63 est une adresse TCP/IP donnée sous une forme plus technique mais moins mnémotechnique que la précédente. Ce sont ces adresses que connaissent les ordinateurs qui communiquent entre eux (cf. Réseau-TCP/IP). Adresse FQDN et numéro IP L’utilisateur peut donc utiliser les adresses FQDN ou les numéros IP indifféremment. Par contre les ordinateurs, entre eux, ne connaissent que les numéros IP. Concrètement lorsqu’une adresse FQDN est attribuée à un ordinateur, celui-ci interroge un serveur, qu'il contacte automatiquement, pour la page 172 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique transformer en numéro IP. Chaque domaine est servi par un ordinateur que l'on appelle serveur de noms ou DNS-Domain Naming Server (cf. infra) qui est chargé de faire cette transformation d'adresse en numéro IP. Adresse URL a) Description Les URL (Uniform Resource Locators) sont les noms donnés aux hypertextes. Un URL peut être un serveur FTP, un fichier sur votre disque, une image, une adresse courrier, un serveur de News, un serveur telnet et bien sûr un serveur HTTP, c'est-à-dire un serveur de Web. Un exemple d'URL est http://www.service-public.fr et un autre est ftp://inria.ftp.fr En général il n’est pas nécessaire de connaître précisément les adresses de service puisque l’utilisateur clique sur un texte de couleur y conduisant. Ainsi le Web numéro 1 conduit au Web numéro 2 qui conduit au Web numéro 3 et ainsi de suite. Pour aller un peu plus vite, et atteindre directement une page HTML sans progresser de proche en proche, cela est possible en donnant l'adresse URL de la cible. L'avantage de ce type d'adresse est qu'il englobe beaucoup plus d'informations que l'adresse FQDN, puisqu'il comprend: ♦ l'adresse FQDN ; ♦ le type de service ; ♦ l'emplacement sur le serveur ; ♦ le nom du fichier. b) Types d'URL On trouve plusieurs types d'URL, chacun représentant un service donné. Il est important de garder présent à l'esprit que l'architecture WWW permet de couvrir l'ensemble des services cités. Une URL est de la forme : service://<user>:<password>@<host>:<port>/<url-path> FILE file:///repertoire/fichier.txt Ce type d'URL permet d'accéder à un fichier ici fichier.txt, présent sur le disque local. HTTP http://serveur:port/repertoire/fichier.html Ce type d'URL permet d'accéder à un serveur Web, généralement présent sur une autre machine. Le plus souvent ni le port, ni les noms de répertoires, ni le nom de fichier ne sont mentionnés. Ils ont des valeurs par défaut. FTP ftp://serveur/repertoire/fichier Ce type d'URL permet d'accéder à un serveur FTP et de visualiser l'ensemble des fichiers d'un répertoire si aucun fichier n'est spécifié ou de rapatrier le fichier sur votre disque local si un nom de 2005 Toute reproduction même partielle interdite IGPDE page 173 Architecture applicative physique fichier est donné. Un service FTP vous permet d'écrire ou de lire des fichiers à distance sur une autre machine du réseau. MAILTO mailto:[email protected] Ce type d'URL permet d'écrire un courrier électronique à l'utilisateur dont l'adresse figure dans l'URL. TELNET telnet://Nom:Password @serveur:port Ce type d'URL permet d'ouvrir une session telnet. Une session telnet est une fenêtre représentant la console d'une machine distante présente sur Internet. Organisation Ces domaines, ainsi que les adresses IP sont gérés de façon distribuée. En France il s'agit du NICFrance situé dans les locaux de l’INRIA. Une des particularités d'Internet est que personne ne le dirige, c'est une communauté avant d'être une organisation. Son fonctionnement est très peu centralisé. Ce sont des groupes de travail, fédérés uniquement au sein d'Internet Society (association de bénévoles). L'Internet Society s'appuie sur l’IAB (Internet Architecture Board) pour superviser l'activité de ces groupes, ainsi que sur l’IETF (Internet Engineering Task Force) qui produisent des documents sur leurs travaux, qui sont d'abord des brouillons (drafts) et qui une fois acceptés passent à l'état de RFC (Request For Comment), qui servent à la spécification des protocoles internet. Ces documents sont accessibles gratuitement sur le réseau. Connexions physiques Modes de connexion Les ordinateurs sont connectés entre eux par les moyens suivants : ♦ les liaisons téléphoniques qui vont jusqu'à 56000 bits par seconde. Avec de telles liaisons, on peut transporter un fichier de 1 Mo en 4 à 5 minutes théoriques, c'est-à-dire en fait en 8 à 10 minutes. Ce qui veut dire que pour transférer un CD audio (640 Mo) il faudra 4 jours ; ♦ les liaisons numériques RNIS qui utilisent deux canaux à 64 Kb/seconde chacun ; ♦ les liaisons ADSL à plusieurs Méga Bits par seconde ; ♦ les liaisons spécialisées. Une ligne à 64 kb/s permet de transférer le même fichier de 1Mo en 125 secondes théoriques, c'est-à-dire 3 minutes en pratique. Cela revient à transférer un CD audio (640 Mo) en 5 heures. Sur les lignes à 2 Mb, c'est seulement 41 minutes qui seront nécessaires ; ♦ les liaisons sans fil (WIFI par exemple). page 174 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique Concepts Hôtes Définition : un hôte (host) est un ordinateur appelable sur Internet. En fait ils peuvent correspondre aux ordinateurs suivants : ♦ les ordinateurs individuels raccordés via une ligne spécialisée comptent pour un ; ces ordinateurs sont connectés en permanence sur Internet ; ♦ les serveurs Web comptent aussi pour un ; ♦ les réseaux d'entreprise dans lesquels, pour des raisons de sécurité, seul un ordinateur « parefeu » est visible de l'extérieur comptent pour un, même s'il y a dix mille terminaux derrière ; ♦ les autres réseaux d'entreprise qui permettent de s'adresser à chaque ordinateur raccordé : il faut compter autant de hosts que d'ordinateurs sur le réseau ; ♦ les fournisseurs d'accès Internet qui attribuent une adresse Internet provisoire à chaque abonné qui se connecte via le réseau. Le nombre d’hôtes n'a donc aucun sens, si ce n'est qu'il s'agit (avec le nombre de domaines, voir infra) de la seule donnée suivie de manière constante depuis des années. Elle rend donc bien compte de la dynamique d'Internet. Domaines Définition : un domaine est la traduction en un nom d'une adresse Internet, laquelle se libelle en chiffres, ce qui la rend peu mnémotechnique. Une entité se fait attribuer un nom de domaine lorsqu'elle souhaite que l'on puisse s'adresser à elle depuis Internet, soit en expédiant des e-mail aux utilisateurs de son réseau, soit en accédant à ses serveurs. De nombreux services Web sont accessibles à une adresse (URL) de type domaine/répertoire/page, ce qui signifie que derrière un domaine, il peut y avoir de un à toute une multitude de services. Services sur Internet Services de dialogue. a) Mail Le Mail ou messagerie électronique permet d’échanger des messages sur l’ensemble de la planète. Elle permet de joindre quelqu’un dans une boîte aux lettre électroniques (BAL) en s’affranchissant du décalage horaire et des interruptions téléphoniques. C’est un grand classique du réseau et un des moteurs de son succès (exemple de programme EUDORA). b) Forums DESCRIPTION Les News sont des forums fédérés par thème, où, pendant une durée de temps donnée, tous les courriers envoyés sont conservés. Ainsi sur un forum réservé aux cerfs-volants, les questions des uns sont envoyées par mail et quelques heures plus tard d'autres peuvent y répondre. Les News sont de formidables réservoirs d'informations vivantes sur un sujet. Alors que les courriers électroniques entre individus ou au travers de groupes de diffusion sont stockés dans les boîtes aux lettres de chacun des correspondants, les News ne sont pas envoyées à tous les utilisateurs. Elles sont consultées par ceux qui sont intéressés par leur sujet. 2005 Toute reproduction même partielle interdite IGPDE page 175 Architecture applicative physique Chaque forum est appelé en anglais newsgroup, chaque article d'un newsgroup est appelé une News. Les termes français les plus proches sont forum et article. Certains groupes sont dits modérés, lorsque les articles qui sont envoyés sont contrôlés par un ou plusieurs responsables (appelés modérateurs) qui pourront accepter ou refuser la publication de l'article. NNTP Le protocole NNTP (Network News Transfer Protocol) permet de gérer des discussions de groupe. NNTP permet d'envoyer des articles dans un forum donné, de répondre à l'auteur d'un article, d'organiser une discussion par thème et de retrouver le fil d'une discussion. Il définit un jeu de commandes grâce auxquelles le client et le serveur communiquent entre eux. Il définit aussi le contenu et la signification des entêtes de messages. c) IRC IRC (Internet Relay Chat) est un concept assez récent sur Internet, puisqu'il date de 1998. Il s'agit d'un protocole qui permet à des utilisateurs de communiquer en direct. A la différence de talk qui permet de communiquer à deux, IRC permet de discuter à plusieurs dans des forums (canal) ou à deux (en privé). On retrouve autant de canaux que de thèmes, un peu comme dans les News, mais à la différence des News, chacun peut créer un canal qui sera détruit automatiquement dès qu'il sera vide. Il existe beaucoup de logiciels IRC fonctionnant sur PC, Macintosh et UNIX. Certains sont gratuits, d'autres payants. Les logiciels les plus performants permettent de parler avec les correspondants ou de les voir (il faut équiper l’ordinateur d'un micro, de haut-parleurs, et éventuellement d'une caméra). d) Vidéoconférence et téléconférence Internet a d'abord été mis en œuvre pour permettre les échanges de texte, puisque le premier protocole développé fut le courrier électronique. Les techniques actuelles permettent d'utiliser le son, l'image et la vidéo sur un ordinateur de type domestique. De même les Web et les logiciels sur Internet sont capables d'interpréter des séquences sonores ou animées. e) Fax Internet permet d'envoyer un Fax à l'autre bout du monde, par des serveurs. Il est possible d'utiliser les Fax non reliés à Internet, par le biais de serveurs qui sont sur Internet et qui enverront pour l’utilisateur, le fax localement. f) Téléphone portable Il est possible d’expédier un message sur un téléphone portable. Il suffit de renseigner le numéro du portable et d'inscrire votre message. Un accusé de réception par mail confirmera la réception du message par le correspondant. Il est également possible d'envoyer un message par simple courrier. Services de diffusion et d’accès à l’information. a) WWW WWW (World Wide Web, ou toile d'araignée mondiale). Il s'agit d'un service d'informations réparties, basé sur des documents en format hypertexte, il contient des liens vers d'autres documents qui sont au format HTML (hypertext markup language). Les documents liés à un autre page 176 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique document HTML peuvent être d'autres documents HTML, ou n'importe quel autre type de fichier (son, image, texte, vidéo), ce peut être également un accès à une base de données, ou à un programme quelconque. On parle, pour tous ces types de fichiers, de ressources sur l'Internet. Ces ressources peuvent être sur le même serveur ou sur un autre serveur WWW ou sur un autre type de serveur: FTP, Gopher. b) FTP FTP (File Transfer Protocol) est le premier outil qui a été mis à la disposition des utilisateurs pour échanger des fichiers sur Internet ou TCP/IP. En utilisant FTP, l’utilisateur est client d'un modèle client/serveur et il s’adresse à un serveur de fichier par FTP. ♦ donner l'adresse du serveur sous la forme ftp.nom.domaine si un logiciel FTP est utilisé ; ♦ donner l'URL sous la forme ftp://ftp.nom.domaine si un lecteur de Web est utilisé. c) Telnet Telnet est le protocole permettant de se connecter sur une machine distante en tant qu'utilisateur. Telnet suppose que la machine sur laquelle l’utilisateur se connecte soit un serveur. La machine depuis laquelle l’utilisateur se connecte est un client Telnet. Souvent c'est par le Web que l’on accède à un numéro Telnet en cliquant sur un lien (URL) telnet ou en donnant l'adresse URL dans le lecteur de Web. d) RSS Rich Site Summary (RSS ou Sommaire de site enrichi) est un format XML qui décrit le contenu, par exemple, d’un communiqué de presse ou d’une dépêche. Il permet de placer des messages brefs sur votre site et de les diffuser. A tous ceux qui souhaitent diffuser rapidement des communiqués de presse et des dépêches à grande échelle, comme par exemple les porte-parole et les responsables de la communication. RSS n’est pas seulement intéressant pour les individus mais permet aussi à des sites web de publier du contenu supplémentaire d’autres sites sur le site propre. Au moyen d’un lecteur RSS ou « agrégateur de nouvelles », un programme simple et gratuit, vous pouvez recevoir les titres et les éventuels résumés de vos sites ou auteurs favoris. Vous pouvez également établir vous-même une liste de nouvelles sur des sujets qui vous intéressent. Par exemple, tous les communiqués de presse du Conseil des Ministres, les communiqués du Premier Ministre, les communiqués de presse sur « Commerce et industrie », etc. De cette manière, vous êtes informé des dernières évolutions dans les domaines qui vous intéressent. Le lecteur lit les nouvelles à intervalles réguliers (à déterminer soi-même). Vous cliquez sur le titre (ou un lien dans le document) et vous êtes directement renvoyé à l’information sur le site concerné. e) Jabber Jabber est un protocole de messagerie instantanée ouvert, standard et basé sur le langage standard XML. Des logiciels basés sur Jabber sont déployés sur des milliers de serveurs sur Internet et sont utilisés par des millions d'utilisateurs à travers le monde. Le protocole lui-même est maintenu par la Jabber Software Foundation et est standardisé par l'IETF sous le nom XMPP. 2005 Toute reproduction même partielle interdite IGPDE page 177 Architecture applicative physique À la différence des autres systèmes de messagerie instantanée populaires, Jabber est utilisé dans les systèmes d'information d'entreprises et administrations dans le cadre d'échange de données entre applications (EAI, ETL). Le réseau des utilisateurs de Jabber est décentralisé. Il fonctionne de manière similaire à celle du courrier électronique, c'est-à-dire qu'un utilisateur est identifié par un nom d'utilisateur et un nom de serveur, les deux champs étant séparés par un arobas. Cet identificateur est appelé Jabber ID. Les messages instantanés sont transférés d'un utilisateur à l'autre par l'entremise de leur serveur respectif. Par exemple, si un utilisateur [email protected] souhaite communiquer avec [email protected], il commence par envoyer son message à son serveur (jabber.org). Ensuite, le serveur de Bob contactera le serveur de Gilles (jabber.cz) et lui transférera le message. Enfin, le serveur jabber.cz pourra contacter Gilles, s'il est en ligne (sinon le message sera gardé en attente), et lui communiquer le message. Évidemment, toutes ces étapes se font de manière transparente et instantanée à l'utilisateur, comme pour les courriers électroniques. Une des particularités de ce protocole est le fait qu'il permette l'utilisation de transports (également appelés agents ou passerelles) vers d'autres systèmes de messagerie instantanée. Les utilisateurs peuvent s'enregistrer à ces transports en fournissant leurs informations. Une fois cette opération faite, l'utilisateur peut ajouter des contacts utilisant un autre réseau comme il le ferait pour un contact utilisant Jabber. À l'heure actuelle, les protocoles les plus importants sont supportés, comme ICQ, MSN Messenger, Yahoo! Messenger et AOL Instant Messenger. f) Wiki Développés et adoptés à l'origine par des communautés de développeurs de logiciels, surfant sur le mouvement "open source", les Wikis sont des sites Web dynamiques, sans architecture a priori, dont tout visiteur peut modifier les pages à volonté. Créé en 1995 par Ward Cunningham, le Wiki tire son nom du mot hawaïen "WikiWiki", qui signifie « vite ». Modèle coopératif de rédaction de documents, le Wiki est aujourd'hui utilisé par des communautés protéiformes pour collaborer sur des projets collectifs, encourager les contributions et accélérer la vitesse de circulation de l'information. Même si le concept est encore relativement « underground », l'usage des Wikis se développe à la faveur du succès des weblogs. Dans les faits, le Wiki est au carrefour de plusieurs applications Web. Un Wiki permet de mettre à jour et de créer des pages Web qui peuvent contenir toute forme d'information, tout comme un weblog. Mais, à la différence de ce dernier, qui exprime en général la voix d'un individu (carnet, journal…), le Wiki matérialise la voix d'un groupe, partageant une philosophie ou des intérêts communs. Contrairement à un forum, qui est une suite de conversations ayant un début et une fin, administré par un modérateur, le Wiki est un projet évolutif dans son contenu et dans sa forme, dont toute la communauté est responsable. Enfin, par rapport au newsgroup, qui réunit aussi des individus autour d'un thème, le Wiki offre plus de fonctionnalités et n'est pas visuellement une suite de contributions figées. g) Weblogs Terme à double sens : site personnel fournissant sur de simples pages des liens que l'auteur trouve intéressants en les accompagnant de commentaires ou de réflexions. Ce type de Weblog (prononcez « oui-blog ») a été créé en décembre 1997 par Jorn Barger. page 178 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique Sur ces « journaux de bord en ligne », apparus à la fin des années 90, les auteurs (« les bloggers ») se sentent la fibre journalistique. Chacun y allant de sa chronique, de son analyse ou de son point de vue. On trouve des weblogs sur tous les thèmes : religion, technologie, recherche scientifique, agroalimentaire, cinéma, politique ou encore - Internet oblige - érotisme et pornographie. Nés sous le signe du bricolage, en marge de l'Internet, les weblogs ont profité de ce brusque regain d'intérêt pour se professionnaliser sur le plan technique. Ce qui n'était en soi qu'une variante de la page personnelle au format HTML simple, est rapidement devenue un outil d'édition complet. Aujourd'hui, les weblogs s'appuient sur des plates-formes d'édition clés en main. Toutes ces platesformes se basent sur du XML, le méta-langage apparu à la fin des années 90. Ces solutions ont l'énorme avantage d'archiver des données très simplement, autorisant ainsi une très grande flexibilité et facilité d'édition. Conséquence directe : les webloggeurs peuvent agréger leurs contributions en ligne et alimenter leurs rubriques continuellement sans passer par un webmaster. h) P2P et Bittorent Pour rappel (cf.- § modèle d’égal à égal), le Peer To Peer ou P2P est une relation d'échanges réciproques qui unit directement deux acteurs de même statut (des pairs, donc). A l'origine désigne une technologie d'échange de fichiers entre internautes, permettant à deux ordinateurs reliés à Internet de communiquer directement l'un avec l'autre sans passer par un serveur central. Au-delà, désigne le modèle économique qui y est associé qui permet une mise en commun à une vaste échelle de données ou de capacités, débouchant sur une réduction spectaculaire des coûts. Napster a été le modèle le plus spectaculaire de la réussite technologique du P2P... et de son échec économique. BitTorrent est un réseau Peer-to-Peer récent créé par Bram Cohen, dont le principal atout est la rapidité. Alors que vos téléchargements peuvent prendre des jours sur d'autres réseaux P2P, avec BitTorrent ça n'est souvent qu'une question de quelques heures. En effet, BitTorrent n'est pas réellement un « réseau P2P » dans le sens d'eMule ou de Kazaa. La conséquence la plus tangible est qu'il ne dispose d'aucun outil intégré de recherche. Si certains pensent que c'est un défaut, cela s'avère au contraire être une qualité... dans la philosophie de BitTorrent. Le point de départ de tout téléchargement est en effet un fichier 'torrent' (appelé de la sorte car son extension est .torrent) disponible : sur un site web, dans un canal IRC, par e-mail ... Ce fichier torrent est très petit (quelques kilo-octets) et contient toutes les informations dont le client a besoin pour télécharger les données réelles. BitTorrent est un partage très efficace, à court terme. Il est en effet rare qu'un lien BitTorrent soit utilisable plus d'un mois, et soit réellement performant plus de quelques jours. Sur BitTorrent, on ne cherche pas quelque chose de particulier, mais le client choisit parmi des téléchargements rendus explicitement disponibles via des liens. Tout n'est pas présent sur le réseau (bien au contraire), mais la plupart des fichiers récents sont distribués sur BitTorrent, souvent avant les autres réseaux P2P. Concrètement et techniquement, un fichier n’est partagé que pendant le téléchargement, ou tant que le client ne ferme pas la fenêtre de téléchargement (le client officiel fonctionnant avec une fenêtre distincte par fichier téléchargé). Ainsi les personnes chez qui le client est connecté fait comme eux, ils ne partagent que le fichier qu'ils récupèrent (ou qu'ils ont fini de télécharger, mais sans fermer la fenêtre). Leur bande passante est réservée pour ce fichier, et la vôtre aussi. 2005 Toute reproduction même partielle interdite IGPDE page 179 Architecture applicative physique 5.3.2. Web Introduction Le mot Web désigne en anglais la toile d'araignée et World Wide Web désigne donc la toile d'araignée couvrant le monde entier. L'outil est graphique, il est puissant, englobe les News, FTP, telnet et d'autres. Il est très facile à utiliser, il ne coûte pas cher. Par le Web il est possible de visiter une exposition, lire le journal, apprendre l'anglais, commander une pizza. D'un point de vue technique, le WWW relie des serveurs HTTP qui envoient des pages HTML à des postes dotés d'un navigateur. Le protocole de communication entre les navigateurs et les serveurs est basé sur le principe des hypertextes (Hyper Text Transfert Protocol). Le langage permettant de décrire les pages Web est le HTML (Hyper Text Markup Langage). Ce langage à balise permet de doter certains mots, ou images d'une propriété d'hyperlien ; qui est constitué d'une adresse accessible en cliquant dessus. Navigateur Les logiciels de lecture de Web sont appelés des fureteurs, des navigateurs, des butineurs ou des navigateurs. Le terme préféré est aujourd'hui navigateur. Les navigateurs reconnaissent les langages JAVA, VRML. Les logiciels lecteurs de Web permettent de charger des fichiers par FTP, de lire des News, d'envoyer une session telnet et ont tendance à remplacer les multiples programmes utilisés hier. Les produits Netscape Communicator et Microsoft Internet Explorer se partagent le marché des navigateurs. Portail d'entreprise Principe Des outils ont été créés afin d'unifier les serveurs Web à l'intérieur de l'entreprise pour offrir une vision unique de celle-ci sur Internet. Ils portent le nom de portail, car ils désignent le point unique d'entrée permettant d'accéder aux différentes informations et aux différents services offerts par la société. Un portail est un point d'entrée unique sur lequel tous les services communs sont regroupés, à savoir : l'identification de l'utilisateur, l'étude de son comportement, le mot de passe unique, les droits d'accès, l'enregistrement aux services offerts, la personnalisation et l'administration du site. Un portail offre l'accès aux pages d'information mais aussi à des applications. Dans ce dernier cas il peut s'agir d'anciennes applications qui ont été « enrobées » afin d'offrir une interface HTML. Puisqu'un portail permet de concentrer les informations venant de différentes sources (pages HTML statiques, pages dynamiques et applications) ces informations peuvent être intégrées dans une même page HTML afin de l'enrichir. Ceci est très souvent le cas pour les pages d'accueil des grandes sociétés dans lesquelles apparaît le cours de bourse de leur action, des nouvelles très récentes (ex : promotion de nouveaux produits) et des informations plus pérennes (ex : description de la société et de ses produits). page 180 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique Enjeux Les intranets statiques peuvent être redéployés à travers un unique portail d'entreprise, personnalisable et déclinable suivant les différentes divisions, métiers, groupes, projets et individus de l'entreprise. Le portail doit pour cela autoriser des contenus dynamiques et un modèle de sécurité perfectionné à l'échelle de l'entreprise entière, avec des droits et des vues différenciés sur les documents et les données. C'est effectivement ce qui se passe grâce aux normes de méta-annuaires LDAP qu'ils incluent. Celles-ci règlent enfin avec précision les droits d'accès aux données et aux documents de chaque groupe ou chaque personne, y compris pour des collaborateurs nomades ou des partenaires externes. Recherche sur Internet Des logiciels que l'on appelle des robots informatiques (crawler, worm, spiders, wanderer, etc.) parcourent les sites serveurs Internet et cumulent des masses phénoménales d'informations dans des banques de données interrogeables grâce à des logiciels que l'on appelle des moteurs de recherche. Bien qu'Internet ne soit pas un tout unifié, on en constitue des ensembles globaux mais plus ou moins disparates, dans lesquels on peut effectuer des recherches par interrogation grâce à des formulaires. Ces puissants outils recherchent donc la présence de vos critères de recherche dans l'ensemble des index constitués. On compte certainement plus d'une vingtaine d'outils de recherche généraux sur Internet. Une même recherche lancée sur ces divers outils ne donnera pas les mêmes résultats. D'un jour à l'autre aussi les résultats seront différents. Ces outils peuvent être regroupés en deux grandes catégories, les annuaires et les moteurs de recherche. Leur utilisation dépend du type de recherche que l’on veut effectuer : recherche-t-on un serveur, un document, une information sur un thème particulier ? L’utilisation des annuaires, qui regroupent les informations par thèmes, est généralement plus aisée pour un utilisateur novice que celle d’un moteur de recherche qui nécessite l’utilisation d’une syntaxe particulière. Il ne s’agit pas d’une règle absolue et chaque internaute utilise généralement un ou deux outils avec lesquels il est familiarisé. Annuaires Il s'agit de listes (ou annuaires, répertoires, catalogues) généralistes, classées par grandes catégories organisées hiérarchiquement. Elles sont construites à la main par des personnes filtrant les sites en fonction de leur qualité, pertinence et fiabilité. Le travail d'évaluation est très variable d'une liste à l'autre. Moteurs de recherche Ces outils travaillent sur des banques immenses constituées automatiquement par des robots informatiques visitant les sites serveurs sur le Web. Or, il faut savoir que les sites serveurs peuvent mettre sur leurs sites des filtres qui font en sorte que les robots ne sont pas admis dans tous les répertoires. Ce qui est indexé par chaque outil varie et n’est pas toujours précisé. Les fréquences de mise à jour varient selon les outils. En fait, pour certains outils, elles varient même selon les sites. 2005 Toute reproduction même partielle interdite IGPDE page 181 Architecture applicative physique C'est pourquoi il est fréquent de trouver des adresses URL périmées dans les résultats de recherches. Serveur HTTP Le serveur est le pourvoyeur de pages HTML à plusieurs clients, il est capable de prendre en compte les appels à des programmes. Exemples de serveur a) Apache Apache ne doit pas son nom à la communauté amérindienne mais initialement à la transposition phonétique de "a patch " qui correspond à un ajout logiciel fait au départ sur le serveur du NCSA. Aujourd'hui Apache est le serveur HTTP le plus utilisé dans le monde Internet et ce succès est dû d'une part à sa robustesse, et d'autre part à l’engouement actuel des logiciels gratuits sous l'impulsion d'Internet. b) Microsoft Internet Information Server Microsoft propose un serveur tout à fait rapide et robuste dans les environnements Windows 2000 et 2003. Les points forts du serveur de Microsoft résident dans son ergonomie, puisque le serveur est administrable par un assistant graphique et également par le Web. L'originalité du serveur IIS réside également dans son langage de scripting ASP (Active Server Page). Par contre, ce langage propriétaire interdit tout portage sur un serveur autre que celui de la marque. Cookies Le serveur HTTP envoie les cookies dans l'entête HTTP au client. Ces cookies contiennent les différents descriptifs accompagnant les URL visitées, ces cookies sont conservés sur votre disque dur en vue d'être exploités lors d'une prochaine connexion. Lorsque le cookie est envoyé par le serveur, le navigateur consulte sa liste des cookies et compare la liste des domaines et celle du domaine de l'URL consulté. La correspondance est faite uniquement sur la fin de l'URL, c'est-àdire en comprenant l'extension de domaine. Proxy cache Un serveur cache est destiné à conserver localement et temporairement les pages Web et FTP consultées depuis le réseau local et provenant d'un serveur situé hors du réseau de l’administration. De manière schématique, lorsque le cache reçoit une requête de la part d'un client (utilisateur du Web), il va tout d'abord vérifier si le document demandé est présent sur son disque local. Si cela n'est pas le cas, il va alors chercher l'objet sur le serveur « source » (rôle client) et le transmet au demandeur initial tout en le copiant sur son disque local afin de satisfaire éventuellement une prochaine requête pour ce document. Par contre, si l'objet figure déjà dans le cache, il renvoie alors au client le document (rôle serveur) comme l'aurait fait le serveur original épargnant ainsi la bande passante du trafic réseau. Modèle push Le Web fonctionne sur le principe du pull : l'utilisateur recherche l'information quand il en a besoin, puis l'utilise quand il l'a trouvée. page 182 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique Le modèle push, également appelé Webcasting, fonctionne sur un principe d'abonnement. L'abonnement crée un lien dans la durée entre un fournisseur d'information et son consommateur : une fois abonné, l'utilisateur recevra sur son poste de travail l'information issue du fournisseur dès que celui-ci souhaite la diffuser. Le modèle push est donc symétriquement opposé au modèle du Web. Il ressemble en certains points aux listes de diffusion, mais il est anonyme et utilise des technologies sous-jacentes plus sophistiquées, tant sur le plan de la gestion des performances qu'au niveau de la richesse fonctionnelle. 5.3.3. Applications multimédias Les applications regroupent l’ensemble des technologies qui permettent de traiter l’information audio et vidéo. Description Une norme MPEG (Moving Picture Experts Group) spécifie deux points essentiels : la structure du flux et la méthode de décodage pour restituer le signal audiovisuel. La sélection des modes de codage mis en œuvre est laissée à l'utilisateur qui peut donc faire son propre compromis entre performance de l'équipement de compression et complexité (et donc coût) d'implémentation. Le comité MPEG a donné naissance à plusieurs normes. Ils ont ensuite pour vocation d'être normalisés par l'organisation Internationale de Normalisation (ISO) : ♦ Le MPEG-1 est adapté à la vidéo conservée sur les CD Vidéos (1 CD ROM de 600 Mo ou CD Vidéo contient en général 1 heure de vidéo de faible qualité) ; ♦ Le MPEG-2 est adapté à la vidéo conservée sur les DVD (1 Digital Versatil Disk de 4,7 Go contient en général 2 heures et demi de très bonne qualité) et à la diffusion de télévisions numérique ; ♦ Le MPEG-3 dédié à la télévision haute définition a finalement été arrêté car le MPEG-2 faisait plutôt bien l'affaire, si bien que le standard suivant est le MPEG-4. Le format musical MP3 n'est en fait que la partie audio de ces deux standards. ; ♦ Le MPEG-4 par ses possibilités de compresser très efficacement la vidéo est parfois vu comme le « MP3 de la Vidéo » ; ♦ MPEG-7 : MPEG-4 + 3 - décrit des informations audiovisuelles pour faciliter la recherche et le filtrage. Il devient possible de retrouver une prise d'un film à partir d'un croquis ou d'une description verbale, ou une musique simplement en la fredonnant. MPEG 4 Description Le MPEG-4 est une norme permettant de stocker, d'intégrer et de diffuser des objets audiovisuels naturels et synthétiques (créés sur un ordinateur). Cela inclut : la vidéo, l'audio, les graphismes en 2 dimensions, et les mondes virtuels en 3 dimensions. Il est adapté pour diffuser des contenus à la fois sur des réseaux bas et haut débit. Il permet les deux modes d'accès : ♦ Par téléchargement : le fichier MPEG-4 est récupéré entièrement sur le serveur distant et est ensuite utilisé ; ♦ Par « streaming » : le fichier est envoyé progressivement et affiché au fur et à mesure. Il accepte plusieurs formats vidéo. Il intègre cependant un format performant qui permet de faire tenir plus de deux heures de vidéo dans un CD (650 Mo) avec une qualité acceptable de type VHS. 2005 Toute reproduction même partielle interdite IGPDE page 183 Architecture applicative physique Avec le MPEG 4, il devient possible de transférer de la vidéo plein écran à travers le réseau. Un débit effectif de 400 KBits/s est nécessaire pour une qualité "plein écran". Il est possible avec une ligne ADSL moyenne ou à un accès par le câble. CODECs Un Codec (Codeur-décodeur) est un programme qui permet de transformer un flux d'audio ou de vidéo numérique dans un standard plus compressé et de réaliser ensuite l'opération inverse pour relire ensuite les sons et les images. Le premier codec permettant de lire du MPEG-4 est celui de Windows Media Player de Microsoft. Mais si le codage Vidéo est bien du MPEG-4, le codage audio est lui propriétaire et l'ensemble est au format ASF de Microsoft qui permet de « streamer » des programmes vidéo mais avec des protocoles réseaux propriétaires. DivX Un français a développé sur cette base un codec "débridé" qui permet de faire du vrai MPEG-4 sur des fichiers qui ne sont pas forcément des fichiers Microsoft ASF. Il s'agit du Codec DivX. Le MPEG-4 a eu tout de suite un très grand succès car allié à un programme de "craquage" des sécurités du DVD (rippers), il permet d'obtenir une copie d'un film DVD sur un simple CD avec peu de pertes et un coût dérisoire. Mais le codec DivX permet également d'encoder vos propres films. Le Codec DivX vient de s'ouvrir et a été placé sous licence libre avec OPENDIVX. 5.3.4. Intranet et Extranet Un intranet est une version miniature de l’Internet appliqué à l'entreprise, c'est un réseau d'entreprise utilisant les standards de l'Internet. L'intranet offre tous les services de l'Internet: publication de documents sur un serveur Web, organisation de forums (appelés aussi Newsgroups), téléchargement de fichiers au protocole FTP, autres services de messagerie et travail en commun (IRC). Il utilise une interface conviviale et commune pour tous les utilisateurs, quelle que soit la plate-forme sur laquelle ceux-ci travaillent (PC, UNIX, MAC...). Il permet donc une consultation aisée de tous les documents mis à disposition, ainsi que la réalisation d’applications conviviales internes : gestion d'agenda, de répertoires, réponse à des questions intéressant le fonctionnement du service. Un intranet est un moyen simple de faire circuler des informations à l'intérieur d'une entreprise notamment quand celle-ci est géographiquement éclatée. Facile à mettre en œuvre de façon décentralisée, c'est un outil relativement peu structurant par rapport aux produits traditionnels de groupware comme Lotus Notes. De plus, l’intranet a l'avantage de disposer, sous la forme d'un navigateur Web, d'une interface identique quel que soit le poste utilisateur. Mais l'intranet n'est pas ouvert à l'extérieur. C'est un avantage déterminant puisque sont ainsi supprimés tous les problèmes de sécurité, protection de droits et autres précautions qu'il faut prendre impérativement avec l'Internet. Si décider d'ouvrir un site Internet impose un minimum de circonspection et suppose donc une décision réfléchie de la hiérarchie, rien n'empêche au contraire de créer autant de sites intranet qu'il paraît utile, de la même façon par exemple que l'on décide d'acquérir un micro-ordinateur ou un logiciel. Un Extranet est en fait un intranet accessible pour les clients externes de l’entreprise. page 184 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique 5.3.5. Outils collaboratifs Outils de communication de base. Leur rôle est avant tout de faire circuler une information entre deux collègues. Les outils des trois autres familles répondent à un besoin plus particulier, même s'ils incorporent nécessairement des fonctions de communication. On dit que ces outils sont coopératifs : les deux employés qui communiquent avec cet outil n'ont pas toujours le sentiment de travailler dans un même but. On recense : ♦ Le mail ; ♦ Le chat ; ♦ Le tableau blanc ; ♦ La visio-conférence ; ♦ L'Instant Messaging ou messagerie instantanée. Les autres outils de communication de base ont une utilisation marginale comparativement à celle de l'e-mail. Le Chat tendrait à reproduire la principe de la conversation orale à l'écrit : les participants se retrouvent dans une chambre virtuelle, leur nom est affiché sur la droite, et chacun peut intervenir dans le cours de la discussion - dont on peut conserver l'historique. Le Tableau Blanc permet de dessiner et d'écrire sur une page blanche, grâce aux outils que l'on retrouve dans les petits logiciels de dessin. Chaque intervention sur la page blanche est instantanément reproduite sur les écrans des correspondants. Ce moyen de communication peut séduire les employés qui travaillent dans la création : il élargit la palette traditionnelle de l'expression. La Visio-Conférence a fait il y a quelques années son entrée dans l'entreprise. Elle ajoute aux capacités traditionnelles du téléphone - discussion 1 à 1 ou conférence - l'image, saccadée ou non, qui peut être dimensionnée comme un timbre poste ou atteindre une haute définition. Quant à l'Instant Messaging ou messagerie instantanée, il permet de recevoir des messages écrits de courte taille en temps réel, remplaçant avantageusement dans certains cas le téléphone - trop intrusif - et le mail - trop lent. Outils de travail partagé Ils permettent à plusieurs personnes de travailler sur un même document ou sur une même application. (Le traitement de texte Word possède par exemple un outil qui permet d'annoter un texte pour proposer des corrections). Ce sont des outils de collaboration, puisque les différentes personnes qui les utilisent ont le sentiment d'avancer vers un but commun. Leurs utilisateurs sont souvent de grosses entreprises, mais de petites structures - comme les cabinets d'avocats - peuvent aussi y trouver un intérêt. On recense : ♦ Le partage d'applications (exemple : plusieurs personnes travaillent sur le même plan de la future voiture d'un constructeur automobile) ; ♦ L'édition partagée ; ♦ Les forums et outils apparentés. 2005 Toute reproduction même partielle interdite IGPDE page 185 Architecture applicative physique Il peut s'agir de documents ou d'applications simples - un texte sur lequel plusieurs personnes travaillent, par exemple. Ils permettent de proposer des modifications à un tiers de façon non destructive. Le tiers arbitre par la suite en fonction des remarques des uns et des autres. Il peut également s'agir d'applications beaucoup plus complexes, que l'on retrouve essentiellement dans le domaine de la CAO. Au cours des années 90, les constructeurs automobiles se sont rendus compte qu'ils pouvaient considérablement raccourcir les temps de développement de leurs voitures en recourant à l'informatique et aux outils de travail collaboratif. Aujourd'hui, la pratique s'est généralisée dans l'automobile et l'aéronautique. Ces outils permettent de rapatrier les plans d'un projet, de travailler sur une partie des plans, et de mettre à jour dans la base de données commune les parties du plan sur lesquelles on est intervenu et non pas l'intégralité du projet. Les autres collaborateurs en sont instantanément prévenus, et ils disposent d'outils avancés qui leur permettent de faire des remarques sur les modifications effectuées. Certains collaborateurs peuvent bénéficier d'un accès consultatif sur ces plans qui évoluent en permanence. Outils d'accès au savoir - ou de Knowledge Management Si un employé a fait l'effort de créer un document, ou de développer une expertise, il peut faire gagner beaucoup de temps à ses collègues : pourquoi créer plusieurs fois le même document - ou développer plusieurs fois la même expertise - lorsqu'on peut les trouver ailleurs dans l'entreprise ? Il faut donc faire en sorte que tous les employés puissent accéder à ces informations. Les entreprises qui y ont recours sont souvent les grosses PME et les grands comptes. On recense : ♦ Les bibliothèques ; ♦ Les outils de peer to peer ; ♦ Les portails ; ♦ La cartographie des compétences ; ♦ Les annuaires électroniques ; ♦ Les listes de diffusion ; ♦ Les FAQ ; ♦ Les moteurs de recherche. La taille de l'entreprise s'élargit, et dans un même mouvement, les compétences et les informations se dispersent. A l'intérieur d'une petite structure où chacun sait ce que les autres font, il est possible de retrouver un rapport ou une expertise sur un thème précis. Quelques conseils habilement dispensés par un expert permettront alors de gagner un temps précieux. Quant au rapport retrouvé, il sera peut-être réexploité en partie, ou en totalité. Le gain de temps pour l'entreprise est considérable. Mais lorsque cette firme compte plusieurs milliers de salariés, et que les bureaux des divisions sont séparés par des centaines de kilomètres, il devient beaucoup plus difficile de mettre la main sur le bon rapport ou de rentrer en contact avec la personne qui possède la précieuse expertise dont on a besoin. C'est là que les outils de KM (Knowledge Management) interviennent : ils permettent de faciliter l'accès à l'information. Avec des gains de productivité réels - mais difficilement chiffrables - à la clef. L'arsenal de l'accès au savoir se compose de trois armes : les outils actifs de diffusion de l'information, les outils passifs de recherche de l'information, et les outils passifs de recherche des compétences. page 186 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique 5.3.6. Commerce électronique Introduction Le commerce électronique peut être défini comme comprenant trois sortes d’opérations différentes: 1. la prestation de services d'accès à l’Internet, c'est à dire la possibilité d'avoir accès au réseau. 2. la fourniture électronique de services, c'est à dire les opérations au terme desquelles des produits sont livrés au client sous forme de flux de données numérisées. 3. l’utilisation de réseau Internet comme canal de distribution permettant d'acheter électroniquement des marchandises et des services qui sont livrées ultérieurement au consommateur sous forme non électronique. Le paiement électronique n'est pas utilisé par tous les sites de commerce. Toutefois, de plus en plus de solutions sont proposées. Globe Online, la FNAC ou EuroNet Market permettent à tout utilisateur de payer ses achats à distance avec une carte bancaire. Les petites entreprises hésitent encore à instaurer ce mode de paiement. Dans ce cas, c'est à chaque vendeur d'imaginer une solution, qu'il s'agisse de transmettre ses coordonnées bancaires sur le réseau ou de proposer un système de paiement plus classique par fax ou courrier. Ces dernières méthodes ont l'avantage de rassurer les utilisateurs anxieux à l'idée de communiquer leur numéro de carte bleue sur Internet, mais font perdre tout l'intérêt et limitent les échanges internationaux. Le commerce électronique a un double avantage pour toutes les entreprises. Non seulement il permet aux sociétés de distribuer et de mettre en avant des produits locaux, mais il permet également d'accéder au marché européen, voire mondial. L'Internet, au travers de ces centres commerciaux virtuels, reflète les spécificités locales et le dynamisme industriel et commercial de chaque pays. Ainsi, sur les galeries marchandes françaises, on trouvera du vin, du Champagne, des parfums ou des vêtements de haute couture. En fait, un site de commerce électronique se doit non seulement d'être proposé dans la langue locale mais il doit aussi obligatoirement disposer d'une version anglaise pour pouvoir toucher les autres communautés. Commerce "business to client" Le domaine business to client permet aux entreprises de diffuser leurs produits à l’échelle planétaire sans subir de coûts fixes importants. La société peut choisir de développer son propre site s'il bénéficie d'une assez grande réputation auprès du public. Les sociétés les moins connues peuvent s'adresser à des galeries marchandes (cyberdistributeurs), sortes d'hypermarchés sur l'Internet. Parmi, ces cyberdistributeurs, on retrouve les fournisseurs d'accès Internet ainsi que des entreprises spécialisées. Ce mode de commercialisation du catalogue de la société profite alors de la notoriété de la galerie marchande. Ici, la difficulté réside dans l'organisation de la livraison de la commande. Deux solutions s'offrent au cyberdistributeur. La première consiste à router la commande vers le fournisseur après avoir validé la transaction. Dans ce cas, le cyberdistributeur ne maîtrise pas les délais de livraison, ni les problèmes d'import-export. La seconde solution consiste à gérer l'ensemble de la transaction et à stocker les produits livrés. Commerce "business to business" L'autre forme que prend le commerce électronique est déjà éprouvée. Ce domaine du business to business existe déjà depuis des années à travers l'EDI. Ce type d’échanges est un moyen pour une entreprise de tisser des relations privilégiées avec ses clients et ses fournisseurs. Néanmoins, l'offre EDI n'est envisageable que pour des volumes importants de données et l’Internet permet de mettre en place des solutions moins coûteuses. L'un des points cruciaux de ce domaine sera de conserver 2005 Toute reproduction même partielle interdite IGPDE page 187 Architecture applicative physique une relation de connaissance avec son client. Le commerçant devra être capable de proposer telle ou telle nouveauté en fonction des préférences du client. Arrière-boutique Pour un fonctionnement efficace, le système informatique choisi pour réaliser le commerce électronique doit offrir une vraie fonction de back office ou d’arrière boutique qui se répartit en deux axes: une gestion commerciale et des outils marketing. La gestion commerciale permet de maintenir le catalogue (produit+prix) et de gérer ses stocks. Les outils de marketing sont fournis pour analyser le comportement des clients. Paiement électronique Introduction Le concept de paiement électronique peut être défini comme correspondant aux systèmes électroniques de dépôt d'unités de valeur monétaire en possession de consommateur qui les utilise pour effectuer des règlements. Il existe deux formes de monnaie électronique: 1. le porte-monnaie électronique ou PME : il permet d'effectuer des paiements à partir d'une réserve de fonds, préalablement constituée et matérialisée par une carte, 2. la monnaie virtuelle: elle correspond à des logiciels permettant d'effectuer des paiements sur des réseaux ouverts, notamment sur Internet. Le PME introduit la notion de monnaie virtuelle. Par son mode de circulation, la monnaie virtuelle appartient à la famille fiduciaire, celle des pièces et des billets. La monnaie physique se caractérise par son pouvoir d'achat indifférencié (chez n'importe quel commerçant et pour n'importe quel bien). L'anonymat de la monnaie du porte-monnaie électronique rappelle celui des pièces et des billets. Il n'existe pas de trace personnalisée des transactions qu'il permet de réaliser. La banque conserve néanmoins deux points de vérification: le chargement du PME par le porteur et le déchargement de la caisse virtuelle de chaque commerçant. Paiement par carte bleue sur Internet Il est important tout d'abord de noter que déposer son numéro de carte bleue sur Internet n'est pas plus dangereux que de le communiquer par téléphone à marchand de pizza lors d'une commande par téléphone. Dans le cadre d'une vente par correspondance, la loi française protège l'utilisateur en lui offrant des garanties. Elle stipule notamment que toute transaction, effectuée à l'aide d'une carte de crédit, mais sans signature d'un bordereau ou sans délivrance du code (qui seul fait office de signature, et ne doit donc pas être communiquée), peut être remise en cause sous quatre-vingts jours (cent quatrevingts aux Etats Unis) par simple appel téléphonique auprès de la banque. Cette loi s'applique aussi au commerce électronique, qui appartient au registre de la VPC (Vente Par Correspondance). Ainsi, si après une transaction sur le réseau, votre relevé de compte indique des achats litigieux, votre organisme bancaire vous restituera l'argent après enquête. Pour protéger son numéro de carte bleue, la meilleure solution est de recourir au cryptage. Les navigateurs les plus courants, comme Navigator de Netscape ou Explorer Microsoft, permettent d'envoyer une information ainsi protégée. Toutefois en France, le chiffrement est considéré comme page 188 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique une arme de guerre. Sa pratique suppose l'autorisation de Direction Centrale de la Sécurité des Systèmes d'Information qui dépend du Premier Ministre. En pratique, pour les paiements cryptés sur Internet, on utilise souvent le protocole SSL (Secure Socket Layer), développé par la société Netscape et intégré dans tous les navigateurs du même nom. Ce protocole est autorisé en France. Il existe également d'autres solutions de paiement sécurisé qui font intervenir un intermédiaire, nommé tiers de confiance, qui garantit la transaction entre l'acheteur et le vendeur. Ces solutions nécessitent toujours l'existence d'un logiciel sur le micro-ordinateur de l'acheteur. Principe d’une transaction D'une manière plus générale, une transaction sécurisée peut être représentée de la façon suivante : SET Description SET (Secure Electronic Transaction) est le standard américain de paiement sécurisé sur réseau ouvert mis au point par Visa et Mastercard. Sans le protocole SET, la présence d'une autorité de certification garantit la confiance dans la transaction en assurant l'identité des parties en présence via des certificats. 2005 Toute reproduction même partielle interdite IGPDE page 189 Architecture applicative physique Fonctionnement SET sécurise les transactions bancaires sur Internet de la manière suivante: 1. Un tiers délivre au préalable des certificats aux trois acteurs en présence: client, commerçant et une banque passerelle. 2. Le client initialise le paiement et envoie son n° de carte bancaire chiffré et certifié au commerçant. 3. Le n° de carte transite chiffré chez le commerçant qui l’envoi à la banque passerelle pour vérifier l'identité du client et ses fonds. 4. La banque vérifie le certificat du commerçant, celui du client et ses fonds, et autorise, si tout va bien, le paiement. 5. L'ordre d'achat est confirmé au client. 6. Le commerçant demande le paiement à la banque passerelle. 7. La banque passerelle réalise les transferts de fonds entre la banque du client et celle du commerçant. C-SET Dès le début 1999, le Groupement des cartes bancaires, Europay France et le Consortium E-Com proposeront une solution technique unique pour sécuriser les paiements sur Intemet. Jusqu'à présent, les marchands et les banques travaillaient sur des solutions de sécurisation des paiements basées sur des standards différents. Les deux systèmes, présentés d'un côté par le consortium E-Com et de l'autre par le groupement Cyber Card/C-SET, reposent sur le protocole SET (Secure Electronic Transaction). 5.4. EAI 5.4.1. Introduction Les systèmes d'information actuels sont composés d'applications qui ont été développées à des époques différentes, par des équipes de développement différentes, la plupart du temps sans réelle coordination et en utilisant des technologies différentes. Dans la majorité des cas, la création d'une nouvelle application a été réalisée en utilisant la dernière technologie du moment, souvent sans véritablement s'interroger sur la nécessité de mettre en œuvre une telle technologie et en oubliant qu'une technologie « moderne » à un instant devient rapidement obsolète. De plus, ces applications n'ont pas été conçues à l'origine pour communiquer entre elles. Il a donc été nécessaire de créer entre chacune des applications devant communiquer, des liens et interfaces permettant de les faire coopérer. L'introduction de progiciels dans les systèmes d'information n'a fait que renforcer cette problématique, dans la mesure où ils ont été conçus pour répondre à un problème particulier sans se préoccuper de communiquer avec l'existant. Si l'on considère qu'à l'extrême, une application doit communiquer avec toutes les autres applications du système d'information, le nombre d'interfaces à réaliser est le résultat direct de l'application de la formule : i = n(n-1 )/2 où i est le nombre d'interfaces et n le nombre d'applications. page 190 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique Pour connecter 6 applications, il faut créer 15 interfaces, pour en connecter 150, il faut en créer 11.175 ! Par ce biais, on aboutit immanquablement à la création de systèmes « spaghetti », où il est très difficile d'analyser l'impact des modifications éventuelles d'une application ou de mesurer l'ampleur des adaptations à réaliser ou intégrer une nouvelle application. Les responsables informatiques hésitent alors à faire évoluer leur système d'information, dans la mesure où ils ne sont plus capables de maîtriser les conséquences d'une évolution. Le système devient donc résistant au changement et l'on aboutit à ce que l'on peut appeler la fossilisation du système d'information. 5.4.2. Définition La définition suivante paraît le mieux refléter ses différents aspects : l'EAI est un ensemble de méthodes, d'outils et de services qui concourent à faire communiquer des applications hétérogènes dans le cadre de l'entreprise traditionnelle, répartie ou étendue. En d'autres termes, le problème essentiel à résoudre pour réaliser l'intégration d'applications peut se résumer de la façon suivante : comment faire en sorte que des applications hétérogènes, c'est-à-dire conçues à des époques différentes, par des équipes différentes, en utilisant des technologies différentes, puissent communiquer sans qu'elles aient à se connaître ou à connaître leurs contraintes respectives ? 2005 Toute reproduction même partielle interdite IGPDE page 191 Architecture applicative physique L’EAI ne se limite pas aux seules applications de l'entreprise, mais s'applique également aux relations de ces applications avec le monde extérieur : partenaires, clients, fournisseurs. Il faut alors parler d'intégration d'applications d'entreprises ou d'intégration d'applications interenterprises (IAI Inter-enterprise Application Integration ou, pour les applications communiquant au travers d'internet, Internet Application Integration). II paraît aussi nécessaire d'insister sur ce qui n'est pas du domaine de l'EAI, car bien souvent il y a confusion: en aucun cas l'EAI ne traite de la communication à l'intérieur d'une application. Le problème de communication entre les composants d'une application client/serveur ne relève pas du domaine de l'EAI, c'est un problème d'architecture d'application. La manière dont cette application client/serveur va communiquer avec les autres applications du système d'information constitue par contre une véritable problématique d'EAI. Par ailleurs, l'EAI concerne la communication entre des applications hétérogènes. Des applications partageant des référentiels communs, s'appuyant sur une sémantique commune, utilisant des technologies identiques, ne posent pas de problème d'intégration entre elles : ce sont des applications homogènes déjà intégrées. C'est la coexistence de ces applications avec des applications bâties autour de technologies différentes et donc incapables de communiquer naturellement avec elles, qui va relever d'une approche d' EAI. 5.5. ERP Un ERP (Enterprise Resources Planing) ou PGI (Progiciel de Gestion Intégrée) consiste à intégrer les principales fonctions de gestion d'une entreprise en un seul système d'information au sein duquel l'information circulerait de manière automatique mais synchrone ou asynchrone selon le cas, et qui déclenche les traitements dont elle a besoin au moment où c'est nécessaire. L'ERP implique une approche progiciel intégré qui touche tous les volets de l'entreprise. Il ne s'agit plus simplement d'installer une comptabilité ou une paye, mais de globaliser tout le système d'information dans un seul progiciel, même si ce progiciel se compose de modules ne provenant pas toujours du même éditeur. Un des exemples les plus connus est le produit R/3 de SAP. 5.6. CRM L'application de gestion de la relation clients monopolise depuis peu les ressources de nombreuses directions informatiques dans les entreprises, petites ou grandes. Baptisées CRM (Customer relationship management), ces suites logicielles - comptant plus d'une centaine d'applications - sont censées aider les entreprises à cibler, vendre, fidéliser et gérer toutes les prestations de services rendus à leurs clients. Elles remplacent souvent plusieurs applications indépendantes, techniquement et fonctionnellement limitées, dédiées à la gestion des forces commerciales et à celle du service après-vente. Outre leur richesse fonctionnelle, les suites CRM sont bâties autour d'un référentiel commun que matérialise la base unifiée des clients de l'entreprise, ce qui n'était pas le cas avec les applications du passé. Incapables de communiquer, ces dernières ne donnaient pas une vue unifiée du client, contrairement à l'outil CRM, qui le fait dès l'ouverture du dossier client, couvrant ainsi des besoins allant de l'avant-vente à l'après-vente. Tout ce qui concerne les clients est enregistré dans une base de données unique, alimentée par les utilisateurs du CRM et les bases des autres applications de l'entreprise. Les outils qu'apportent les suites CRM permettent d'automatiser la conception, la construction et la maintenance des bases de données ou des entrepôts de données selon le cas. Les données ne sont page 192 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique saisies qu'une seule fois. Ce qui suppose que les utilisateurs qui alimentent ces bases aient été sensibilisés au problème de la qualité des données et que toutes les divisions de l'entreprise se soient mises d'accord sur les règles qui pilotent les processus et les priorités. Ils offrent, en outre, un modèle de workflow capable de supporter toutes les étapes d'un cycle d'implémentation et de maintenance d'un processus. Grâce à cette fonction, une demande de réparation qui vient d'être saisie dans un centre d'appels peut être acheminée vers le service aprèsvente après que le magasinier a pris la peine de vérifier si la pièce défectueuse était en stock. 5.7. SCM Le SCM (Supply Chain Management) a pour vocation de piloter la production par la demande. Cette procédure implique une globalisation des flux (financiers, physiques, informatifs) et une planification des processus clés comme l'approvisionnement, la production et la distribution. Historiquement, le SCM était réservé aux grands groupes du secteurs traditionnels de type banque, automobile et grande distribution. Il se réalisait via des systèmes EDI (échange de données informatisées) et obligeait souvent les entreprises à développer au cas par cas leurs échanges d'informations, ce qui démultipliait les coûts dès que l'on avait plusieurs partenaires. Cette méthodologie était lourde, limitée aux partenaires avec lesquels l'entreprise avait développé une interface de communication. L'EDI gérait des opérations simples comme, par exemple, la prise de commande et la confirmation. Aujourd'hui, les outils déployés sur Internet s'occupent des processus transactionnels impliquant plusieurs partenaires. Pour résoudre l'épineux problème de la communication de ces outils entre eux, l'entreprise pourra utiliser des plates-formes dites d'intégration dont la particularité est de se connecter aux sources de données et aux applications existantes tout en échangeant des informations de l'une vers l'autre. Ces outils autorisent la mise en application d'une démarche de fédération du système d'information nommée EAI (Enterprise Application Integration). Adopter une telle démarche doit aussi conduire à mettre le client au centre du système d'information en lui fournissant l'ensemble des fonctionnalités et des données en temps et en heure. En couvrant toute la chaîne de valeur de l'entreprise, l'EAI l'accompagne dans la mise en œuvre de sa stratégie SCM. 5.8. ASP Avec la location d'applications en ligne, le monde de l'informatique entre dans un processus d'industrialisation comparable à celui qu'ont connu la téléphonie ou l'énergie électrique. Opérateurs télécoms, ISP (Internet Service Provider), éditeurs, SSII et constructeurs lorgnent un marché qui pourrait potentiellement embrasser tous les produits et les services informatiques. Schématiquement, l'entreprise qui souscrit un abonnement auprès d'un ASP (Application service provider) n'a plus qu'à se connecter aux applications que celui-ci héberge, à partir de postes clients génériques - client léger Windows ou navigateur Web. La tarification est généralement mensuelle, par utilisateur. Cette perspective prévoyant de vendre les logiciels comme le gaz de ville ou l'électricité ne devrait certes pas se concrétiser avant plusieurs années. Mais elle représente déjà une tendance qu'aucun éditeur, SSII ou opérateur télécoms ne peut plus aujourd'hui ignorer. La location d'applications pousse à son paroxysme le concept d'externalisation, déjà largement répandu avec l'infogérance, qui n'a toutefois touché que les grandes entreprises. De fait, la location ouvre à l'externalisation les PME-PMI qui n'ont pas les compétences informatiques nécessaires en interne et qui, de surcroît, ne nourrissent pas trop de réticences à une mutualisation massive des ressources techniques. 2005 Toute reproduction même partielle interdite IGPDE page 193 Architecture applicative physique Un des avantages de la location d'applications est qu'elle permet de déployer plus rapidement de nouveaux outils, et de s'affranchir des évolutions technologiques. Ce type d'argument sonne d'autant plus juste que la période est charnière. Ainsi, cinq ans après que les progiciels de gestion intégrés ou ERP (Enterprise resource planning) se sont imposés dans l'entreprise, l'heure est aux outils de gestion de la relation avec les clients, ou CRM (Customer relationship management). Et déjà s'amorce la mise en place d'applications de gestion des achats (e-procurement). En ce qui concerne les terminaux, il s'agit de cibler non seulement les postes fixes, mais aussi les systèmes nomades tels que les assistants personnels numériques ou les smartphones. Une problématique prise en charge par la plupart des ASP qui répondent aux besoins des forces de vente itinérantes. L'évolution des centres d'appels, qui doivent régulièrement intégrer de nouveaux médias, pose également les mêmes problèmes d'évolution. Les entreprises sont également séduites par le principe du poste client universel, qui permet de s'affranchir des contraintes géographiques, les applications louées devenant accessibles de partout dans le monde. Enfin, la demande est suscitée par le besoin de groupes d'individus, répartis sur plusieurs entreprises, de collaborer, le temps d'un projet, au sein de communautés que seul un ASP peut légitimement prendre en charge. D'autre part, la plupart des applications ont atteint un niveau suffisant de standardisation pour que les ASP puissent les mettre en ligne presque sans les modifier. Cette remarque est particulièrement vraie pour les outils de bureautique ou de travail collaboratif. Elle commence à le devenir aussi pour le CRM et les ERP, que leurs éditeurs ont déclinés par secteur d'activités, afin de réduire la phase de paramétrage, et qu'ils ont adaptés aux PME. De plus, ceux-ci ont développé des méthodes de déploiement plus rapide. Ainsi, les ASP qui louent des ERP évoquent un délai de mise en service de l'ordre de trois mois, mis à profit pour analyser les processus métiers de l'entreprise et paramétrer en conséquence le progiciel. 5.9. GED Tout un chacun a pris l'habitude de produire des documents « écrits » afin d'en garder une trace pour : ♦ les consulter ultérieurement ; ♦ communiquer sur leur existence ; ♦ les faire circuler. Un document représente le support matériel d'une information généralement non structuré. Il n'a d’existence qu'à travers cette même information et plus précisément son utilité. De toute évidence toute cette masse d'informations regroupées dans des documents doit être gérée pour être rendue accessible aux utilisateurs. Aujourd'hui le domaine de l'information concerne non seulement les données textuelles mais aussi les données multimédia (son, images, vidéo). On peut définir la GED (Gestion Electronique de Documents) comme l'ensemble des technologies qui visent à aider l’utilisateur dans la gestion des documents par l’utilisation de moyens informatiques. La GED couvre un large ensemble de fonctionnalités aptes à répondre aux besoins multiples des utilisateurs: l'archivage avec le stockage et la sauvegarde, l'aide documentaire pour la recherche et la consultation, la diffusion de documents. Un des points primordiaux d'un système de GED est la manière de décrire le document en termes de sens et de concepts inclus dans ce dernier. Il s'agit de représenter le sujet et le contenu du document le plus précisément possible. Il existe deux possibilités traditionnelles pour identifier le sujet traité et en expliciter le sens: page 194 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative physique ♦ • l'index matière qui est quasi toujours la Classification Décimale Universelle : 1 généralités, 2 philosophie, psychologie, 3 religion, 4 sciences sociales, 5 sciences pures, 6 sciences appliquées, 7 arts, architecture, photographie, jeux, sports, 8 littérature, linguistique, 9 géographie, histoire; ♦ • l'indexation qui consiste à caractériser le contenu d'un document par un certain nombre de mots clés. Ce peuvent être les termes reconnus par des chercheurs d'une discipline, ou ceux établis par une entreprise ou un organisme public. Le thesaurus est une liste de termes convenus, organisés par affinités sémantiques et complétés par des liens de relation; il n'y a alors plus synonymes ou polysémies qui entachent les recherches. 5.10. SIG Le SIG (Système d’Information Géographique) permet la visualisation de cartes géographiques auxquelles sont associées des données issues d'une base de données. Ces données sont localisées à l'aide de trois types d'objet : ♦ le point ; ♦ la ligne brisée (pour figer des délimitations, par exemple) ; ♦ des polygones (pour déterminer des quartiers, des territoires...). Le SIG autorise des requêtes plus ou moins complexes, à partir des données, comme par sélection sur les cartes. Les couplages sont maintenant en développement avec les outils de géolocalisation (GPS, téléphonie cellulaire...), pour accéder aux informations localisées liées à un mobile (commercial itinérant, véhicule, utilisateur d'un téléphone cellulaire...). 2005 Toute reproduction même partielle interdite IGPDE page 195 Architecture applicative logique ARCHITECTURE APPLICATIVE LOGIQUE 1. OBJECTIF 1.1. APPLICATION FONCTIONNELLE L'architecture applicative logique a pour objectif la structuration du système d'information en applications dont l’évolutivité nécessite une structuration en ensembles fonctionnellement homogènes, possédant une certaine autonomie de fonctionnement. Elle est décrite dans des documents de spécification. 1.2. FONCTION COMMUNE L'examen d’un ensemble d’applications fonctionnelles permet de mettre en évidence des fonctions communes : ♦ utilisées, ou visibles, directement par l'utilisateur final, comme la consultation des services, la gestion des habilitations, la messagerie,... ; ♦ à caractère purement technique, comme l'accès à une chaîne d'impression de masse, le blocage des fonctionnalités applicatives,... Ces fonctions doivent être identifiées et isolées de façon à être utilisables par chacune des applications. 1.3. TYPOLOGIE DES APPLICATIONS Trois types de logiciels applicatifs peuvent être distingués : ♦ les applications fonctionnelles portant sur un domaine d'activité spécifique ; ♦ les applications génériques utilisées par plusieurs, voire par l'ensemble, des applications fonctionnelles visibles de l’utilisateur final ; ♦ les applications techniques. Le tableau ci-dessous présente des exemples d’application par type. APPLICATION FONCTIONNELLE APPLICATION GENERIQUE ♦ Gestion du personnel ♦ Sécurité applicative et gestion des habilitations ♦ Gestion de la comptabilité ♦ Lancement des impressions ♦ etc. locales ♦ Messagerie ♦ Transfert de fichiers ♦ Annuaire ♦ Référentiel des données page 196 APPLICATION TECHNIQUE ♦ Accès à la chaîne d'impression de masse ♦ Gestion des fonctionnalités applicatives ♦ Compression ♦ Sécurité : chiffrement,... ♦ Communication inter-applicative Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative logique 2. DECOMPOSITION DU SYSTEME D’INFORMATION Deux approches existent pour décomposer le système : la première issue de la méthode MERISE et la deuxième issue de l’ère Internet. La méthodologie d’architecture logicielle permet d’aller jusqu’aux spécifications des classes logicielles d’une application en partant des spécifications fonctionnelles. Mais indépendamment de la méthodologie choisie, une démarche d’architecture commence par l’urbanisation des fonctions métier (structuration en blocs fonctionnels, échanges entre ces blocs) à partir des processus métier. 2.1. URBANISATION DES FONCTIONS DU SI Si la définition des processus métier de l ’entreprise et du modèle d’information ne relève pas explicitement des activités d ’architecture mais plutôt de celles des fonctionnels, l ’architecte devra en revanche, au niveau métier, urbaniser les fonctions et processus, structurer le Système d’Information en blocs fonctionnels, garantir son évolutivité fonctionnelle … Une tâche maîtrisable au niveau d ’un périmètre fonctionnellement limité (projet, système autonome...) mais qui devient rapidement complexe à l ’échelle du SI d ’entreprise, tant le caractère transverse et étendu des processus métier est difficile à structurer. Pour maîtriser cette complexité, l’entreprise peut se baser d’une part sur une méthodologie «standard» de modélisation des processus (outils, méthodes, référentiels...) partagée par les différents projets, et d’autre part, sur l’utilisation de patterns métier, apportant des bases de solutions à des problèmes connus et référencés. 2.1.1. Méthodologies de modélisation des processus Il n’existe pas de standard en matière de méthodologie, chaque société de conseil ou chaque éditeur spécialisé dans le domaine propose généralement sa propre méthodologie de modélisation, qu ’elle soit basée sur un formalisme UML ou un formalisme propriétaire … Notons en revanche l’initiative UMM en cours de gestation au sein de l’UN/CEFACT, dont l’objectif est de fournir une méthodologie standard basée sur UML pour la modélisation des processus métier entre une entreprise et ses partenaires; cette méthodologie résulte de la fusion de méthodologies issues de nombreuses organisations. Cette méthodologie n’est pas encore stabilisée. 2.1.2. Patterns métier Les patterns métier utilisés pour la structuration des processus, l’urbanisation des fonctions, ou la définition d’un modèle d’information, sont généralement issus d’initiatives verticales. Pour l’architecte, structurer son architecture métier en s’appuyant sur ce type de patterns va lui permettre : ♦ De disposer d’une vision transverse de l’orchestration des processus de l’entreprise, lui permettant de proposer des schémas d’urbanisme pertinents ; ♦ De favoriser l’interopérabilité entre l’entreprise et ses partenaires (processus, sémantique des messages...) ; ♦ De définir les formats pivots entre blocs fonctionnels du SI ; ♦ De favoriser la « progicialisation » de certains applicatifs, par intégration de progiciels spécialisés de façon standardisée sur certaines fonctionnalités. 2005 Toute reproduction même partielle interdite IGPDE page 197 Architecture applicative logique L’entreprise aura donc tout intérêt à utiliser au maximum ce genre de patterns lorsqu ’ils existent, voire à s’impliquer dans des initiatives sectorielles de standardisation. 2.2. ARCHITECTURE SERVEUR LOGIQUE L'architecture applicative logique a pour objectif la structuration globale du système d'information en "modules" ou "serveurs" logiques, c'est-à-dire en ensembles de fonctions assurant une relative autonomie de fonctionnement à un type d'utilisateurs. Le système d'information est ainsi découpé en applications, chaque application étant elle-même structurée en serveurs logiques. Les serveurs logiques dialoguent entre eux via des flux de données explicites suivant des modes de couplage plus ou moins serré. Cette structuration en serveurs logiques permet de : ♦ prendre en compte dans le système d'information le degré d'autonomie des différentes entités organisationnelles ; ♦ améliorer la disponibilité et la sécurité du système du fait de la relative indépendance de fonctionnement des serveurs logiques ; ♦ s'affranchir, dans une certaine limite, de l'architecture physique mise en place, les serveurs logiques étant définis indépendamment des machines physiques et pouvant être déplacés d'une machine à une autre indépendamment les uns des autres. La modularité du système est un facteur majeur d'évolutivité, notamment en ce qu'elle permet d'architecturer le système de telle manière qu'il soit répartissable dans le futur, même si certains choix à court ou moyen terme font qu'il reste centralisé en matière d'implémentation physique. 2.3. ARCHITECTURE SERVICE Il s'agit plus d'une philosophie que d'une technologie. SOA signifie "Service-Oriented Architecture", autrement dit "Architecture Orientée Services". La SOA est un état d'esprit, elle permet une conception axée sur l'interopérabilité et la réutilisation. Les applications d’aujourd’hui ne sont plus monolithiques et doivent s’intégrer harmonieusement dans le système d’information de l’entreprise. Cela implique l’interaction avec l’existant (systèmes, plates-formes et applications), et une ouverture vers une réutilisation future des nouveaux modules fonctionnels ou techniques. Les axes majeurs de la SOA sont : ♦ La réutilisation et la composition, permettant le partage de modules entre applications et les échanges inter-applicatifs ; ♦ La pérennité, qui implique notamment le support des technologies existantes et à venir ; ♦ L'évolutivité, car toute application est vivante, a une certaine durée de vie, peut se voir greffer de nouveaux modules et doit pouvoir répondre aux nouveaux besoins fonctionnels ; ♦ L'ouverture et l'interopérabilité, pour partager des modules applicatifs entre plates-formes et environnements ; ♦ La distribution, pour pouvoir utiliser ces modules à distance et les centraliser au sein de l'entreprise par exemple ; ♦ La performance, avec en priorité l'accent mis sur la montée en charge. page 198 Toute reproduction même partielle interdite IGPDE 2005 Architecture applicative logique Grâce à une couche d'abstraction générique, le concept de service permet d'aligner l'informatique sur la stratégie de l'entreprise sans rompre avec l'existant. Terme à la mode, l'architecture orientée services (SOA) désigne un cadre conceptuel, composé d'un ensemble de bonnes pratiques d'architecture logicielle. Elle permet aux directions fonctionnelles d'assembler des briques logicielles les services dans le cadre de processus métier. Pour tenir cet engagement, les applications sont découpées, puis exposées sous forme de services. « Plug & play » et faiblement couplés, ces derniers proposent une interface métier entre le système d'information et les directions fonctionnelles. Cette architecture cible s'intercale entre les besoins métier exprimés par les directions fonctionnelles et les choix technologiques des directions informatiques. Une SOA garantit que le système d'information pourra évoluer facilement et qu'il restera ouvert quelle que soit la technologie retenue. Contrairement aux architectures d'objets distribués, essentiellement motivées par des contraintes technologiques, la SOA suit une approche métier consistant d'abord à formaliser les processus, et seulement ensuite à créer les services indispensables à leur bon déroulement. 2005 Toute reproduction même partielle interdite IGPDE page 199 Sécurité SECURITE 1. INTRODUCTION D’une manière générale, la sécurité a pour but de protéger le système d’information contre les malveillances, les maladresses et de permettre ainsi l’exécution des travaux pour lesquels il a été conçu. 2. ANALYSE DE RISQUE Les services de sécurité mis en œuvre doivent correspondre aux risques encourus par le système concerné. 2.1. CLASSIFICATION DES RISQUES Avant de définir une politique de sécurité, les risques doivent être identifiés. Cette étape détermine la vulnérabilité du système par rapport à chacun des risques potentiels et formule un plan d’action pour réduire le niveau de menace. Un risque est considéré comme un événement potentiel qui, s'il se matérialise, peut induire des pertes système directes (données, valeurs) ou indirectes (image, crédibilité). Les risques sont généralement classés selon qu’ils sont volontaires ou accidentels. Les risques volontaires représentent les actions d’agresseurs menées dans le but d’infiltrer le système. Les risques accidentels surviennent à l’occasion des dysfonctionnements au niveau du système qui ont des répercussions sur la disponibilité et dans certains cas sur l’intégrité des données. Les menaces génératrices de risque peuvent être classées comme passives, actives, externes (émanant d’un agresseur externe au système), internes ou par la collusion entre un agresseur externe et un agent interne. 2.2. MENACE PASSIVE Les conséquences de menaces passives n’affectent pas l’état du système de communication : ♦ espionnage des liaisons filaires : • en utilisant des équipements connectés en parallèle sur la ligne ; • directement connecté par le panneau de distribution téléphonique ; • par induction. ♦ espionnage des liaisons radio ; ♦ espionnage des liaisons satellite ; ♦ espionnage au travers des radiations électromagnétiques ; ♦ présence non autorisée dans la salle d’ordinateurs. 2.3. MENACE ACTIVE 2.3.1. Description Les conséquences de menaces actives affectent l'état du système de communication: ♦ manipulations des communications : additions, suppressions, modifications, rejeux ; page 200 Toute reproduction même partielle interdite IGPDE 2005 Sécurité ♦ intrusion dans l'ordinateur, avec des modifications ou des destructions de données. 2.3.2. Infections informatiques Il existe des dénominations moins standards pour certaines menaces. Le terme générique pour désigner ces menaces est infections informatiques. Elles sont dues à des programmes malveillants, qui à l'insu de l'utilisateur, ont pour objectif de perturber, de modifier ou de détruire tout ou partie d'un élément indispensable au bon fonctionnement de l'ordinateur. Virus Dans un système d'information, le micro-ordinateur est devenu l'un des éléments les plus vulnérables en termes de sécurité. En effet la large diffusion des micro-ordinateurs et leur interconnexion via des réseaux, et plus encore leur utilisation par des non-informaticiens, a multiplié les problèmes sur l'intégrité des données. Les virus informatiques constituent aujourd'hui la cause majeure de sinistres m Les virus utilisent des fonctions d'auto reproduction et se propagent par le biais d'autres programmes, dans lesquels ils insèrent leur propre code. Lorsqu'un programme ainsi infecté est exécuté, le virus qui s'est ainsi greffé sur son hôte, prend le contrôle des opérations et met en œuvre ce pour quoi il a été conçu : dans un premier temps, il infecte d'autres programmes; dans une phase finale, son objectif sera au pire de détruire des données, ou dans le meilleur des cas de perturber le fonctionnement du micro-ordinateur. 2.3.3. SPAM Description Le spam, c'est l'envoi massif par e-mail de messages publicitaires non souhaités. Cette pratique agace les destinataires et, surtout, engorge les serveurs de messagerie jusqu’à la panne éventuelle; elle est plus ou moins interdite. « Constituent des spams les messages adressés sur la base d'une collecte irrégulière de courriels, soit au moyen de moteurs de recherche dans les espaces publics de l'Internet (sites web, forums de discussion, listes de diffusion, chat...), soit que les adresses aient été cédées sans que les personnes en aient été informées et sans qu'elles aient été mises en mesure de s'y opposer ou d'y consentir. Une telle collecte est alors déloyale et illicite au sens de l'article 25 de la loi du 6 janvier 1978. » CNIL. Le sujet est complexe, car il ne faut pas oublier que la publicité reste le moyen qu'utilisent les entreprises pour informer naturellement leurs clients et prospects, qui sont aussi souvent demandeurs. Les notions d'abus, de déloyauté et d'absence de consentement ne sont pas simples à établir. On peut les classer en trois grandes catégories : ♦ les mails crapuleux (sexe, rencontres...) dont les adresses des destinataires sont chalutées ou générées et envoyées par millions et pour lesquels, à défaut d'une moralisation du Web, des outils peuvent apporter des solutions assez efficaces ; ♦ les informations publicitaires (plus ou moins intelligentes et plus ou moins bien ciblées), utiles pour certains destinataires, pénibles pour les autres, qui demandent un traitement fin et souple ; 2005 Toute reproduction même partielle interdite IGPDE page 201 Sécurité ♦ la masse grandissante des mails légitimes, mais tout aussi envahissants (notes internes, copies de note, réponses aux notes..), pour lesquels des outils de classement, une bonne organisation interne et quelques formations sont probablement nécessaires. Méthodologie anti-spam Souvent placé sur la passerelle comme l'antivirus, l'anti-spam combine plusieurs méthodes, comme souvent entourées d'un halo de vocabulaire pas toujours stabilisé : ♦ la liste blanche autorise le passage sans délai des messages dont l'expéditeur est réputé ami. Les listes sont nécessairement constituées dans l'entreprise, soit en saisissant les carnets d'adresse (rarement à jour), soit en enregistrant les destinataires des mails sortants ; ♦ la RBL (Real-time Blocking List ou liste noire) qui envoie immédiatement en quarantaine les mails suspects. On peut faire appel à des listes noires générales recensant les spammeurs (sexes, vente abusives...) et y ajouter des listes locales ; ♦ la recherche de mots-clés, les documents contenant certains mots-clés jugés suspects sont éliminés. Des listes sont mises à jour par l'éditeur et/ou l'utilisateur. Cette méthode, désormais jugée peu performante, a au moins l'avantage de la simplicité ; ♦ l'analyse heuristique : le système fait appel à des méthodes statistiques qui recherchent les mots-clés, attribuent à chacun un « poids » et, au final, décident d'une probabilité de spam ou non ; ♦ l'analyse bayesienne, qui met à jour en permanence une base de connaissance fondée sur les mots et expressions trouvés dans les mails valables et les spams précédents pour en tirer une probabilité de spam ; ♦ une quarantaine : qui reçoit les mails suspects et doit être examinée par un responsable ou le destinataire. Attention toutefois aux problèmes de respect de la vie privée, puisqu'un responsable ne peut prendre connaissance des courriers personnels. Généralement, les courriers suspects sont envoyés à l'utilisateur, à charge pour lui de les qualifier, ce qui décharge les responsables du travail et de la responsabilité, mais peut faire perdre à l'utilisateur une partie du temps que l'on voulait lui faire gagner. 2.4. METHODES D’ANALYSE DE RISQUES 2.4.1. MARION La méthode MARION constitue un guide et propose des points de repère en vue d'aboutir à une démarche progressive permettant d'évaluer les risques et tenter de les éviter. Elle se décompose en 6 étapes : 1. Analyse permettant la détermination exhaustive de tous les risques encourus par l’entreprise et dus à l'informatique (définition d'une typologie des risques et pour chacun d'eux des pertes maximales tolérables). 2. Evolution du risque maximum pour ne pas mettre en péril la survie de l'entreprise. Des coefficients de corrélation tenant compte de tous les sinistres possibles sont fournis par la méthode et donnent la possibilité d'une part d'évaluer la qualité des moyens existants de la sécurité et d'autre part de mesurer leur efficacité relative par rapport aux risques répertoriés. 3. Analyse de moyens de sécurité pour appréhender et évaluer la qualité des facteurs de protection et de prévention. 4. Estimation de contraintes techniques et financières. 5. Détermination de moyens prioritaires. page 202 Toute reproduction même partielle interdite IGPDE 2005 Sécurité 6. Orientations aboutissant à l'élaboration d'un avant-projet conduisant à définir la politique de sécurité de l'entreprise reposant sur des choix définitivement arrêtés réducteurs de risques. 2.4.2. MELISA Les spécificités de la méthode MELISA résident essentiellement dans les huit points suivants : 1. indépendance vis à vis de matériels et logiciels. 2. rapidité du processus d'évaluation par rapport à un audit traditionnel. 3. simplicité de mise en oeuvre par des non spécialistes. 4. autoformation des "officiers" de sécurité informatique. 5. automatisation du processus d'aide à la détermination des parades et à la prise de décision en fonction de vulnérabilités identifiées et mesurées. 6. cohérence des évaluations: horizontales et dans le temps. 7. homogénéité des mesures de protection. 8. aide à l’élaboration d'un schéma directeur sécurité. 2.4.3. EBIOS La méthode EBIOS comprend les deux phases suivantes : ♦ EBIOS phase 1 conduit à l'expression des besoins de sécurité ; ♦ EBIOS phase 2 aboutit à la spécification des objectifs de sécurité. EBIOS phase 1 Les activités de EBIOS phase 1 ont pour objectif de déterminer : ♦ le contexte dans lequel se situe le système : contraintes générales ; ♦ les exigences opérationnelles du maître d'ouvrage : les missions du système ; ♦ la place du système dans l'organisation : poids stratégique ; ♦ les besoins intrinsèques de sécurité du système c’est-à-dire. les besoins de sécurité découlant des exigences opérationnelles. EBIOS phase 2 Les activités de EBIOS phase 2 ont pour objectif : ♦ l'identification des sous-systèmes informatiques et la ventilation des missions du système sur ces sous-systèmes ; ♦ l'analyse de risques sur la solution envisagée en fonction des menaces et des vulnérabilités identifiées ; ♦ le choix des mesures de sécurité non techniques ; ♦ l'identification des objectifs techniques de sécurité du système ; ♦ le bilan de faisabilité spécifique sécurité. 2005 Toute reproduction même partielle interdite IGPDE page 203 Sécurité 3. APPROCHE GLOBALE 3.1. POLITIQUE DE SECURITE La réalisation des étapes les plus en amont d’un projet doit aboutir à des solutions qui s’intègrent dans une politique globale de sécurité. La mise en œuvre de services de sécurité par une unité est sans répercussion sur l’extérieur tant que tous les partenaires partageant des informations communes fournissent un niveau de sécurité identique. Dans une politique de sécurité, il est par conséquent important de définir des règles organisationnelles strictes au regard des procédures de sécurité. L’approche globale pour la détermination des solutions de sécurité doit être mise en œuvre en tenant compte des aspects de contrôle et de surveillance des fonctions, utilisant, par exemple des mécanismes d’audit et de journalisation statistiques. La définition de la politique de sécurité est un projet à part entière qui ne peut être traité sans l'implication des responsables de l’organisation concernée et des responsables des applications. En France, la Direction Centrale à la Sécurité des Systèmes d'Information (DCSSI), qui est un service dépendant directement du Premier Ministre, a écrit un guide pour l'élaboration d'une Politique de Sécurité Interne (PSI) à l'usage des responsables de la sécurité des systèmes d'information des entreprises et administrations. Ce guide décrit les fondements de la politique de sécurité interne en énonçant les bases de légitimité qui décrivent les lois et règlements existants. Parmi ceux-ci nous pouvons citer la déontologie, la préservation des intérêts vitaux de l'Etat, l'arsenal juridique pour la lutte contre la malveillance, les contrôles technologiques, la préservation des intérêts vitaux de l'administration. Ce guide présente ensuite 6 grands principes et 72 règles pour une politique de sécurité interne. 3.2. SECURITE MATERIELLE La sécurité matérielle concerne la protection des ordinateurs, des réseaux, de leurs équipements et de leur contenu, contre les dégradations causées par un intrus, le feu, les accidents et les conditions propres à l’environnement de travail. Elle recouvre entre autres les domaines et mesures présentés ci-dessous. ♦ Construction des bâtiments ; ♦ Répartition des activités dans les locaux ; ♦ Installation des équipements : • alimentation électrique : duplication éventuelle, onduleurs ; • dispositif de surveillance ; • installation au moins au premier étage. ♦ Accès aux équipements et aux installations : • registre visiteur ; • inspection des colis ; • octroi de badges ; • service de gardiennage. ♦ Détection et lutte contre les incendies : • système d’alarme et de détection ; • installation des arroseurs. ♦ Dégâts des eaux : • installation de détecteur d’humidité ; • services de sécurité doivent posséder les plans de circuit d’eau. page 204 Toute reproduction même partielle interdite IGPDE 2005 Sécurité ♦ Secours des sites informatiques : • secours immédiat : site dédié, secours interne, société de service ; • systèmes redondants : redondance matérielle, les machines à tolérance de panne ; • plan de secours. ♦ Redondance des supports informatiques ; 3.3. SECURITE LOGIQUE 3.3.1. Description La sécurité logique concerne les protections à apporter à tous les composants (traitements, données, et logiciels système) constitutifs de l’architecture du système d’information. Notamment, ♦ Pour les données, elles doivent être confidentielles, cohérentes, intègres et disponibles. ♦ Pour les logiciels, les logiciels système doivent être contrôlés en termes de certification officielle obtenus auprès des organismes accrédités. Les composants applicatifs doivent suivre les mêmes règles de sauvegarde et de copies que les données. Les modalités de mise en œuvre de la sécurité logique peuvent être : ♦ Données : • Dispositif de basculement des données et de retour arrière ; • Utilisation d’une matrice droits d’accès /utilisateurs ; • Sauvegarde : - copies sur bandes, entreposées dans des locaux séparés ; - sauvegardes complètes, incrémentales, différentielles ; - planification des sauvegardes : quotidienne, hebdomadaires, mensuelle. • Les systèmes de gestion de base de données : journal avant, journal après ; droits d’accès sur les tables, vues ou procédures (grant, revoke), dispositif de sécurité intégré ; • Traces et audits. ♦ Logiciels système et application : • Moniteur transactionnel : mise en œuvre des mécanismes internes de détection d’erreur et de pannes système, et des dispositifs de back-up ; • Détermination de standards de sécurité applicables aux phases de conception, développement, tests et déploiement. 3.3.2. Contrôle d’accès Contrôle d'accès aux postes individuels et chiffrement des fichiers est un domaine de sécurité très sensible. La sécurité informatique, c'est aussi éviter que l'on accède à un poste et que l'on consulte les données qu'il contient. Ce souci est particulier pour les ordinateurs portables qui sont fréquemment volés. Trois principes peuvent être combinés : ♦ la sauvegarde régulière des contenus (voir ce dossier) ; ♦ le contrôle de l'accès à l'ordinateur ; ♦ le chiffrement des fichiers. Les logiciels de chiffrement Ils permettent de crypter les fichiers sensibles. Seul l'utilisateur, muni d'une clé pourra lire le fichier. 2005 Toute reproduction même partielle interdite IGPDE page 205 Sécurité Biométrie : C’est la science du calcul des dimensions d'un organe humain. Le dessin des empreintes digitales ou de celui de l'iris de l’œil sont permanents et uniques chez un individu et permettent donc de l'identifier d'une manière fiable. Empreinte digitale : L'EDR (Empreinte digitale réduite) est la représentation caractéristique d'une empreinte digitale. Elle est constituée généralement de 50 à 80 points remarquables (les minuties), repérés aux extrémités ou aux bifurcations des sillons. Un capteur placé sur la souris ou sur un satellite mobile permet de saisir l'EDR. Ce système, peu coûteux, simple à utiliser et à mettre en oeuvre, est donc adapté à des utilisations individuelles (accès à un ordinateur, par exemple). Image de la main La morphologie de la main (taille des phalanges, lignes de la main...) est utilisée comme identifiant unique. Il nécessite un dispositif de capture plus grand que pour l'EDR et peut-être installé, par exemple, pour l'ouverture des portes. Iris de l'oeil Testant environ 240 points, c'est le système le plus fiable. Autres techniques D'autres techniques existent, mais sont aujourd'hui moins adaptées aux milieux informatiques : ♦ analyse du visage : la distance entre les différents éléments du visage sont évalués à partir d'une image prise par une simple caméra. Cette solution permet notamment de filtrer les foules et d'en éliminer les éléments indésirables ; ♦ analyse de la voix : dans son timbre et ses harmoniques, chaque voix est différente et permet ainsi une identification, même à distance. Pour contrer les enregistrements, on fait varier les phrases prononcées ; ♦ la signature dynamique : la machine analyse les mouvements effectués pour réaliser une signature à l'aide d'un stylet sensible. 3.3.3. Haute disponibilité Dans une architecture à haut risque où les services doivent être disponibles 24 heures sur 24, 7 jours sur 7, une solution devrait être en mesure d'assurer cette disponibilité. Cette solution est le "High Availbility" autrement dit « Haute disponibilité ». Le cluster de haute disponibilité est un ensemble de serveurs physiques, au nombre minimum de deux, afin d'obtenir une activité de services par tous temps, en toutes conditions, de l'ordre du 99.99%. La haute disponibilité possède deux grands axes : la disponibilité des services et la disponibilité des données. page 206 Toute reproduction même partielle interdite IGPDE 2005 Sécurité La disponibilité des services En ce qui concerne la disponibilité de services, son principe est simple : un service, quelle que soit sa machine de référence ou les données dont il dispose, doit toujours répondre aux clients qui en font la demande. C'est-à-dire que peu importe le serveur qui répond, lorsqu'un client arrive, le service demandé doit satisfaire la demande. Le serveur répondant est l'un des serveurs du cluster qui est (encore ?) en activité. Dans le cas d'un cluster en haute disponibilité sans load balancing (gestion de charge), le serveur maître répond à toutes les requêtes sauf si celui-ci est indisponible. Dans ce cas, c'est le ou l'un des serveurs esclaves qui répond. Pour de la haute disponibilité de services, trois types de techniques existent : le FailOver Services et le Virtual Server et le Load Balancing. Le FailOver Services (FOS) Le failOver services est un processus de monitoring et de reprise de services pour seulement deux machines : le serveur maître et le serveur esclave, chacun surveillant l'autre sur deux canaux et types de connectiques différents. Le FailOver Services peut vérifier tous services utilisant le protocole TCP/IP et commander l'arrêt ou le démarrage de n'importe quels scripts. Ce dernier contrôle aussi l'état réseau des machines : en d'autres termes, le contrôle de l'IP de la machine. FOS utilise un principe très simple mais à la fois très astucieux dans le changement de serveur « répondant ». Il utilise l'IP Aliasing. L'IP Aliasing permet de définir une interface réseau avec plusieurs adresses IP différentes. Le serveur maître et le serveur esclave possèdent tous deux une adresse IP du même sous-réseau (disons 10.10.11.1 pour le maître et 10.10.11.2 pour l'esclave). L'astuce vient du fait que lorsque le client fait appel à un serveur, il interpelle un serveur possédant une adresse IP Aliasée, c'est-à-dire qu'il n'appelle pas la machine possédant l'adresse IP 10.10.11.1 ou 10.10.11.2 mais disons par exemple 192.168.10.200. Cette adresse IP ne sera pas définie comme IP principale mais comme IP Aliasing. Ainsi lorsque le serveur maître tombe, l'adresse aliasée est redéfinie autre part. Lorsque le serveur maître n'a plus de moyen de satisfaire les demandes, le FailOver Services destitue l'IP Aliasé du serveur maître pour le réattribuer sur la machine esclave. (En fait, il désactive l'adresse IP sur l'un pour la réactiver sur l'autre). Ce procédé est à la fois simple et efficace. Lorsque le serveur maître peut de nouveau répondre aux requêtes (détecté grâce à la première voie et attesté par la deuxième voie), FailOver désactive l'IP Aliasé de l'esclave et la réactive sur le serveur maître. Pour que ce type de haute disponibilité fonctionne, il faut bien sûr que la machine esclave possède les mêmes services que son homologue maître. Sinon la haute disponibilité ne fonctionnera pas. Algorithmes de Load Balacing Il existe quatre algorithmes différents pour effectuer du Load Balancing. Le plus simple est le "Round Robin" qui consiste à distribuer le travail équitablement entre tous les serveurs. Le suivant est « Least-connexions » qui consiste à distribuer le plus de travail sur les serveurs avec le moins de connexions actives. Le troisième algorithme, « Weighted round robin » distribue le plus de travail 2005 Toute reproduction même partielle interdite IGPDE page 207 Sécurité au serveur de grande capacité (Indiqué par l'utilisateur) et enfin le dernier, le « Weighted leastconnexions » distribue le plus de travail avec le moins de connexions actives aux serveurs de grande capacité. Virtual Server Le Virtual Server effectue le même travail que son homologue FOS mais avec un procédé légèrement différent. En effet, VS s'appuie sur une architecture de Load Balancer et d'un ensemble de serveurs. Les trois cas de Haute disponibilité de services (FOS,LVS,LB) sont complémentaires pour assurer un système extrêmement performant. Ainsi Virtual Server peut très bien intégrer un procédé Fail Over dans ses serveurs de contrôle de Load Balancing. Le procédé qu'utilise le redirecteur VS est simple, grâce à un algorithme de Load Balacing. Il redirige les paquets vers les serveurs appropriés en utilisant l'une des quatre méthodes de routage. Le redirecteur VS se charge de connaître automatiquement les serveurs disponibles au sein de son propre cluster de serveurs et d'en attribuer la charge à ceux qui en sont capables. Si un serveur devient indisponible, le redirecteur VS renvoie les différentes requêtes vers un autre serveur disponible jusqu'à ce que le serveur faillitaire revienne dans de bonnes conditions. La disponibilité des données Dans ce domaine-ci, il existe deux types de haute disponibilité de données : les données partagées et les données répliquées. Les données partagées le sont dans le domaine du réseau. Les données répliquées appartiennent à deux domaines : celui du réseau (réplication serveur à serveur) ou local (réplication disque à disque). Cependant dans tous ces domaines, un domaine est prédominant : le type de système de fichiers. Ce domaine est très lié à celui des types de haute disponibilité de données. Certains systèmes de fichiers sont orientés réseaux (GFS, Intermezzo, DRBD, NFS, M2CS, FENRIS, Coda, LVM) ou orientés local (ReiserFS, Ext3, LinLogFS, Raid). En plus des systèmes de gestion de fichiers, les dispositifs de RAID et de SAN et NAS peuvent être avantageusement utilisés. Le Raid Le raid n'est pas une solution 100% viable dans un système de haute disponibilité car le système devient viable si et seulement si il est certain que le serveur ne tombera pas en panne. Le système Raid ne vous aidera que pour un secours disque, c'est-à-dire que lorsqu'un disque ne fonctionne plus correctement, un autre prend le relais. Mais au cas ou le serveur tombe entièrement, le raid ne pourra plus faire grand-chose. Malgré tout, le Raid reste une solution très utile et à privilégier lorsqu'on le peut. SAN/NAS SAN (Storage Area Network) et NAS (Network Attached Storage) sont des serveurs dédiés au stockage de données. Toutefois, SAN et NAS sont différents mais complémentaires. En effet les deux types peuvent être utilisés en même temps pour un service de haute disponibilité. Le NAS se charge du réseau et SAN se charge des serveurs de données. 3.4. SECURITE RESEAU La sécurité réseau concerne les mesures de protection des informations durant leur transmission. page 208 Toute reproduction même partielle interdite IGPDE 2005 Sécurité 4. SERVICES ET MECANISMES D'une manière générale, l’existence d’exigences de sécurité signifie qu'un protocole de sécurité doit être défini afin de permettre à des unités différentes de communiquer en utilisant des services et des mécanismes de sécurité. Un service de sécurité est un service fourni par une couche système qui apporte un niveau de sécurité conforme avec les exigences de sécurité du système d'information. Un mécanisme de sécurité est un ensemble de moyens techniques qui matérialisent un ou plusieurs services de sécurité. 4.1. SERVICES L'ISO a défini les services de sécurité réseau suivants : ♦ authentification ; ♦ contrôle d'accès ; ♦ confidentialité ; ♦ intégrité ; ♦ non-répudiation. Des services de gestion de la sécurité sont aussi nécessaires: ♦ gestion des composants de sécurité, particulièrement les clés ; ♦ auditabilité ; ♦ exploitation de la sécurité et traitement de la continuité sans lequel la disponibilité du système ne peut pas être garantie. 4.1.1. Authentification Le service d'authentification fournit l'assurance que la partie communicante est effectivement de bonne foi. Il permet d’identifier formellement les partenaires mis en relation, en s’assurant que les « identifiants » sont effectivement présentés par leurs propriétaires légitimes et n’ont pas été usurpés. 4.1.2. Contrôle d’accès Ce service prévient tout utilisation non autorisée de ressources accessibles. Il peut s'appliquer à une partie ou un groupe fermé de parties (e.g. Groupe Fermé d'Abonnés X.25 ). Un service de contrôle d'accès permet d'attribuer sélectivement des ressources à une entité préalablement authentifiée. 4.1.3. Confidentialité Ce service empêche la divulgation non autorisée d’informations. Il assure que seuls les utilisateurs habilités ont accès aux informations. 4.1.4. Intégrité Ce service contrôle que les données transmises n'ont pas été altérées (accidentellement ou intentionnellement). Il assure que les échanges n'ont pas subi de changement depuis leur émission jusqu'à la réception. 2005 Toute reproduction même partielle interdite IGPDE page 209 Sécurité 4.1.5. Non-répudiation Le service de non-répudiation fournit la preuve tangible au destinataire (resp- à l’émetteur) de l’information de l’implication de l’émetteur (resp- le destinataire) dans l’envoi (resp- la réception) des données reçues (resp- émises). Il peut revêtir deux formes : ♦ la non-répudiation de la source : la preuve fournie au destinataire empêchant l'initiateur de renier l'envoi ou le contenu d'un message reçu ; ♦ la non-répudiation de fourniture : la preuve fournie à l'émetteur empêchant le destinataire de renier la réception ou le contenu d'un message. 4.1.6. Gestion des clés La plupart des services présentés précédemment nécessitent la mise en oeuvre d'algorithmes cryptographiques qui sont les seuls moyens de fournir une protection efficace contre les risques encourus sur les réseaux de transmission. En termes d'administration du système de sécurité, la création, la protection et l'échange des clés sont les opérations les plus délicates car elles doivent satisfaire des critères de sécurité très stricts, à la fois par rapport à l'équipement et par rapport aux procédures mises en œuvre pour gérer les objets de sécurité. 4.1.7. Auditabilité Ce service permet d’enregistrer et de dresser un historique des accès et des opérations réalisées sur le réseau dans le but de détecter rapidement toute anomalie. L'auditabilité implique la mise en place de mécanismes pour tracer les informations relatives à chacun des mécanismes de sécurité. Une fois rassemblées, ces informations peuvent être utilisées : ♦ pour évaluer les niveaux de risque en examinant les tentatives d'intrusion sur le système ; ♦ pour évaluer l'efficacité des mécanismes de sécurité ; ♦ pour anticiper des projets d'activités frauduleuses. 4.1.8. Disponibilité Le service de disponibilité correspond à la prévention d’un déni non autorisé d’accès à l’information ou à ses ressources. 4.2. MECANISMES 4.2.1. Codage ou encryption La cryptographie est l’ensemble des techniques qui permettent de coder une information à transmettre de telle sorte qu’elle ne puisse pas être décodée par son destinataire, sauf s’il dispose des moyens pour cela. Le principe utilisé consiste à modifier l’information par un algorithme utilisant éventuellement une clé. Le destinataire ne peut lire le message qu’avec l’algorithme qu’il exécutera en sens inverse, à l’aide ou non de la clé. Il y a donc deux manières de protéger l’information: en utilisant un algorithme privé, ou, si l’on utilise un algorithme public, en recourant à une clé connue du seul destinataire. page 210 Toute reproduction même partielle interdite IGPDE 2005 Sécurité Le codage ou encryption est le mécanisme qui convertit un texte non codé en un texte codé soit en utilisant un algorithme symétrique à clé secrète, soit en utilisant un algorithme asymétrique à clé publique. Systèmes de chiffrement à clé secrète Fonctionnement Un système de chiffrement à clé secrète, ou symétrique, repose sur le partage entre deux interlocuteurs en communication, d'une même clé secrète S utilisée à la fois pour le chiffrement d'un message et pour son déchiffrement. La clé S doit être échangée préalablement à la communication par un canal sûr autre que le canal à protéger. Pour le stockage de message, le principe est le même avec un seul interlocuteur. DES DES - Data Encryption Standard est le système d’encryption à clé secrète le plus répandu, utilisant un algorithme symétrique. Il est le plus connu des algorithmes de codage. Il est public et réversible. Il utilise une clé de 64 bits (56 bits de clé et 8 bits de contrôle de la parité). L'exportation de cet algorithme est réglementée par le gouvernement américain et les gouvernements nationaux des autres pays ont aussi restreint son usage. Ces réglementations varient d'un pays à l'autre. En France, l'utilisation du DES est seulement autorisée dans le secteur bancaire. D’autres systèmes d’encryption symétrique existent : IDEA (International Data Encryption Algorithm), RC2, RC4 par exemple. Systèmes à clé publique La technique de la clé publique consiste à ce que chaque personne possède deux clés appelées la clé publique et la clé privée. La clé publique est utilisée pour encrypter et la clé privée pour décrypter. La clé publique a 10 à 32 bits maximum pour diminuer le temps de chiffrement et la clé privée a au moins 512 bits. Dans ce cas, aucune clé n’est partagée entre l'émetteur et le destinataire. RSA - Rivest Shamir et Adleman est un système d’encryption à clé publique, utilisant un algorithme asymétrique. ♦ Chaque utilisateur possède son propre couple de clés différentes S et P. ♦ La clé S est gardée secrète par son propriétaire qui l'utilise pour sa propre procédure de déchiffrement des messages reçus ou de signature de messages. ♦ La clé P, dérivée de la clé S par une fonction à sens unique (c'est-à-dire par une fonction facilement calculable mais dont l'inversion est extrêmement difficile), est rendue publique. 2005 Toute reproduction même partielle interdite IGPDE page 211 Sécurité Ainsi, pour chaque système de chiffrement à clé publique, le choix d'un couple de clés S et P et la publication de la clé publique P par un utilisateur souhaitant recevoir des messages ou émettre des signatures, permettent à tout autre utilisateur de lui envoyer des messages chiffrés ou de vérifier ses signatures. Les schémas qui suivent montrent comment le détenteur d’un couple (clé publique, clé privée) peut recevoir des messages secrets ou émettre des messages chiffrés. Il est à noter que pour émettre un message chiffré, c’est la clé publique du destinataire qui est utilisée et que l’émetteur n’a besoin d’aucun paramètre qui lui soit propre. 4.2.2. Certificat La méthode utilisée pour prouver l’identité d’un site repose sur le certificat. A l’occasion d’une transaction sécurisée (accès à des documents confidentiels, paiement par carte bancaire) le site distant vous présente (électroniquement) son certificat. On peut aisément faire un comparatif entre un certificat et une pièce d’identité (la carte nationale d’identité par exemple). Un agent de police aura confiance en la carte d’identité que vous lui présentez pour plusieurs raisons : ♦ le support est difficilement falsifiable ; ♦ les informations contenues sont utiles et de bonne qualité (nom, taille, couleur des yeux, photo…) ; ♦ la délivrance d’une carte d’identité se fait dans des conditions strictes (présentation de pièces justificatives…) ; ♦ le signataire (préfet) est une autorité reconnue. Toutes ces conditions doivent être remplies pour que le document soit digne de confiance. Si le support est aisément falsifiable, il ne peut y avoir de confiance pas plus que si les informations page 212 Toute reproduction même partielle interdite IGPDE 2005 Sécurité contenues sont dénuées d’intérêt ou s’il suffit de faire une vague demande pour obtenir le précieux document. Enfin c’est évident, le signataire doit lui-même être de confiance. Il en va de même pour un certificat numérique. On doit y retrouver des informations fiables sur l’identité de son propriétaire, utiles (clé publique dont nous verrons l’usage plus loin) et signée par une autorité en laquelle nous avons confiance. 4.2.3. Signature numérique Quand des entités n'ont pas une confiance mutuelle ou n'ont pas confiance dans le support de communication, la signature électronique est nécessaire. Deux actions doivent être menées : la génération de la signature qui authentifie l'émetteur du message et la vérification de la signature par le destinataire. Elle nécessite l'utilisation de techniques d'encryption à clé publique. La signature numérique est un mécanisme qui permet la mise en œuvre à la fois de l'intégrité des données, de l'authentification et de la non-répudiation. 4.2.4. Modalités de gestion des clés Tierce partie de confiance Une tierce partie de confiance est un organisme qui a la confiance de l'utilisateur et qui effectue, pour le compte de celui-ci, certaines opérations liées à la gestion des clés de confidentialité et/ou de signature numérique. Il convient de distinguer les fonctions de tiers de séquestre (des clés servant à la confidentialité) et les fonctions d'autorités de certification (AC) pour des clés publiques n'intervenant que dans des applications liées à la signature. Certains mécanismes sont communs aux deux fonctions, comme la certification de clés publiques, et rien n'empêche un organisme de remplir les deux fonctions (séquestre et AC). 2005 Toute reproduction même partielle interdite IGPDE page 213 Sécurité Cette confiance repose sur plusieurs éléments, notamment, les compétences de l'organisme, l'obtention éventuelle d'un agrément, le contenu du contrat liant l'organisme à l'utilisateur et les mesures mises en place par l'organisme pour assurer la protection des données et clés de l'utilisateur. Tiers de séquestre Le tiers de séquestre est un organisme agréé par le Premier ministre après instruction de son dossier de demande d'agrément par la DCSSI. La fonction du tiers de séquestre consiste à conserver les clés secrètes des utilisateurs mises en œuvre à des fins de confidentialité afin de les remettre à ces mêmes utilisateurs s'ils les demandent et aux autorités judiciaires ou de sécurité. Dans cette seule fonction de séquestre, il n'intervient pas directement dans les échanges entre utilisateurs. Autorité de certification Description Son rôle est de produire et de gérer des certificats de clés publiques utilisées pour la signature numérique. L'objectif d'un certificat est de garantir à une personne qui utilise une clé publique pour vérifier une signature que cette clé publique appartient bien à qui elle est censée appartenir (non usurpation d'identité). Pour ce faire, un certificat garantit le lien entre la clé publique et le détenteur de la clé secrète correspondante utilisée pour fabriquer la signature numérique. L'AC vérifiera l'identité du demandeur, ou le pouvoir, et veillera à la non réutilisation de clé publique, par exemple en s'assurant que le demandeur détient bien la clé secrète. Ses tâches principales sont : ♦ création du certificat pour le détenteur d’une clé secrète ; ♦ publication de certificats ; ♦ révocation de certificat ; ♦ interface avec les autres AC (reconnaissance mutuelle des certificats). En distribuant des cartes d'identité électroniques, l'Autorité de Certification ou Autorité de Confiance, sert de caution morale en s'engageant sur l'identité d'une personne au travers du certificat qu'elle lui délivre. Selon le crédit de l'AC, ce certificat aura un champ d'applications plus ou moins vaste : limité aux échanges internes d'une société (comme un badge d'entreprise) ou utilisé dans les relations avec d'autres organisations et administrations (comme une carte d'identité nationale ou un passeport). L’AC est responsable vis-à-vis de ses clients, mais aussi de toute personne se fiant à un certificat qu'elle a émis, de l'ensemble du processus de certification, et donc de la validité des certificats qu'elle émet. A ce titre, elle édicte la Politique de Certification et valide les Déclarations de Pratique de Certification respectées par les différentes composantes de l'Infrastructure à Clé Publique (ICP). La garantie apportée par l’AC vient de la qualité de la technologie mise en œuvre, mais aussi du cadre réglementaire et contractuel qu’elle définit et s’engage à respecter. Les autorités délivrant des certificats sont appelées des autorités de certification et leurs politiques de certification sont publiques. page 214 Toute reproduction même partielle interdite IGPDE 2005 Sécurité Autorité d’Enregistrement Comme tout mécanisme d'émission de cartes d'identité (passeport, badge d'entreprise, etc.), une première étape consiste à effectuer les contrôles nécessaires, pour tous les demandeurs, des identités et des attributs voulus sur les certificats (comme l'adresse, la fonction, l'autorisation d'engagement financier, etc.). C'est l'Autorité d'Enregistrement qui a la charge de ces fonctions, auxquelles s'ajoutent d'autres fonctions organisationnelles, comme par exemple la décision de révoquer le certificat d'un salarié quittant une entreprise. L'usage fait qu'une AC conserve un lien très proche avec les fonctions d'enregistrement et de contrôle, déléguées à l'AE, sur laquelle l'AC a en général une emprise directe (agence bancaire pour une banque, bureau des ressources humaines pour une entreprise). Révocation Durant la période de validité portée par le certificat, il peut arriver que la clé privée associée soit perdue ou compromise, c'est-à-dire laissée à l'usage ou la connaissance d'autrui. Il peut aussi arriver que les informations contenues dans le certificat deviennent inexactes, par exemple s'il s'agit d'un certificat professionnel et que son possesseur quitte la société au nom de laquelle il l'a reçu. Dans tous ces cas il faut prévenir ceux qui pourraient encore se fier à ce certificat et leur signifier qu'à partir de cette date il n'est plus valide. Pour cela on demande la révocation du certificat à l'Autorité de Certification qui l'a émis. L'Autorité de Certification fait alors apparaître ce certificat dans la liste noire des certificats auxquels on ne peut plus faire confiance en consignant à côté leur date de révocation. Cette liste est appelée Liste de Révocation de Certificats (en anglais Certificate Revocation List). 4.2.5. Bourrage Le bourrage est un mécanisme destiné à sauvegarder la confidentialité des données en générant sur un trafic continu pour empêcher de distinguer le trafic réel du trafic artificiel. 4.2.6. Notarisation Ce procédé est basé sur le principe d’un tiers de confiance auquel est délégué le pouvoir d’arbitrage. La tierce partie se porte garante pour les transferts en utilisant une combinaison des signatures et une extraction de l’échange. Cette combinaison datée devient alors une preuve que l’échange a effectivement eu lieu et qu’aucune des parties ne peut renier avoir pris part à l’échange. 4.2.7. Hachage Une fonction de hachage permet de créer un « condensat » du message à signer appelé haché. Ce type de fonction cryptographique est conçu de façon qu’une modification même infime du message initial entraîne une modification du haché. Les algorithmes de hachage sont publics et implémentés sur les navigateurs. Une fonction de hachage est telle qu’il est impossible de retrouver un message initial à partir de son haché, ni de fabriquer deux messages intelligibles ayant le même haché. 2005 Toute reproduction même partielle interdite IGPDE page 215 Sécurité 4.2.8. SSO L’idée générale du SSO est de permettre à une entité de s’identifier une et une seule fois de manière explicite lors d’une navigation sur différents systèmes nécessitant chacun une authentification. D’un point de vue fonctionnel, plusieurs types de SSO peuvent être distingués selon les applications mises en jeu, les canaux de communication, etc. SSO interne : il s’agit d’offrir aux utilisateurs d’un réseau d’entreprise un login unique pour toutes les applications du système d’information. Cela peut se faire en utilisant par exemple l’authentification d’un domaine Windows ou encore en utilisant des certificats internes à l’entreprise contenant des informations sur les habilitations. SSO portail : il s’agit d’offrir à un grand nombre d’adhérents des accès à des services multiples qui proviennent de sources différentes et éventuellement hétérogènes, par exemple un portail bancaire, une place de marché tourisme, etc. L’accès à un tel portail se fait en mode Web (client léger). Selon la portée des sources (internes uniquement, quelques partenaires, de nombreux partenaires), la solution pourra être plus ou moins intrusive en termes d’architecture. 5. DETECTION D’INTRUSION 5.1. INTRODUCTION L'audit de sécurité permet d'enregistrer tout ou partie des actions effectuées sur le système. L'analyse de ses informations permet de détecter d'éventuelles intrusions. Les systèmes d'exploitation disposent généralement de systèmes d'audit intégrés, certaines applications aussi. Les différents évènements du système sont enregistrés dans un journal d'audit qui devra être analysé fréquemment, voire en permanence. Les types d'informations à collecter sur les systèmes pour permettre la détection d'intrusions sont les informations sur les accès au système (qui y a accédé, quand et comment), les informations sur l'usage fait du système (utilisation du processeur, de la mémoire ou des entrées/sorties) et les informations sur l'usage fait des fichiers. L'audit doit également permettre d'obtenir des informations relatives à chaque application (le lancement ou l'arrêt des différents modules, les variables d'entrée et de sortie et les différentes commandes exécutées). Les informations sur les violations éventuelles de la sécurité (tentatives de commandes non autorisées) ainsi que les informations statistiques sur le système seront elles aussi nécessaires. 5.2. CLASSIFICATION DES SYSTEMES DE DETECTION D'INTRUSIONS Pour classer les systèmes de détection d'intrusions, on peut se baser sur plusieurs variables. La principale différence retenue est l'approche utilisée, qui peut être soit comportementale, soit par scénarios. 5.2.1. Approche comportementale et approche par scénarios Dans les traces d'audit, on peut chercher deux choses différentes. La première correspond à l'approche comportementale, c'est-à-dire qu'on va chercher à savoir si un utilisateur a eu un comportement déviant par rapport à ses habitudes. Ceci signifierait qu'il essaye d'effectuer des opérations qu'il n'a pas l'habitude de faire. On peut en déduire, soit que c'est quelqu'un d'autre qui a page 216 Toute reproduction même partielle interdite IGPDE 2005 Sécurité pris sa place, soit que lui-même essaye d'attaquer le système en abusant de ses droits. Dans les deux cas, il y a intrusion. La deuxième chose que l'on peut chercher dans les traces d'audit est une signature d'attaque. Cela correspond à l'approche par scénarios. Les attaques connues sont répertoriées et les actions indispensables de cette attaque forment sa signature. On compare ensuite les actions effectuées sur le système avec ces signatures d'attaques. Si on retrouve une signature d'attaque dans les actions d'un utilisateur, on peut en déduire qu'il tente d'attaquer le système par cette méthode. 5.2.2. Autres méthodes de classification Si la classification la plus utilisée est celle de l'approche comportementale et de l'approche par scénarios, il est possible de classer les systèmes de détection d'intrusions en fonction d'autres paramètres. On peut classer les systèmes en fonction de la réponse qu'il apporte à l'intrusion qu'ils ont détectée. Certains systèmes se contentent d'émettre une alarme à l'administrateur (réponse passive) tandis que d'autres essayent de contrer l'attaque en cours (réponse active). Il y a pour l'instant deux principaux mécanismes de réponse implémentés : les alarmes qui permettent de prévenir rapidement l'administrateur et le filtrage des paquets venant de l'attaquant. Les systèmes peuvent être classés en fonction de la provenance de leurs données d'audit, selon qu'elles viennent du système, des applications ou des paquets du réseau. Certains systèmes surveillent en permanence le système d'information tandis que d'autres se contentent d'une analyse périodique. On peut très bien envisager de se baser sur d'autres paramètres comme le délai de détection, c'est-àdire si le système détecte les intrusions en temps réel ou non, sa capacité de traiter les données de façon distribuée, sa capacité à répondre aux attaques sur lui-même ou encore son degré d'interopérabilité avec d'autres systèmes de détection d'intrusions. 5.3. AGENTS MOBILES Une alternative à l'utilisation d'un module monolithique pour la détection d'intrusions est la mise en œuvre de processus indépendants. Un agent mobile est un programme autonome qui peut se déplacer de son propre chef, de machine en machine sur un réseau hétérogène dans le but de détecter et combattre les intrusions. Cet agent mobile doit être capable de s'adapter à son environnement, de communiquer avec d'autres agents, de se déplacer et de se protéger. Pour ce dernier point, une des fonctions de l'agent doit être l'identification et l'authentification pour donner l'emplacement et l'identité de celui qui l'a lancé. Ainsi, chaque agent est un programme léger, insuffisant pour faire un système de détection d'intrusions entier car il n'a qu'une vision restreinte du système. Si plusieurs agents coopèrent, un système de détection plus complet peut être construit, permettant l'ajout et le retrait d'agents sans reconstruire l'ensemble du système. La première caractéristique dont on peut tirer des avantages est la mobilité des agents. Le fait qu'il n'y ait pas de programme principal qui se sert des autres modules comme esclaves mais plutôt la présence de plusieurs entités intelligentes qui collaborent, fait que si une des entités s'arrête, le système continue de fonctionner. 2005 Toute reproduction même partielle interdite IGPDE page 217 Sécurité 6. LEGISLATION FRANÇAISE 6.1. CADRE GENERAL Le cadre juridique français distingue différents régimes en fonction de la finalité des moyens ou prestations de cryptologie et du niveau correspondant. 6.2. FINALITES ♦ Utilisation : personnelle, collective (pour un domaine ou un type d’utilisateur donné) ou générale (potentiellement n'importe qui). ♦ Fourniture: vente, location ou fourniture gratuite. ♦ Importation: en provenance d'un État n'appartenant pas à la Communauté européenne ou n'étant pas partie à l'accord instituant l'Espace Économique Européen. ♦ Exportation: à destination d’un État n’appartenant pas à la Communauté Européenne ou n’étant pas partie à l’accord instituant l’Espace économique européen; les transferts intracommunautaires sont contrôlés, au même titre que les exportations, sur la base d’une décision du conseil et d’un règlement européen, ce contrôle étant institué sur une base temporaire en l’attente d’une harmonisation des contrôles à l’exportation dans les États membres. 6.3. REGIMES Pour ces différentes finalités, les régimes possibles sont : ♦ Dispense de toute formalité préalable. La liberté est totale d'utiliser, de fournir, d'importer ou d'exporter le moyen ou la prestation considéré ; ♦ Déclaration simplifiée. Un formulaire administratif doit être simplement transmis au préalable à la DCSSI ; ♦ Déclaration. Un dossier de déclaration composé d'une partie administrative et d'une partie technique doit être transmis au SCSSI ; ♦ Autorisation. Un dossier de demande d'autorisation composé d'une partie administrative et d'une partie technique doit être transmis à la DCSSI. 6.4. APPLICATION DES REGIMES Pour chacune des opérations identifiées ci-dessus, l'application des différents régimes dépend bien évidemment du moyen ou de la prestation de cryptologie considérée, de sa finalité et de sa force. Par exemple, la liberté est totale d'utiliser des moyens de cryptologie dont la finalité est l'authentification, la garantie d'intégrité ou la signature numérique des transactions. Ceci est fondamental pour le courrier électronique ou le commerce électronique (non répudiation des commandes et des paiements notamment). La fourniture de tels moyens est soumise uniquement au régime de déclaration simplifiée. 6.5. DEMATERIALISATION La dématérialisation, c'est le remplacement des documents papier par des fichiers informatiques. Le fameux "bureau sans papier", qui a fait longtemps sourire, apparaît peu à peu. Il faut toutefois faire un distinguo entre : ♦ les originaux papiers qui sont numérisés pour archivage ; ♦ les documents qui sont produits d'origine sous format numérique (comme un mail, par exemple). page 218 Toute reproduction même partielle interdite IGPDE 2005 Sécurité 6.5.1. Un moyen de preuve En droit commercial, la preuve est libre. C'est-à-dire qu'il revient au juge d'apprécier l'authenticité du document qui est produit. Il peut donc s'agir d'un courriel, ou d'une image numérisée ou d'un PDF d'un document. Bien sûr, le support de cette preuve n'est pas indépendant de l'importance de la transaction; à savoir qu'un simple mail ne suffira probablement pas lors d'une contestation sur l'achat d'un Airbus. La loi du 13 mars 2000 (JO du 31 mars 2001) pose le principe de l'indépendance entre le document écrit et son support technique. Dès lors, un document électronique peut avoir la même valeur de preuve qu'un document papier. Toutefois, ce document numérique doit remplir deux conditions : ♦ permettre l'identification de son auteur ; ♦ être conservé dans des conditions de nature à garantir son intégrité. Cette même loi a reconnu la validité juridique de la signature électronique au même titre que la signature manuscrite. Le décret du 30 mars 2001 pris en application de la loi précitée détermine les conditions pour que des procédés de signature électronique puissent être considérés comme fiables, notamment le recours à des prestataires de services de certification qui délivreront des certificats de signature électronique après avoir vérifié l'identité des demandeurs (ces prestataires utilisent des systèmes de cryptographie à clés asymétriques, ou PKI). En d'autres termes, les documents électroniques non munis d'une signature correspondant à ces critères n'auront qu'une valeur de preuve juridique très réduite. 6.5.2. Responsabilité du destinataire d'un document électronique sécurisé (PKI) Lors d'un échange électronique sécurisé par PKI, la responsabilité du destinataire peut être engagée : ♦ s'il a accepté une signature comprenant des obligations dépassant les engagements maximaux portés sur le certificat, ou émise après la date de validité inscrite sur le certificat ; ♦ si le certificat a été révoqué avant la création de signature (d'où la nécessité de contrôler les listes de révocation (CRL) fréquemment). En revanche, elle ne sera en principe pas engagée s'il est établi que le prestataire de service de certification n'a pas fait correctement son travail de vérification. 6.5.3. L'Etat et la dématérialisation Le gouvernement a prévu et organisé la dématérialisation des échanges, notamment dans des dispositions de 1999 et dans la loi sur la Société de l'Information. Il fait plus qu'accepter, puisqu'il impose parfois les échanges électroniques, notamment dans le domaine fiscal (télédéclaration) et médical (carte Vitale). L'Etat ne souhaitant pas être une autorité de certification, il se positionne comme un des clients des systèmes à clé publique. Les AC (Autorités de Certification) sont l'interlocuteur auprès de l'Etat et sont responsables des certificats qu'ils gèrent. 2005 Toute reproduction même partielle interdite IGPDE page 219 Sécurité 6.5.4. La facture dématérialisée Il est possible de transmettre des factures sous forme dématérialisée dans le cadre des échanges intra et extra communautaires (directive européenne transposée en droit français), suivant deux moyens : ♦ EDI : depuis 1990, suivant une forme structurée adoptée par les deux parties (fournisseur et client) ; ♦ signée électroniquement : sous une forme quelconque (fichiers Word, Excel, pdf, tiff, jpeg...) mais certifiée au moyen d'une signature fournie par un tiers de confiance. La facture dématérialisée est admise par le fisc si elle respecte certaines règles. Notamment : ♦ comporter les clauses légales obligatoires sur toute facture ; ♦ répondre aux obligations comptables des entreprises et du commerce ; ♦ répondre aux règles de conservation des documents (voir le dossier Contrôle des Comptabilités Informatisées) ; ♦ être conforme aux directives sur la TVA ; ♦ enfin, satisfaire aux instructions spécifiques à la dématérialisation. 6.6. SSL 6.6.1. Objectifs SSL (Secure Sockets Layer) permet: ♦ l’authentification mutuelle du client et du serveur ; ♦ la sécurisation du trafic sur le canal de communication ; ♦ le contrôle de l’intégrité des données. SSL est un protocole de bas niveau agissant au dessus de la couche TCP/IP et offrant un ensemble de primitives permettant d'établir des communications sécurisées. SSL est le fondement des protocoles sécurisés SHTTP, SNNTP et SLDAP. SSL génère un surcoût de charge réseau d'environ 15% par rapport à une communication non sécurisée. page 220 Toute reproduction même partielle interdite IGPDE 2005 Sécurité 6.6.2. Fonctionnement La phase de négociation se déroule de la manière suivante : 1. le client initialise la session. 2. le serveur répond et lui renvoie son certificat. 3. le client génère la clé maîtresse et lui envoie encrypté en utilisant la clé publique du serveur. SSL requiert un certificat côté serveur mais pas côté client. Ainsi le certificat du serveur doit être digne de confiance. Le certificat côté client peut être utilisé pour authentifier le client auprès du serveur. 6.7. HTTPS 6.7.1. Description HTTPS est la version sécurisée de HTTP, largement adoptée par la communauté Internet. HTTPS est fondé sur le protocole SSL. HTTPS répond au problème de la sécurisation d'un site Web. 6.7.2. Fonctionnement Il devient possible à tout navigateur supportant SSL de se connecter au site mis en place avec les couches SSL activées. Typiquement, l'établissement d'une session sécurisée comprendra les étapes suivantes : ♦ Le navigateur contacte le serveur ; ♦ Le serveur renvoie son certificat signé ; ♦ L'utilisateur vérifie la validité du certificat. Il compare notamment le nom du serveur indiqué dans le certificat avec le nom du serveur auquel il essaie d'accéder ; ♦ L'utilisateur génère une clef symétrique qui sera utilisée dans la suite des échanges. Dans ce processus, seul le serveur est authentifié, ceci garantissant au client qu'il dialogue avec le bon serveur. Le système développé s'appuiera sur les mécanismes décrits ci-dessus et permettra également d'utiliser des certificats clients. Cette configuration spécifique du serveur forcera tout utilisateur se connectant au serveur à présenter un certificat, où figurera la clef publique de l'utilisateur et son identité. Ayant récupéré l'identité de l'utilisateur, le serveur en déduira, dans sa base de données locale, les droits d'accès qui lui sont associés. 6.8. SHTTP Protocole de transfert sécurisé sous Internet, développé par Enterprise Integration Technologies (Veriphone), fortement lié au protocole HTTP et différent de HTTPS. Il marque individuellement les documents HTML à l'aide de "certificats" tandis que SSL crypte la totalité de la communication. Un serveur sécurisé SHTTP possède une URL commençant par shttp:// 6.9. SMIME SMime (Secure Mime) permet de certifier la provenance des messages, mais aussi de garantir la confidentialité du contenu et son intégrité. SMime nécessite l'abonnement à un tiers certificateur car il s'appuie sur les technologies de chiffrement RSA. 2005 Toute reproduction même partielle interdite IGPDE page 221 Sécurité Pour garantir l'intégrité des messages, SMime appose un sceau obtenu à partir d'un brouillage du message constitué d'une séquence de 8 octets. Aussi appelé condensat, cette séquence est jointe au message. Le destinataire reçoit le message, le brouille également de son côté et compare la séquence de 8 octets qu'il a générés à celle qui figure dans le message reçu. Si les deux sont identiques, il a l’assurance que le message est intact. Pour assurer la confidentialité, le contenu est chiffré à l'aide d'une clef symétrique de type DES. Cette opération génère une deuxième série de 8 octets. Clef, sceau et informations sur l'identité de l'expéditeur sont ensuite chiffrés à l'aide des algorithmes RSA. Mais comme rien ne garantit que l'expéditeur est bien le détenteur de la clef qu'il utilise, un dernier niveau de sécurité est apporté par les certificats reposant sur la norme X.509 qui lie l'identité d'une personne à sa clef publique. 6.10. TLS TLS (Transport Layer Socket) est une évolution du protocole de SSL V3. TLS est extrêmement voisin de SSL. La plupart des implémentations de SSL (clients et serveurs) supporte les deux protocoles. 6.11. IMAPS, POPS L’utilisation de SSL avec IMAP et POP est un bon exemple du besoin de chiffrer les échanges utilisés pour l’authentification. En effet, la messagerie est la première application que les utilisateurs souhaitent pouvoir utiliser durant leurs déplacements. Les clients de messageries les plus usuels intègrent imaps et pops, aussi, une politique de sécurité supprimant les accès entrant dans le réseau local en protocole POP et IMAP au profit de POPS et IMAPS n’est pas trop contraignante. Signalons que Netscape messenger, Outlook, et Eudora à partir des versions 5.X supportent IMAPS et POPS. 6.12. SMTP/TLS L’activité pour sécuriser les services de messagerie est intense, dans le domaine de la confidentialité et de la signature, elle concerne SMIME et PGP, en ce qui concerne l’accès aux boites aux lettres, IMAPS, POPS. Le protocole SMTP reste un protocole sans authentification ni chiffrement, il est donc sensible à certaines attaques telles que : ♦ l’écoute du trafic pour capture des contenus de messages ; ♦ analyse du trafic pour reconstruire le log des échanges ; ♦ détournement de la fonction de relais d’un moteur STMP. Ce défaut est une des raisons pour laquelle les utilisateurs recoivent tous tant de «spam». Sans précaution particulière, un serveur SMTP peut être utilisé par quiconque pour relayer un très grand nombre de messages vers des destinations sans rapport avec le domaine géré par ce serveur SMTP. Une solution basée sur l’emploi de TLS permet de chiffrer les échanges (y compris l’échange des adresses e-mails des différents correspondants) et éventuellement de contrôler les serveurs autorisés à établir des sessions SMTP entrantes ainsi qu’autoriser sélectivement le relais. Pour ces deux cas, la session TLS comporte une demande de certificat du client. Le serveur vérifie alors que le titulaire du certificat est autorisé à faire un tel usage du service de messagerie. Cette solution très sure s’avère conviviale pour les utilisateurs de PC portable sur lequel est installé un certificat personnel. page 222 Toute reproduction même partielle interdite IGPDE 2005 Sécurité 6.13. PGP PGP (Pretty Good Privacy) est une solution de cryptage mise au point par Philip Zimmermann. PGP est devenu très vite le standard de cryptage des messages dans les systèmes de messagerie, parce qu'il est gratuit, d'une part et parce que le MIT soutient le protocole. PGP s'utilise sur Unix, VMS, MS-DOS, PCWindows, OS/2, Macintosh, etc. Comme d'autres logiciels de cryptage, PGP utilise deux clés, l'une publique et l'autre privée. La clé publique permet un premier niveau de sécurité dans la mesure où seules les personnes qui connaissent cette clé peuvent écrire ou lire. PGP utilise un code de validation en fin de codage qui permet de valider la cohérence du message crypté. Mais c'est la clé privée que le correspondant devra posséder qui permettra la parfaite sécurité du protocole. 2005 Toute reproduction même partielle interdite IGPDE page 223 Glossaire lexical GLOSSAIRE LEXICAL @ (Arobase) (prononcer « at ») caractère de séparation dans une adresse E-mail entre le nom de l'utilisateur et la machine qui l'héberge, par exemple « [email protected] ». 3RP/RD Réseau Radio à Ressources Partagées/ Réseau Radio à Données partagées ACID Atomicity, Coherence, Isolation, Durability ADMD ADministrative Management Domain ADO Active X Data Access ADRESSE ELECTRONIQUE (e-mail) Equivalent de l'adresse postale pour la messagerie électronique, exemple ; au Ministère de l'industrie les adresses ont la forme suivante ; [email protected] ADRESSE IP Adresse affectée à chaque station connectée sur l'Internet et plus généralement à tout équipement informatique qui utilise le protocole TCP/IP. Elle est formée de 4 octets notés sous forme décimale, séparés par des points. exemple; 156.156.2.18 AGL Atelier de Génie Logiciel. Outil de conception et/ou de développement d'application. API Application Programming Interface - interface de programmation applicative. C'est un ensemble de routines programme qui sont utilisées pour fournir des services et lier différents types de logiciels. Les API sont des ensembles explicites de fonctions ou d'appels de procédure. Elles peuvent donner une interface à des services locaux ou distants de la plate forme sur laquelle l'appel est perpétré. Elles fournissent des interfaces à différents types de services (communication, administration, sécurité...); AQ Assurance Qualité. ARPANET Advanced research project administration Network - Ancêtre du réseau Internet développé par le DoD (Department of Defense) américain au début des années 70. Réseau expérimental américain créé dans les années pour interconnecter des centres de recherches. Abandonné aujourd'hui il a permis de tester les protocoles et logiciels utilisés actuellement par l'Internet. ASCII American Standard Code for Information Interchange. -table de correspondance entre les caractères alphabétiques et leur code numériqueL'ASCII 7 bits (US ASCII) ne permet pas de coder les caractères accentués. page 224 Toute reproduction même partielle interdite IGPDE 2005 Glossaire lexical ASP Active Server Page ASP Application Service Provider ATM Asynchronous Transfer Mode : protocole de transmission de données. ATM est un mode de communication par commutation de cellules, permettant des hauts débits dans les transferts. AUTOROUTE ELECTRONIQUE Désigne les nombreux projets des sociétés de câble et de téléphone visant à faire circuler plus rapidement l'information dans le cyberespace et, ultimement, à y brancher tous les citoyens. BACKBONE Ligne haute vitesse ou ensemble de lignes haute vitesse qui constitue un point de passage important dans un réseau. BANDE PASSANTE Initialement, largeur de la bande de fréquence disponible sur un média de transmission et par abus de langage correspond à la quantité maximale d'informations en bit par seconde que peut véhiculer un canal de communication à un instant donné. BAUD Nombre de changements de signaux par unité de temps dans une transmission de données. Les lignes téléphoniques permettent une vitesse maximale de 2400 bauds. Le codage de plus d'un bit sur chaque changement de signal permet d'atteindre des vitesses de 32.000 bits par seconde. Il n'y a donc pas d'analogie entre les bits par seconde et les bauds, unité de mesure correspondant à 1 bit par seconde. BIT (Binary digIT) Unité élémentaire d'information codée sous la forme de 0 ou 1. BLOB Binary Large Objects. Nom donné à un type de champ particulier de bases de données dédié au stockage des contenus binaires volumineux (images, son, texte,...). BOOKMARK Terme anglais employé dans les logiciels de navigation. Signet (généralement un URL) que l'utilisateur note lors de navigations sur l'Internet, de manière à pouvoir retrouver rapidement l'information ultérieurement. BROWSER Terme générique désignant un logiciel permettant de naviguer sur le Web. BUG Erreur ou dysfonctionnement d'un programme informatique. CASE Computer Aided System Environment, AGL en français. CCITT Comité Consultatif International Télégraphique et Téléphonique. Organisation internationale qui établit les normes (recommandations) de télécommunication eEst devenue l'ITU. CGI Common Gateway Interface: interface normalisée entre un serveur HTTP et des programmes externes 2005 Toute reproduction même partielle interdite IGPDE page 225 Glossaire lexical CHIFFREMENT Méthode qui consiste à rendre les données indéchiffrables pour tout utilisateur autre que le destinataire d'un message. On a de plus en plus recours à cette technique pour transmettre par exemple des numéros de carte de crédit dans le cadre d'opérations commerciales en ligne. Synonyme - cryptage. CLIENT/ SERVEUR Modèle d'architecture applicative où les programmes sont répartis entre processus client et serveur communiquant par des requêtes avec réponses. CLIENT Un client ouvre une connexion (initie le dialogue) avec un serveur. Le terme client désigne l'application qui s'adresse au serveur où la machine où se trouve cette application. COMPRESSER Réduire la taille d'un fichier à l'aide d'un logiciel spécifique. CONFERENCES ou newsgroups. Équivalent numérique des dazibaos chinois, panneau sur lequel sont épinglées des opinions sur un sujet donné, auxquelles d'autres gens peuvent répondre. Sur Internet, il existe plus de 13 000 conférences, sur une infinité de sujets - de la culture iranienne aux microprocesseurs, en passant par la caféine, l'astronomie ou Madonna. En 1986, sept catégories officielles ont été créées afin de mettre de l'ordre dans la pléthore de groupes de news ; ♦ comp ; sujets intéressant les professionnels et amateurs de l'informatique. ♦ sci ; discussions caractérisées par des connaissances spéciales et généralement pratiques, portant sur la recherche dans les sciences reconnues ou leur application. ♦ news ; groupes orientés vers le réseau et les logiciels de news proprement dits. ♦ misc ; discussions sur des thèmes qui n'entrent dans aucune autre catégorie ou qui incorporent des thèmes appartenant à plusieurs catégories. ♦ soc ; discussions principalement axées sur des questions sociales et la vie sociale. ♦ talk ; groupes de débats ; on y trouve généralement des débats sans fin fournissant peu d'informations utiles. ♦ rec ; groupes orientés vers les arts, les passe-temps et les loisirs. CONTRAT DE SERVICE Il spécifie pour une application donnée, les engagements entre la production et les utilisateurs. Il est constitué de l'ensemble des objectifs et critères mesurables qui lui sont associés. CORBA Common Object Request Broker Architecture CRYPTAGE Autre terme pour chiffrement. CSMA/CD Carrier Sense Multiple Access with Collision Detection CTI Computer Telephony Integration / Téléphonie Assistée par Ordinateur page 226 Toute reproduction même partielle interdite IGPDE 2005 Glossaire lexical CUA Common User Agent CU-SEE-ME Logiciel freeware permettant d'effectuer des visios conférences via Internet. CVP Circuit Virtuel Permanent CYBER-CAFE Endroit public où l'on peut à la fois boire et manger et se connecter à Internet. CYBERESPACE Espace cybernétique. « Cyber » désigne la cybernétique (art de gouverner) et, de là, les nouvelles technologies associées notamment à l'informatique. Ce mot, créé par l'auteur de science-fiction William Gibson (Neuromancer), désigne l'ensemble de ce qui peut être joint par le biais d'un ordinateur et d'un modem. DAP Directory Access Protocol DARPA Defense Advanced Research Project Agency DCE Distributed Computing Environment DDE Data Dynamic Exchange, norme Microsoft d'échange de données interapplications locales par des canaux de communication spécifiques à Windows. DEBIT Vitesse à laquelle sont transmise les informations sur une liaison en réseau. S'exprime généralement en bps (bits par seconde). Ordre de grandeur des bas débits ; milliers de bits par seconde, soit des Kbit/s ♦ 1,2 Kbit/s ; Minitel (9,6Kbit/s pour le Minitel à vitesse rapide) ♦ 13 Kbit/s Radiotéléphone mobile avec compression numérique de la voix (GSM) ♦ 28,8 Kbits ; téléphone classique ; débit maximum sur le réseau analogique. Avec de telles liaisons, on peut transporter un fichier de 1 Mo en 4 à 5 minutes théoriques - c'est-à-dire en fait en 8 à 10 minutes. Ce qui veut dire que pour transférer un CD audio (640 Mo) il faudra 4 jours. La vitesse est maintenant de 56 Kbit/s ♦ 64 Kbit/s ; RNIS, Numéris en France (liaisons numériques de bout en bout, louées par France Télécom, utilisées actuellement par les entreprises). Une ligne à 64 Kbits par seconde permet de transférer un fichier de 1 Mo en 15 secondes théoriques, c'est-à-dire 30 secondes en pratique. Cela revient à transférer un CD audio (640 Mo) en 5 heures. ♦ 128 Kbit/s ; Visiophone utilisant deux canaux Numéris (images sautillantes et très médiocres) La vitesse des modems ne suffit plus pour les graphiques, la musique, et demain les animations, la réalité virtuelle et la vidéo-conférence. Numéris 128 Kbps avec les deux canaux B contre 14 ou 28 Kbps pour un modem courant - c'est tout de même une amélioration en attendant la fibre optique. 2005 Toute reproduction même partielle interdite IGPDE page 227 Glossaire lexical Ordre de grandeur des hauts débits ; millions de bits par seconde, soit des Mbit/s ♦ 1,4 Mbit/s ; Disque compact (son hi-fi stéréo) ♦ 1,5 à 5 Mbit/s ; télévision actuelle. ♦ 5 Mbit/s ; image de télévision numérisée en utilisant une compression numérique à la norme MPEG ♦ 30 Mbit/s ; image de télévision haute définition numérisée en utilisant une compression numérique à la norme MPEG ♦ 200 Mbit/s ; image de télévision numérisée mais sans compression numérique ♦ 150 à 2.500 Mbit/s ; liaisons entre centraux ♦ 1 000 Mbit/s ; débits des nouveaux systèmes de transmission numériques pour les liaisons à haut débit sur fibre optique entre centraux téléphoniques ♦ 100.000 Mbit/s Capacité maximale d'un commutateur téléphonique de type ATM DEBIT Vitesse à laquelle sont transmis les bits sur une liaison, voir bits. DHCP Dynamic Host Configuration Protocol DHTML Dynamic HTML DIALUP (IP) Mode de connexion temporaire établie à travers le réseau téléphonique. DIB Directory Information Base DIT Directory Information Tree DLL Dynamic Link Library DNS Domain Name System : système d'annuaire distribué sur l'Internet ou sur un réseau TCP/IP qui contient principalement les noms et les adresses IP des Stations. Il sert à faire la conversion nom -> adresse IP. DOM Document Object Model DOMAINE PUBLIC Freeware . Qualificatif des logiciels que l'on peut utiliser gratuitement. DOWNLOAD (descendre) - Récupérer un fichier en le téléchargeant depuis une machine distante vers sa propre machine (l'action contraire est “ Upload ”). DSA Distributed Systems Architecture DSA Directory System Agent DSLAM DSL Access Multiplexer DSL Digital Subcriber Line page 228 Toute reproduction même partielle interdite IGPDE 2005 Glossaire lexical DSP Directory System Protocol DSS Decision Support System DTD Document Type Definition DUA Directory User Agent EAI Enterprise Application Integration EDIFACT Electronic Data Interchange For Administration, Commerce and Transport : normes internationales d'échange de données informatisées entre partenaires d'affaires dans les domaines de l'administration, du commerce et du transport. EDI Electronic Data Interchange : échange de données entre deux applications informatiques au moyen de messages normalisés. EFI Echange de Formulaire Informatisé EIS Executive Information System EJB Enterprise JavaBeans EMOTICON Voir Smiley. Traduction française du mot « Smiley ». ERP Enterprise Resource Planning ETTD/ETCD Equipement Terminal de Terminaison de Données/ Equipement Terminal de Circuit de Données FAQ Frequently Asked Questions. Document qui regroupe les questions et les réponses les plus courantes associées à un sujet. De nombreux newsgroups publient régulièrement des FAQ, Top 50 des questions posées, de manière à ce que les nouveaux participants puissent trouver les réponses aux questions déjà posées par d'autres. FDDI Fiber Distributed Data Interface FIREWALL Mur coupe-feu. Ordinateur situé « en tête » d'un réseau local, juste avant la connexion vers Internet. Son but est de protéger les fichiers du réseau interne d'un site en prévenant l'accès non autorisé à ces fichiers, en filtrant les entrées-sorties. FISP Fenêtres, Icônes, Souris, Pointeur FORUM ELECTRONIQUE Newsgroup ou liste de diffusion électronique. FOURNISSEUR D'ACCES INTERNET OU INTERNET SERVICE PROVIDER Prestataire de services qui offre différents types de comptes d'accès Internet aux organismes et aux particuliers. Synonyme ; prestataire d'accès Internet (en anglais ; provider). 2005 Toute reproduction même partielle interdite IGPDE page 229 Glossaire lexical SERVICE PROVIDER FRAD Frame Relay Assembler Disassembler FREEWARE Gratuiciel ou logiciel que son auteur a choisi de rendre absolument gratuit, soit qu'il désire le tester, soit qu'il désire en faire profiter la communauté. Ces logiciels deviennent parfois payants dans une phase commerciale. Les québécois utilisent le mot gratuiciel. FTAM File Transfer, Access and Management FTP File Transfer Protocol - protocole de transfert de données permettant de télécharger des documents ou des programmes depuis et vers un ordinateur-hôte. Le FTP anonyme permet une connexion à un ordinateur éloigné, sans besoin d'identification ou de mot de passe. GIF Graphical Image Format : format généralement utilisé pour les fichiers d'images fixes (noms suffixés par.gif). GIGA (GO) « milliard » d'octets, ou 1024 Méga Octets (1073741824 octets pour être précis). GPRS General Packet Radio Service GSM Global System Mobil GUI Graphical User Interface HACKER Pirate, flibustier, qui cherche à pénétrer illégalement dans les réseaux de communication. Viendrait du mot anglais to hack, à la fois dans le sens de démolir mais aussi de chevaucher (les ordinateurs). Bien que souvent en marge de la loi, les hackers sont parfois assimilés à tort (surtout en France) à de simples pirates informatiques. HDLC HIGH Level Data Link Control HOTE Ordinateur éloigné auquel on se connecte. HTML HyperText Markup Language. Format des documents hypertexte (avec des liens) utilisé sur le WWW. HTTP HyperText Transfer Protocol. Protocole de communication entre client et serveur WWW. HYPERMEDIA Ce terme fait référence à l'ensemble des liens multimédia accessibles sur le Web, et qui pointent sur des fichiers sonores, des graphiques, des séquences vidéo ou du texte. HYPERTEXTE Ce terme inventé par Ted Nelson désigne un système non linéaire de recherche et de consultation de documents qui contiennent des liens établissant des correspondances avec d'autres documents. Toute l'organisation du Web se fonde sur la notion d'hypertexte. Les hypertextes sont d'une couleur particulière pour être facilement identifiables et ils page 230 Toute reproduction même partielle interdite IGPDE 2005 Glossaire lexical changent de couleur une fois utilisés. IEEE Institute of Electrical and Electronic Engineers IETF Internet Engineering Task Force. Ensemble des groupes de travail qui en particulier définissent les évolutions techniques (nouveaux standards) de l'Internet. IHM Interface Homme/Machine: ensemble d'outils progiciels qui permettent de faire communiquer les utilisateurs et leurs machines. IMAP Interactive Mail Access Protocol INFOCENTRE Système d’information dans lequel les informations ne peuvent être accédées qu’en lecture. INRIA Institut National de Recherche en Informatique et en Automatique. INTERNAUTE Désigne un explorateur du cyberespace et du réseau Internet. INTERNET Vaste regroupement de réseaux d'ordinateurs qui échangent de l'information par le biais d'une suite de protocoles de réseau appelée TCP/IP. Ce réseau planétaire composé de milliers de réseaux d'ordinateurs (universités, gouvernements, etc.), tous reliés les uns aux autres s'est constitué à partir de 1969. IPX/SPX Internet Packet eXchange/ Sequenced Packet eXchange IP Voir adresse IP et TCP/IP. IRC Internet Relay Chat. Une des applications d'Internet, permettant de correspondre avec plusieurs personnes simultanément et en temps réel. C'est une sorte de citizen band textuelle. ISOC Internet Society. Société savante dont le but est de promouvoir l'Internet. ISO-LATIN1 OU ISO8859 Jeu des caractères (qui inclut les caractères accentués) codé sur 8 bits. ISO International Standards Organization. Organisation qui définit entre autres les protocoles de communication autres que TCP/IP, appelés protocoles OSI. ITU International Telecommunications Union. Union voir CCITT. JAVA Langage de programmation orienté objet mis au point par Sun. JDK Java Developpement Kit JSP Java Server Page JVM Java Virtual Machine 2005 Toute reproduction même partielle interdite IGPDE page 231 Glossaire lexical KBITS Unité de débit de liaison ; millier (kilo) de bits par seconde. Noté aussi Kbps. KILOOCTET (KO) Correspond à 1024 octets (2 puissance 10). L3G Langage 3ème génération LAN Local Area Network LDAP Lightweight Directory Agent Protocol LIAISON SPECIALISEE (LS) liaison privée point à point permanente pour transporter les données informatiques. En France elles sont toutes louées à France Télécom. LISTE DE DIFFUSION Mailing list. Un des services de l'Internet pour établir un forum de discussion, avec les outils de messagerie électronique. Un message envoyé à une liste de diffusion est rediffusé, par un serveur de liste, à un ensemble d'adresses électroniques. LISTSERV Terme maintenant générique pour désigner le logiciel serveur de liste de diffusion. LOGIN L'opération de connexion sur un serveur, quel qu'il soit, passe avant tout par une phase d'identification. Votre « login », généralement votre nom, correspond à cette identification, il est suivi du mot de passe (password). MAILBOX Boîte aux lettres où est stocké le courrier électronique. MAIL Message électronique. MAN Medium Area Network MBITS Million (mega) de bits par seconde. Aussi noté Mbps. MEGAOCTETS (MO) Plus d'un million d'octets (1048576 exactement). MHS Message Handling System MIB Management Information Base. Standard de base de données arborescente qui décrit l'état d'un équipement (composition, caractéristique..). Un complément à cette base standard - MIB privée - permet aux fournisseurs d'intégrer des données particulières liées au fonctionnement de son équipement. MIME Multipurpose Internet Mail Extensions - protocole évolué qui permet d'ajouter des éléments autres que du texte. MIME, qui remplace progressivement les protocoles de courrier électronique de première génération, permet de joindre des fichiers binaires (ex. : graphiques, fichiers exécutables, fichiers audio, etc.) aux messages ordinaires. MIPS Millions of Instructions Per Second. Unité de mesure définissant la vitesse de calcul d'un micro-processeur, donc d'un ordinateur. page 232 Toute reproduction même partielle interdite IGPDE 2005 Glossaire lexical MIRRORING Mécanisme de duplication de données (miroir) sur deux disques physiques différents pour accroître la disponibilité des données en cas de panne. MODEM MOdulateur/DEModulateur - Boîtier que l'on met entre un ordinateur et une prise téléphonique pour transformer un signal numérique (informatique) en signal analogique téléphonique et vice-versa, afin qu'il puisse transiter sur une ligne téléphonique. Deux ou plusieurs ordinateurs reliés par une ligne téléphonique sont ainsi capables d'échanger des fichiers et de communiquer. Les modèles courants permettent aujourd'hui d'atteindre des débits jusqu'à 28,8 Kbits/s sur une ligne téléphonique, voire 56 Kbit/s maintenant. MOM Message Oriented Middleware MPEG Motion Picture Expert Group - norme de compression d'images animées. On peut utiliser une norme similaire pour compresser des sons (on parle alors de MPEG-audio). MPP Massively Parallel Processing MS Message Store MTA Message Transfer Agent MTU Maximum Transmission Unit MULTI THREADING Possibilité de gérer plusieurs thread au sein d'un processus. Mécanisme permettant l'exécution d'un même processus Unix sur plusieurs CPU. Un thread est une sorte de « processus léger ». MULTIMEDIA Il faut distinguer entre la première vogue du multimédia des années 80, où les agences publicitaires parlaient de « campagne publicitaire multimédia » à la radio, la télévision, dans les journaux ; et le multimédia grand public des années 90 qui correspond à la généralisation du CD-ROM et des équipements permettant de traiter numériquement le son, le texte et l'image. On peut aujourd'hui définir le multimédia par son caractère unifié et interactif. Unifié, dans la mesure où les données brutes, sons, images ou textes, sont captées par des périphériques, puis transformées par le microprocesseur en langage numérique. Interactif, car il permet des lectures à parcours multiples, grâce à la gestion arborescente de l'information et à la notion d'hypertexte. Le multimédia n'est pas en soi une nouveauté absolue ; il y a toujours eu des modes d'expression et de communication multimédia. La télévision est multimédia, le cinéma parlant, les « arts vivants » sont multimédia, l'orateur de colloque qui joint le geste à la parole, est multimédia. MULTIPOSTAGE Envoi d'un message à plusieurs groupes de nouvelles simultanément - un geste dont l'abus est habituellement considéré comme contraire à la netiquette. Synonyme ; envoi multiple. Le multipostage abusif désigne le fait de poster un article dans des groupes de nouvelles sans égard à la pertinence du sujet par rapport aux groupes destinataires. Souvent, il s'agit de publicité abusive avec des titres du type ; « Devenez riche en un jour 2005 Toute reproduction même partielle interdite IGPDE page 233 Glossaire lexical ! ». NAS Network Attached Storage NAVIGATEUR Logiciel utilisé pour accéder aux documents qui se trouvent sur le Web. Il existe des logiciels de navigation en mode texte ou en mode graphique. NAVIGUER Explorer le cyberespace, ou plus généralement le Web en naviguant dans un espace non linéaire. Synonyme de surfer. NCSA National Center for Supercomputing Applications. A conçu et diffusé différents logiciels du domaine public très connus, comme NCSA Mosaic, NCSA Telnet. NC Network Computer - nom du futur ordinateur d'Oracle, principalement destiné aux accès à Internet. L'idée est qu'avec des réseaux toujours plus rapides et moins chers, il devient contre-productif de continuer à fabriquer des PC coûteux et bourrés de capacités que l'on n'utilise pas. Selon cette vision, l'avenir appartient aux ordinateurs de réseau, des machines à 500 dollars, simples, dotées d'un écran plat en couleur, clavier et modem, sans disque dur, sans disquette, avec un minimum d'applications (dont l'accès à Internet). Tout le reste se trouvera à l'autre bout du réseau, prêt à être téléchargé et utilisé à tout moment, en utilisant le langage de programmation Java (voir ce terme). Cette vision est toutefois controversée ; il s'agirait en quelque sorte du retour à la vieille structure des ordinateurs propriétaires, où la puissance de calcul et l'information seraient stockées dans des ordinateurs centraux et où les terminaux seraient « stupides », alors que la force d'Internet est justement dans le partage de cette puissance (et donc du pouvoir de communication) entre tous les utilisateurs. NDS Netware Directory Server NETBEUI Netbios Extended User Interface NETIQUETTE Fusion des mots anglais Net (Internet) et Etiquette (Ethique), ensemble de règles de bonne conduite qui régissent l'interaction en ligne sur Internet et notamment les newsgroups. NETSCAPE Logiciel client WWW, appelé logiciel de navigation ou browser. NEWSGROUP Un newsgroup est un des forums électroniques de USENET. Chaque newsgroup possède un thème particulier. NEWS Désigne l'ensemble des forums électroniques sur l'Internet qui utilisent le protocole NNTP. Aussi appelé USENET. Ces forums où chacun dépose des courriers (articles) par thème. Ces courriers sont conservés quelques jours et donnent lieu à des discussions. NFS Network File System NIC Network Information Center. Terme générique pour désigner l'équipe qui assure les tâches administratives (distribution de noms de domaines et d'adresses de réseaux IP), d'assistance aux utilisateurs et de diffusion page 234 Toute reproduction même partielle interdite IGPDE 2005 Glossaire lexical d'information sur un réseau Internet. En France il s'agit du NIC-France. NIST National Institute for STandards NNTP Network News Transfer Protocol. Protocole pour distribuer, poster, retrouver les news. NOM DE DOMAINE Adresse d'identification d'un site Internet. Les noms de domaine comportent au moins deux parties. La première partie désigne le nom de l'entreprise ou de l'organisme, tandis que la deuxième partie correspond au sous-domaine servant à désigner soit un pays (par exemple fr pour France), soit un type d'organisation (com pour commercial ; edu pour éducation). NOS Network Operating System NSAPI API des serveurs Netscape NUMERIS Ligne numérique à haute vitesse fournie par France Télécom. OCR Optical Character Recognition. Procédé de reconnaisance optique de caractères. Utilisé par exemple pour décoder un fax (c'est-à-dire une image) et le transformer en texte après analyse. ODBC Open DataBase Connectivity (inclus dans WOSA) norme d'accès aux systèmes de gestion de données tels que SQL Server, Oracle, données Excel ou autres. OLAP On Line Analytical Processing OLE Object Link and Embeding. Norme de Microsoft d'interaction entre applications Windows partageant des objets communs. OOUI Object Oriented User Interface ORB Object Request Broker OSF Open Software Foundation PABX Private Automatic Branch Exchange PARTAGICIEL Shareware. Logiciel pouvant être téléchargé sur Internet et mis à l'essai avant son acquisition. Les utilisateurs qui continuent à utiliser le programme sont moralement tenus de payer des droits à l'auteur (rarement plus d'une centaine de dollars). En retour, ils obtiennent de la documentation, des fonctionnalités supplémentaires, du soutien technique et des mises à niveau. PDA Personnal Digital Assistant ou Assistant Numérique Personnel (ANP) PGP Pretty Good Privacy - logiciel permettant d'encrypter des données de manière fiable (algorithme à clef publique) afin de les rendre confidentielles sur le réseau. Une autre de ses fonctions est de permettre l'authentification fiable de l'expéditeur. 2005 Toute reproduction même partielle interdite IGPDE page 235 Glossaire lexical PHP Personnal Home Page POP Post Office Protocol : protocole qui permet à un utilisateur isolé d'accéder à sa boîte aux lettres sur un serveur. PORTABILITE Caractéristique grâce à laquelle l'utilisateur peut transférer un code opérationnel sur le matériel ou le système d'exploitation d'un constructeur donné vers le matériel ou le système d'exploitation d'un autre constructeur, en vue de l'y exécuter sans avoir à apporter des modifications importantes. POSTSCRIPT (PS) Format d'impression de fichiers textes (nom suffixés par.ps). PPP Point-to-Point-Protocol. Protocole de communication pour transférer des données sur une liaison point à point. PPP est utilisé sur le réseau téléphonique commuté. PPTP Point to Point Tunnelling Protocol PRMD PRivate Management Domain PROCEDURES STOCKEES Requêtes SQL résidentes au niveau du serveur de données et déclenchées explicitement par les applications clientes. PROTOCOLE DE COMMUNICATION Description d'un ensemble de règles que doivent suivre les équipements de communication et/ou les stations pour échanger des informations. RAID Redundant Array of Inexpensive Disk RAM Random Access Memory RECOVERY Mécanisme de remise en cohérence des données après arrêt d'un moteur SGBD, basé sur l'utilisation du journal des transactions. RENATER Réseau National de Télécommunication pour l'Enseignement et la Recherche (en France). Ce réseau interconnecte plus de 300 sites (principalement des campus universitaires et laboratoires de recherche). RFC Request For Comment. Document qui généralement définit un standard de communication ou une application sur l'Internet. RNIS Réseau Numérique à Intégration de Services, ISDN pour Integrated Service Data Network ROUTEUR Matériel (ou logiciel) qui gère le routage de l'information sur réseau IP. Les routeurs vérifient constamment les adresses des paquets d'information et décident de la meilleur « route » pour les acheminer. RPC Remote Procedure Call RTC Réseau Téléphonique Commuté. page 236 Toute reproduction même partielle interdite IGPDE 2005 Glossaire lexical RUA Remote User Agent SAN Storage Area Network SCM Supply Chain Management SDH Synchronous Digital Hierarchy SDLC Synchronous Data Link Control SERVEUR Machine ou logiciel qui offre des services (du temps machine, des documents) à un client consommateur (utilisateur, machine ou logiciel). SERVEUR DE NEWS Serveur sur lequel le fournisseur récolte les différents newsgroups, sa consultation fait partie des services qu'il rend. SERVEUR DE NOMS Logiciel serveur du DNS qui répond à des requêtes. SERVEUR SMTP Serveur de messagerie, machine relais, sur laquelle on envoie les messages et qui ensuite les fait suivre au destinataire. SERVICES GENERIQUES Externalisation par rapport aux applications, de fonctions ou services communs qui ne sont pas spécifiques à une application particulière ; les applications font appel aux fonctions et services communs par l'intermédiaire d'API SGBD Système de Gestion de Base de Données ou DBMS – Data Base Managment System en anglais. On distingue les moteurs de SGBD locaux pour un faible nombre d'utilisateurs en réseau micro, et les moteurs de type Oracle, Sybase, DB2, Informix tournant sous divers systèmes d'exploitation (VMS, Unix, ...) et pouvant être interfacés avec des moniteurs transactionnels. SGML Standard Generalized Markup Language SHAREWARE Distribuciel ou partagiciel. SIAD Système Informatique d'Aide à la Décision SMHD Service Multisite Hauts Débits SMILEY Petit visage créé à l'aide des signes du clavier (lettres, chiffres ou caractères de ponctuation), pour exprimer l'humeur de l'auteur du message, ou souligner le caractère drôle :-), satirique :-)) ou triste :-( d'un passage. Le principe des Smileys est de représenter la tête d'un bonhomme de façon très schématique avec des signes simples. Pour reconnaître le bonhomme il faut pencher la tête sur la gauche afin de deviner en les yeux, le nez et la bouche. Autres termes ; emoticones, binettes. SMP Symetric Multi Processing SMTP Simple Mail Transfert Protocol. Protocole utilisé pour la messagerie sur réseau TCP/IP. 2005 Toute reproduction même partielle interdite IGPDE page 237 Glossaire lexical SNA Systems Network Architecture SNMP Simple Network Management Protocol. Standard de l'IETF. Protocole d'administration de réseau issu du monde TCP/IP mais indépendant des protocoles de réseau : définit l'interface de dialogue entre un élément du réseau et la station d'administration. Basé sur un fonctionnement par interrogation systématique des éléments du réseau. SOAP Simple Object Access Protocol SQL Structured Query Language SSL Secure Socket Layer STATION Synonyme pour micro-ordinateur, indique souvent une machine puissante. SURFER Naviguer, explorer le Web à la recherche d'information en se déplaçant de façon non linéaire dans le cyberespace. SYSTEMES OUVERTS Systèmes composés d'éléments qui communiquent à travers des interfaces standards. Ensemble complet et cohérent d'apparence et de comportements, d'interfaces de programmation, de formats, de protocoles et de services pour l'interopérabilité ou pour la portabilité des applications, des données et des hommes, tels qu'ils sont spécifiés dans les normes et profils de traitement de l'information (IEEE). TCP/IP Le protocole de contrôle de transmission (TCP) et le protocole Internet (IP) sont des protocoles permettant à différents types d'ordinateurs de communiquer entre eux. Le réseau Internet est fondé sur cette suite de protocoles. TELECHARGEMENT Terme général pour désigner le transfert de fichiers d'un ordinateur à un autre. TELNET Protocole et application utilisés sur réseau TCP/IP pour se connecter à distance sur un ordinateur (en général un système Unix) et y travailler comme depuis un terminal local. THREAD Défini dans Posix comme une séquence de traitement unitaire au sein d'un processus. Chaque séquence possède un identifiant, une priorité et un environnement système en partie indépendant du processus qui l'englobe. TSE Terminal Server Emulation UA User Agent UDDI Universal Description Discovery and Integration UDP User Datagram Protocol page 238 Toute reproduction même partielle interdite IGPDE 2005 Glossaire lexical UML Unified Modelling Language UMTS Universal Mobile Telecommunication System URL Uniform Ressource Locator. Adresse d'un document accessible par WWW, FTP anonyme, Gopher..) dans le World Wide Web. UTP Unshielded Twisted Pair V32,V34,V42, Normes du CCITT qui définissent les débits, les méthodes de compression, utilisés par les modems. V42BIS VIRTUEL Cet adjectif qualifie les objets qui existent ou les activités qui se déroulent dans le cyberespace. Par exemple, sur le Web, on peut trouver des galeries marchandes électroniques, des musées virtuels ou des vitrines électroniques. VLAN Virtual LAN VPN Virtual Private Network : service de réseau privé virtuel longue distance offert par des fournisseurs de réseau à valeur ajoutée. VRML Virtual Reality Modeling Language (prononcer vairmaul). Langage de programmation destiné à offrir sur Internet une interface proche de celle d'une application de réalité virtuelle. VRML permet de modéliser une scène en 3D dans laquelle l'utilisateur peut évoluer à sa guise et éventuellement accéder à d'autres scènes. VSAT Very Small Aperture Terminal W3C World Wide Web Consortium WAIS Wide Area Information Service : système permettant de faire des recherches d'informations très poussées sur des bases de données ou des bibliothèques à travers Internet. WAN Wide Area Network WAP Wireless Application Protocol WLAN Wireless LAN WORLD WIDE WEB (WEB, WWW, W3) Littéralement, toile d'araignée mondiale. Désigne un système hypermédia permettant d'accéder facilement aux ressources d'Internet. L'utilisateur peut télécharger des fichiers, écouter des fichiers audio, regarder des fichiers vidéo et passer d'un site Web à un autre en cliquant sur des liens hypertextes. WOSA Windows Open System Architecture, norme Microsoft fédératrice des « extensions » et interfaces autour de Windows (OLE, ODBC, MAPI, ...). X.11 Norme X/Open pour les terminaux X ou X.Window. 2005 Toute reproduction même partielle interdite IGPDE page 239 Glossaire lexical X.25 Norme ISO de commutation de paquets. X.400 Norme ISO du service de messagerie. X.500 Norme ISO du service d’annuaire. XML Extended Markup Language page 240 Toute reproduction même partielle interdite IGPDE 2005 INSTITUT de la Gestion Publique et du développement économique Form@tic Serveur Intranet http://alize.alize/crp/tic