InternetUn article de Wikipédia, l'encyclopédie libre.Aller à : Navigation, Rechercher
Ne doit pas être confondu avec Web.
Internet est le réseau informatique mondial qui rend accessibles au public des services comme le courrier électronique et le World Wide Web. Ses utilisateurs sont désignés par le néologisme « internaute ». Techniquement, Internet se définit comme le réseau public mondial utilisant le protocole de communication IP (Internet Protocol). Internet ayant été popularisé par l'apparition du World Wide Web, les deux sont parfois confondus par le public non averti. Le Web est une des applications d'Internet, comme le sont le courrier électronique, la messagerie instantanée et les systèmes de partage de fichiers poste à poste. Par ailleurs, du point de vue de la confidentialité des communications, il importe de distinguer Internet des intranets, les réseaux privés au sein des entreprises, administrations, etc., et des extranets, interconnexions d'intranets pouvant emprunter Internet. L'accès à Internet peut être réalisé auprès d'un Fournisseur d'accès via divers moyens de télécommunication : soit filaire (réseau téléphonique à bas débit ADSL ou xDSL, câble coaxial, fibre optique, courant électrique porteur CPL), soit sans fil (Wi-Fi, Wimax, Internet par satellite, 3G...).
Terminologie [modifier]Le terme d'origine anglaise « Internet » a été dérivé du concept d'internetting (en français, « interconnecter des réseaux ») dont la première utilisation documentée remonte à octobre 1972 par Robert E. Kahn[1] au cours de la première ICCC (International Conference on Computer Communications) à Washington. Au cours de l'histoire de la création d'Internet, différents noms sont parfois considérés comme ancêtres du terme « Internet » : internetting, interconnected networks, internetworking, internetwork, international inter-connected networks, Inter Net, inter-net et International Network. Toutefois, les origines exactes du terme Internet restent à déterminer. Ce flou a favorisé l'apparition de multiples explications faisant office d'origine. En 2008, ceux qui prétendent connaître l'origine du terme sont légion (un exemple courant est d'affirmer qu'« Internet » est l'acronyme d'interconnected networks). Toutefois, c'est le 1er janvier 1983 que le nom Internet, déjà en usage pour désigner l'ensemble d'ARPANET et plusieurs réseaux informatiques, est devenu officiel. La définition de ce qu'est Internet n'est pas évidente à expliciter de manière précise sans entrer dans les détails techniques, ce qui tend à une vulgarisation de la définition et facilite les confusions et imprécisions en français. Une des confusions les plus courantes porte sur le Net (en français « réseau ») et le web (en français « toile [d'araignée] »). En réaction à l'importance croissante du « phénomène Internet » et la prolifération de termes relatifs à ce phénomène dans le langage, il y a eu diverses publications au Journal officiel de la République française. L'une d'elle indique qu'il faut utiliser le mot « Internet » comme un nom commun, c'est-à-dire sans majuscule. L'Académie française recommande de dire « l'internet », comme on dit souvent « le web ». Bien que l'usage en français soit d'écrire le mot avec une majuscule et sans article, comme un nom propre, il existe beaucoup de controverse sur le sujet entre les partisans d'« Internet » et de « l'internet »[2]. L'usage courant fait référence à Internet de différentes manières. Outre les recommandations officielles, il n'est pas rare de rencontrer les termes suivants : « le Net » ou « le net », « Internet », « l'internet », « le réseau des réseaux » ou plus simplement « le réseau » et « le Réseau » décliné parfois en « Le réseau ». Certains termes sont utilisés à tort pour faire référence à Internet, par exemple : « la Toile », « le web » ou « le Web » (the Web en anglais), mais cela désigne la Toile et non pas Internet. Cette confusion entre web et net existe aussi en anglais. En anglais, on utilise un article défini et une majuscule pour parler d'Internet. Cet usage vient du fait qu'« Internet » est de loin le réseau le plus étendu et le plus grand « internet » du monde. Un internet (avec « i » minuscule) est un terme anglais utilisé pour désigner une interconnexion de réseaux informatiques par internetworking (voir (en) internetworking). Historique [modifier]Les mémos que Licklider du Massachusetts Institute of Technology (MIT) écrivit en juillet 1962 sont les plus anciens textes décrivant les interactions sociales qui seraient possibles avec un réseau d'ordinateurs. Cela devait notamment faciliter les communications entre chercheurs du Defense Advanced Research Projects Agency (DARPA). En octobre 1962, Licklider fut le premier chef du programme de recherche en informatique du DARPA. Il persuada ses successeurs Ivan Sutherland, Bob Taylor et le chercheur du MIT Lawrence G. Roberts de l'intérêt des réseaux informatiques. En 1961, Leonard Kleinrock du MIT avait publié le premier texte théorique sur les télécommunications par paquets et en 1964 il publia le premier livre sur le sujet. En 1965, Roberts testa avec Thomas Merrill la première connexion informatique à longue distance, entre le Massachusetts et la Californie. Le résultat montra que des ordinateurs pouvaient travailler ensemble à distance, mais que le mode de télécommunication par établissement de circuit du système téléphonique était inadapté. Le concept de communication par paquets de Kleinrock s'imposa. En 1966, Roberts fut engagé par Taylor au DARPA pour concevoir l'ARPANET. Il publia les plans en 1967. En présentant ce texte, il découvrit deux autres groupes de chercheurs travaillant indépendamment sur le même sujet : un groupe du National Physical Laboratory (NPL) du Royaume-Uni avec Donald Davies et Roger Scantlebury, et un groupe de la RAND Corporation avec Paul Baran. Entre 1962 et 1965, le groupe de la RAND avait étudié la transmission par paquets pour l'armée américaine. Le but était de pouvoir maintenir les télécommunications en cas d'attaque (éventuellement nucléaire), ce que permet une transmission par paquets dans un réseau non centralisé. Il s'agissait d'un développement indépendant d'ARPANET : bien que probablement robuste face à une telle attaque, ARPANET n'a pourtant été conçu que pour faciliter les télécommunications entre chercheurs. Le rapport de Paul Baran est resté purement théorique, et est rapidement tombé dans l'oubli. Mais le mythe d'« ARPANET comme dernier rempart à une attaque atomique » trouve là son origine. Pendant ce temps, au British National Physical Laboratory, l'équipe de Donald Davies avait progressé : NPL Network, le premier réseau maillé fondé sur la transmission de datagrammes (packets) était fonctionnel. Mais l'histoire d'Internet n'a pas été écrite par les Européens : ARPANET sera désormais l'origine officielle d'Internet. En août 1968, le DARPA accepta de financer le développement du matériel de routage des paquets d'ARPANET. Ce développement fut confié en décembre à un groupe de la firme BBN (Bolt Beranek and Newman) de Boston. Ce dernier travailla avec Robert E. Kahn (Bob Kahn) sur l'architecture du réseau. Roberts améliorait les aspects topologiques et économiques du réseau. Kleinrock préparait des systèmes de mesures du réseau. En septembre 1969, BBN installa le premier équipement à l'UCLA où travaillait Kleinrock. Le second nœud du réseau fut installé au Stanford Research Institute (SRI) où travaillait Douglas Engelbart sur un projet d'hypertexte. Deux nœuds supplémentaires furent ajoutés avec l'université de Santa Barbara et l'Université d'Utah. Fin 1969, ARPANET comptait donc quatre nœuds. Le Network Working Group (NWG) conduit par Steve Crocker finit le protocole de communication poste-à-poste NCP en décembre 1970. Ce protocole fut adopté entre 1971 et 1972 par les sites branchés à ARPANET. Ceci permit le développement d'applications par les utilisateurs du réseau. En 1972, Ray Tomlinson mit au point la première application importante : le courrier électronique. En octobre 1972, Kahn organisa la première démonstration à grande échelle d'ARPANET à l'International Computer Communication Conference (ICCC). C'était la première démonstration publique. Le concept d'Internet est né d'ARPANET. L'idée était de permettre la connexion entre des réseaux divers : ARPANET, des communications avec les satellites, des communications par radio. Cette idée fut introduite par Kahn en 1972 sous le nom de Internetting. Le protocole NCP d'ARPANET ne permettait pas d'adresser des hôtes hors d'ARPANET ni de corriger d'éventuelles erreurs de transmission. Kahn décida donc de développer un nouveau protocole, qui devint finalement TCP/IP. En parallèle, un projet inspiré par ARPANET était dirigé en France par Louis Pouzin : le projet Cyclades. De nombreuses propriétés de TCP/IP ont ainsi été développées, plus tôt, pour Cyclades. Pouzin et Kahn indiquent que TCP/IP a été inspiré par Cyclades. En 1973, Kahn demanda à Vinton G. Cerf (Vint Cerf) (parfois appelé père d'Internet) de travailler avec lui, car Cerf connaissait les détails de mise en œuvre de NCP. Le premier document faisant référence à TCP est écrit en 1973 par Cerf : A Partial Specification of an International Transmission Protocol. La première spécification formelle de TCP date de décembre 1974, c'est le RFC 675. La version initiale de TCP ne permettait que la communication en établissant un circuit virtuel. Cela fonctionnait bien pour le transfert de fichiers ou le travail à distance, mais n'était pas adapté à des applications comme la téléphonie par Internet. TCP fut donc séparé de IP et UDP proposé pour les transmissions sans établissement d'un circuit. À la fin des années 1980, la NSF (National Science Foundation) qui dépend de l'administration américaine, met en place cinq centres informatiques surpuissants, auxquels les utilisateurs pouvaient se connecter, quel que soit le lieu où ils se trouvaient aux États-Unis : ARPAnet devenait ainsi accessible sur une plus grande échelle. Le système rencontra un franc succès et, après la mise à niveau importante (matériels et lignes) à la fin des années 1980, s'ouvrit au trafic commercial au début des années 1990. Le début des années 1990 marque, en fait, la naissance d'Internet tel que nous le connaissons aujourd'hui : le web, un ensemble de 'pages' en HTML mélangeant du texte, des liens, des images, adressables via une URL et accessibles via le protocole HTTP. Ces standards, développés au CERN par Tim Berners-Lee devinrent rapidement populaires grâce au développement au NCSA par Marc Andreessen et Éric Bina du premier navigateur multimédia Mosaic. Gouvernance [modifier]Selon la définition du groupe de travail sur la gouvernance d'Internet, il faut entendre par « gouvernance de l’Internet » l’élaboration et l’application par les États, le secteur privé et la société civile, dans le cadre de leurs rôles respectifs, de principes, normes, règles, procédures de prise de décisions et programmes communs propres à modeler l’évolution et l’usage de l’Internet. Il faut noter l'importance des registres de métadonnées dans l'établissement de règles d'accès aux ressources web qui utilisent les Uniform Resource Identifier (qui peuvent être les URL qui s'affichent sur la barre de navigation de l'ordinateur personnel). Un certain nombre d'organismes sont chargés de la gestion d'Internet, avec des attributions spécifiques. Ils participent à l'élaboration des standards techniques, l'attribution des noms de domaines, des adresses IP, etc. : Dans un but de maintenir ou d'élargir la neutralité des réseaux, mais aussi d'engager les diverses parties globales dans un dialogue sur le sujet de la gouvernance, les Nations unies ont convoqué : Au niveau régional (continents) [modifier]Dans l'Union européenne : Voir Utilisation de l'URI pour l'accès aux ressources informatiques dans l'Union européenne Statistiques [modifier]Selon Internet World Stats[3] on dénombre 1,46 milliard d'internautes en juin 2008. Aspects juridiques [modifier]Le droit d'Internet regroupe l'ensemble des règles de droit applicables au réseau Internet. Il n'existe pas de droit spécifique à Internet, mais plutôt une application du droit commun au réseau Internet, avec cependant l'apparition d'aménagements de certaines législations nationales afin de prendre en compte ses particularités (ex. en France : la Loi sur la Confiance dans L'Économie Numérique (LCEN) du 21 juin 2004). L'application du droit sur Internet est rendue difficile pour deux raisons principales : 1. le réseau Internet est international, or le droit est généralement national. 2. sous le couvert du réseau Internet, il est souvent difficile d'identifier les utilisateurs, et donc les responsables d'infractions. Internet soulève notamment des questions de droit relatives à la propriété intellectuelle (droit d'auteur, droit des marques, etc.), au droit de la presse et des publications (infractions de presse, injure, diffamation, incitation à la haine raciale, etc.), au droit à l'image, mais aussi depuis le développement du web commercial, au droit de la publicité, au droit du commerce, etc. Technique [modifier]Internet est composé d'une multitude de réseaux répartis dans le monde entier. Chaque réseau est rattaché à une entité propre (université, fournisseur d'accès à Internet, armée) et se voit attribuer un identifiant unique appelé Autonomous System (AS). Afin de pouvoir communiquer entre eux, les réseaux s'échangent des données, soit en établissant une liaison directe, soit en se rattachant à un nœud d'échange (point de peering). Chaque réseau est donc connecté à plusieurs autres réseaux. Lorsqu'une communication doit s'établir entre deux ordinateurs appartenant à des AS différents, il faut alors déterminer le chemin à effectuer parmi les réseaux. Aucun élément d'Internet ne connaît le réseau dans son ensemble, les données sont simplement redirigées vers un autre nœud selon des règles de routage. Environ 50 % du trafic mondial d’Internet passe par l'État de Virginie. Des chercheurs israéliens de l'université de Bar-Ilan ont déclaré après avoir analysé les nœuds reliant l'ensemble des sites qu'Internet est un réseau méduse. Ils la définissent comme ayant un cœur dense (où se trouvent des moteurs de recherche) connectés à une multitude d'autres sites, qui ne sont reliés entre eux que par ce cœur, semblable à un maillage à structure fractale. Cette zone permet à 70 % du réseau de rester connecté sans passer par le cœur. Les chercheurs indiquent donc cette zone comme piste pour désengorger le trafic, en répartissant mieux les sites de cette zone[4]. Connexions grand-public [modifier]Aller sur Internet nécessite un accès IP. Pour cela, l'utilisateur emploie le matériel et logiciels suivants :
Des logiciels sont, eux, nécessaires pour exploiter Internet suivant les usages :
Protocoles [modifier]Internet fonctionne suivant un modèle en couches, calqué sur le modèle OSI. Les éléments appartenant aux mêmes couches utilisent un protocole de communication pour s'échanger des informations. Un protocole est un ensemble de règles qui définissent un langage afin de faire communiquer plusieurs ordinateurs. Ils sont définis par des normes ouvertes, les RFC. Chaque protocole a des indications particulières et, ensemble, ils fournissent un éventail de moyens permettant de répondre à la multiplicité et à la diversité des besoins sur Internet. Les principaux sont les suivants :
Indépendamment du transfert entre deux points, quelques protocoles sont nécessaires aussi pour que les passerelles puissent s'échanger des informations de routage. Ce sont Interior Gateway Protocol (IGP), Exterior Gateway Protocol (EGP) et Border Gateway Protocol (BGP). Tags associés : Internet
Dimanche 08 Février 2009Poster un commentaire
Suite des protocoles InternetUn article de Wikipédia, l'encyclopédie libre.(Redirigé depuis TCP/IP)
Aller à : Navigation, Rechercher
La suite des protocoles Internet est l'ensemble des protocoles qui constituent la pile de protocoles utilisée par Internet. Le modèle OSI, qui décompose les différents protocoles d'une pile en sept couches, peut être utilisé pour décrire la suite de protocoles Internet, bien que les couches du modèle OSI ne correspondent pas toujours avec les habitudes d'Internet (Internet étant basé sur TCP/IP qui ne comporte que quatre couches[1]). Le modèle Internet a été créé afin de répondre à un problème pratique, alors que le modèle OSI correspond à une approche plus théorique, et a été développé plus tôt dans l'histoire des réseaux. Le modèle OSI est donc plus facile à comprendre, mais le modèle TCP/IP est le plus utilisé en pratique. Il est préférable d'avoir une connaissance du modèle OSI avant d'aborder TCP/IP, car les mêmes principes s'appliquent, mais sont plus simples à comprendre avec le modèle OSI.
Couches dans la pile TCP/IP [modifier]Comme les suites de protocoles TCP/IP et OSI ne correspondent pas exactement, toute définition des couches de la pile TCP/IP peut être sujette à discussion. En outre, le modèle OSI n'offre pas une richesse suffisante au niveau des couches basses pour représenter la réalité ; il est nécessaire d'ajouter une couche supplémentaire d'interconnexion de réseaux (Internetworking) entre les couches Transport et Réseau. Les protocoles spécifiques à un type de réseau particulier, mais qui fonctionnent au-dessus de la couche de liaison de données, devraient appartenir à la couche réseau. ARP, et STP (qui fournit des chemins redondants dans un réseau tout en évitant les boucles) sont des exemples de tels protocoles. Toutefois, ce sont des protocoles locaux, qui opèrent au-dessous de la fonction d'interconnexion de réseaux ; placer ces deux groupes de protocoles (sans parler de ceux qui fonctionnent au-dessus du protocole d'interconnexion de réseaux, comme ICMP) dans la même couche peut prêter à confusion. Le schéma qui suit essaie de montrer où se situent divers protocoles de la pile TCP/IP dans le modèle OSI de l'ISO :
Habituellement, les trois couches supérieures du modèle OSI (Application, Présentation et Session) sont considérées comme une seule couche Application dans TCP/IP. Comme TCP/IP n'a pas de couche session unifiée sur laquelle les couches plus élevées peuvent s'appuyer, ces fonctions sont généralement remplies par chaque application (ou ignorées). Une version simplifiée de la pile selon le modèle TCP/IP est présentée ci-après :
Une autre approche du modèle TCP/IP consiste à mettre en avant un modèle en 2 couches. En effet, IP fait abstraction du réseau physique. Et ce n'est pas une couche application qui s'appuie sur une couche transport (représentée par TCP ou UDP) mais des applications. On aurait donc :
Cette représentation est plus fidèle aux concepts d'IP. Rappelons que ce « modèle » est antérieur au modèle OSI et tenter de les faire correspondre peut induire en erreur. En effet, TCP introduit une notion de session, or TCP est au niveau TRANSPORT sur un modèle calqué sur l'OSI. Cette antériorité au modèle OSI explique aussi certaines incohérences comme l'implémentation d'un protocole de routage au dessus d'UDP (RIP est implémenté sur UDP, alors qu'OSPF, arrivé après le modèle OSI et cette volonté de vouloir découper les thématiques par couches s'appuie directement sur IP). DHCP est également implémenté sur UDP, niveau « applications » alors que c'est le rôle de la couche réseau de fournir une configuration de niveau 3. La couche physique [modifier]La couche physique décrit les caractéristiques physiques de la communication, comme les conventions à propos de la nature du média utilisé pour les communications (les câbles, les liens par fibre optique ou par radio), et tous les détails associés comme les connecteurs, les types de codage ou de modulation, le niveau des signaux, les longueurs d'ondes, la synchronisation et les distances maximales. La couche de liaison de données [modifier]La couche de liaison de données spécifie comment les paquets sont transportés sur la couche physique, et en particulier le tramage (i.e. les séquences de bits particulières qui marquent le début et la fin des paquets). Les en-têtes des trames Ethernet, par exemple, contiennent des champs qui indiquent à quelle(s) machine(s) du réseau un paquet est destiné. Exemples de protocoles de la couche de liaison de données : Ethernet, Wireless Ethernet, SLIP, Token Ring et ATM. PPP est un peu plus complexe, car il a été initialement spécifié pour fonctionner au-dessus d'un autre protocole de liaison de données Cette couche est parfois subdivisée en LLC et MAC. La couche réseau [modifier]Dans sa définition d'origine, la couche de réseau résout le problème de l'acheminement de paquets à travers un seul réseau. Exemples de protocoles de ce type : X.25, et le Initial Connection Protocol d'ARPANET. Avec l'avènement de la notion d'interconnexion de réseaux, des fonctions additionnelles ont été ajoutées à cette couche, et plus spécialement l'acheminement de données depuis un réseau source vers un réseau destinataire. Ceci implique généralement le routage des paquets à travers un réseau de réseaux, connu sous le nom d'Internet. Dans la suite de protocoles Internet, IP assure l'acheminement des paquets depuis une source vers une destination, et supporte aussi d'autres protocoles, comme ICMP (utilisé pour transférer des messages de diagnostic liés aux transmissions IP) et IGMP (utilisé pour gérer les données multicast). ICMP et IGMP sont situés au-dessus d'IP, mais assurent des fonctions de la couche réseau, ce qui illustre l'incompatibilité entre les modèles Internet et OSI. La couche réseau IP peut transférer des données pour de nombreux protocoles de plus haut niveau. Ces protocoles sont identifiés par un numéro de protocole IP (IP Protocol Number) unique. ICMP et IGMP sont respectivement les protocoles 1 et 2. La couche transport [modifier]Les protocoles de la couche de transport peuvent résoudre des problèmes comme la fiabilité des échanges (« est-ce que les données sont arrivées à destination ? ») et assurer que les données arrivent dans l'ordre correct. Dans la suite de protocoles TCP/IP, les protocoles de transport déterminent aussi à quelle application chaque paquet de données doit être délivré. Les protocoles de routage dynamique qui se situent réellement dans cette couche de la pile TCP/IP (puisqu'ils fonctionnent au-dessus d'IP) sont généralement considérés comme faisant partie de la couche réseau. Exemple : OSPF (protocole IP numéro 89). TCP (protocole IP numéro 6) est un protocole de transport « fiable », orienté connexion, qui fournit un flux d'octets fiable assurant l'arrivée des données sans altérations et dans l'ordre, avec retransmission en cas de perte, et élimination des données dupliquées. Il gère aussi les données « urgentes » qui doivent être traitées dans le désordre (même si techniquement, elles ne sont pas émises hors bande). TCP essaie de délivrer toutes les données correctement et en séquence - c'est son but et son principal avantage sur UDP, même si ça peut être un désavantage pour des applications de transfert ou de routage de flux en temps-réel, avec des taux de perte élevées au niveau de la couche réseau. UDP (protocole IP numéro 17) est un protocole simple, sans connexion, « non fiable » - ce qui ne signifie pas qu'il est particulièrement peu fiable, mais qu'il ne vérifie pas que les paquets sont arrivés à destination, et ne garantit pas leur arrivée dans l'ordre. Si une application a besoin de ces garanties, elle doit les assurer elle-même, ou bien utiliser TCP. UDP est généralement utilisé par des applications de diffusion multimédia (audio et vidéo, etc.) pour lesquelles le temps requis par TCP pour gérer les retransmissions et l'ordonnancement des paquets n'est pas disponible, ou pour des applications basées sur des mécanismes simples de question/réponse comme les requêtes DNS, pour lesquelles le surcoût lié à l'établissement d'une connexion fiable serait disproportionné par rapport au besoin. Aussi bien TCP qu'UDP sont utilisés par de nombreuses applications. Les applications situées à une quelconque adresse réseau se distinguent par leur numéro de port TCP ou UDP. Par convention, des ports bien connus sont associés avec certaines applications spécifiques. RTP (Real Time Protocol) est un protocole fonctionnant avec UDP ou TCP, spécialisé dans le transport de données possédant des contraintes temps réel. Typiquement, il sert à transporter des vidéos pour que l'on puisse synchroniser la lecture des images et du son directement, sans les stocker préalablement. SCTP (Stream Control Transmission Protocol) a été défini en 2000 dans la RFC 4960 , et un texte d'introduction existe dans la RFC 3286. Il fournit des services similaires à TCP, assurant la fiabilité, la remise en ordre des séquences, et le contrôle de congestion. Alors que TCP est byte-oriented (orienté octets), SCTP gère des « frames » (courtes séquences). Une avancée majeure de SCTP est la possibilité de communications multi-cibles, où une des extrémités (ou les) de la connexion est constituée de plusieurs adresses IP. La couche application [modifier]C'est dans la couche application que se situent la plupart des programmes réseau. Ces programmes et les protocoles qu'ils utilisent incluent HTTP (World Wide Web), FTP (transfert de fichiers), SMTP (messagerie), SSH (connexion à distance sécurisée), DNS (recherche de correspondance entre noms et adresses IP) et beaucoup d'autres. Les applications fonctionnent généralement au-dessus de TCP ou d'UDP, et sont souvent associées à un port bien connu. Exemples :
Ces ports ont été assignés par l'Internet Assigned Numbers Authority (IANA). Sous UNIX, on trouve un fichier texte servant à faire les correspondances port↔protocole : /etc/services. Auth, BOOTP, BOOTPS, DHCP, Echo, Finger, FTP, Gopher, HTTPS, IRC, IMAP, IMAPS, Kerberos, QOTD, Netbios, NNTP, NFS, POP, POPS, RTSP, NTP, SFTP, SNMP, SSH, Telnet, TFTP, Webster, Whois, XDMCP,SMTP.
Dimanche 08 Février 2009Poster un commentaire
Lecture en continuUn article de Wikipédia, l'encyclopédie libre.(Redirigé depuis Streaming)
Aller à : Navigation, Rechercher
La lecture en continu (en anglais : streaming) est un principe utilisé principalement pour l'envoi de contenu en « direct » (ou en léger différé). Très utilisée sur Internet (exemple Météocam), elle permet la lecture d'un flux audio ou vidéo (cas de la VoD), à mesure qu'il est diffusé. Elle s'oppose ainsi à la diffusion par téléchargement qui nécessite de récupérer l'ensemble des données d'un morceau ou d'un extrait vidéo avant de pouvoir l'écouter ou le regarder.
Principe [modifier]Le programme de lecture en continu, ou client, va récupérer une partie du contenu qu'il place dans une mémoire tampon. Lorsqu'il y a suffisamment de données dans cette mémoire pour permettre de lire le début du fichier audio ou vidéo sans accroche, et cela même en cas de petits ralentissements réseau, la lecture démarre. En arrière-plan, le téléchargement du flux se poursuit afin d'alimenter sans cesse la mémoire tampon avec la suite du fichier. En raison des latences créées par le réseau (Internet ou le réseau local) et des opérations de codage / décodage effectuées, un délai de 5 à 35 secondes (voire plus) peut intervenir entre le signal émis par la source et le signal reçu sur le lecteur. Lecture du contenu [modifier]Deux sortes de lecture existent, l'une est dite « en progressif », l'autre « en continu ». Lecture en progressif [modifier]C'est la solution la plus couramment utilisée, car elle ne nécessite pas de serveur spécialisé, un serveur HTTP « standard » étant suffisant. Le fichier audio ou vidéo est simplement proposé au téléchargement, de la même manière que tout autre type de fichier, et c'est le navigateur qui se charge d'effectuer la lecture de la vidéo. L'inconvénient de cette solution est l'impossibilité de s'adapter à la qualité de connexion de l'utilisateur. Pour le diffuseur, il devient ainsi souvent nécessaire de proposer plusieurs fichiers avec des résolutions différentes pour permettre à l'internaute de choisir en fonction des capacités de sa connexion. Par ailleurs elle induit une attente pour avoir les premières images si le fichier est de taille importante. Le progressif est la méthode utilisée par des sites comme Dailymotion ou YouTube. Lecture en continu [modifier]Dans le cas de la lecture en continu, il n'y a qu'un seul fichier diffusé contenant plusieurs fois les mêmes informations à différents niveaux de qualité, et c'est le serveur de lecture en continu spécialisé qui se charge de diffuser l'information adaptée. En fonction du débit de la connexion de l'internaute, le serveur sélectionne le niveau de qualité maximal pour une diffusion en temps réel. Le serveur est également capable de s'adapter automatiquement aux variations de la bande passante : si la connexion se détériore et que le taux de transfert baisse, le contenu est livré avec une moindre qualité afin d'éviter les interruptions de diffusion. Si en revanche la connexion devient plus fluide, la qualité s'améliore. Le contenu démarre dès que l'utilisateur demande à y accéder sans délais. L'inconvénient de cette solution est de devoir utiliser un serveur spécialisé (Xiph Icecast, Real Helix Streaming Server, Windows Media Services, Adobe Flash Media Server, Quicktime Streaming Server, etc.) et que l'internaute doit avoir une bande passante adaptée au contenu envoyé, le contenu étant diffusé au même rythme que la lecture de l'internaute. Les transmissions et communication entre serveur et client peuvent utiliser les protocoles suivants : RTP, RTSP (standards normalisés par l'IETF) ou MMS (propriétaire Microsoft) ou RTMP (propriétaire Adobe Systems). Sécurisation [modifier]Différentes techniques de sécurisation existent pour les contenus audios ou vidéos sur internet. La première est une sécurisation d'url ou token. L'url unique est générée pour un laps de temps donné. C'est donc l'accès à l'url d'appel qui est contrôlée. La deuxième repose sur la technique des DRM basée sur l'utilisation de licence délivrée décrivant les propriétés de restriction d'accès au contenu. Un des arguments en faveur de la lecture en continu (ceci ne concerne pas la lecture en progressif qui peut techniquement être considéré comme du téléchargement) est qu'elle permettrait d'assurer aux diffuseurs que leur vidéos ou musiques ne puissent pas être enregistrées (téléchargées et sauvegardées par l'utilisateur client) ; il existe cependant des outils dédiés (enregistrement analogique, etc.) qui permettent de contourner cette limitation. Les formats de lecture en continu [modifier]Les principaux formats utilisés actuellement sont Windows Media, Flash, Real, Quicktime, Shoutcast, Icecast, Divx. Applications [modifier]Les webradios sont un exemple pratique d'utilisation de la lecture en continu. Les webTVs utilisent aussi la technologie de la lecture en continu que ce soit en direct ou pour des fichiers à la demande. La lecture en continu vidéo était à l'origine un format non enregistrable sur le PC qui y accède mais des logiciels comme Net Transport permettent maintenant d'enregistrer la vidéo sur son disque dur. Total Recorder permet lui d'enregistrer tous les sons écoutés sur un PC et contourne ainsi ce blocage d'enregistrement de la lecture en continu. Lecteur alternatif [modifier]Une alternative aux solutions de lecture en continu dit propriétaire (Windows media server, Flash server, etc.) peut être celle proposée par Streamplug, un plugiciel permettant de lire en continu des fichiers audios/vidéos depuis n'importe quel serveur LAMP (Linux/Apache/MySQL/PHP). Cette solution intègre également un 'back-end' évolué vous permettant de protéger vos vidéos en cryptant le flux durant sa transmission, ainsi qu'une architecture sécurisée basée sur le modèle ODRL ((en)Open Digital Rights Language), permettant le développement de projets de types vidéo à la demande (VOD) ou audio à la demande (AOD) tout en respectant les droits des auteurs ainsi que ceux des utilisateurs. Tags associés : Streaming
Jeudi 12 Février 2009Poster un commentaire
PHP: Hypertext Preprocessor(Redirigé depuis Php)
Aller à : Navigation, Rechercher
PHP (acronyme récursif pour PHP: Hypertext Preprocessor[3]), est un langage de scripts libre[4] principalement utilisé pour produire des pages Web dynamiques via un serveur HTTP[3], mais pouvant également fonctionner comme n'importe quel langage interprété de façon locale, en exécutant les programmes en ligne de commande. PHP est un langage impératif disposant depuis la version 5 de fonctionnalités de modèle objet complètes[5]. En raison de la richesse de sa bibliothèque, on désigne parfois PHP comme une plate-forme plus qu'un simple langage.
Historique [modifier]Le langage PHP est créé en 1994 par Rasmus Lerdorf pour son site Web. C'était à l'origine une bibliothèque logicielle en Perl dont il se servait pour conserver une trace des visiteurs qui venaient consulter son CV. Au fur et à mesure qu'il ajoutait de nouvelles fonctionnalités, Rasmus a transformé la bibliothèque en une implémentation en langage C, capable de communiquer avec des bases de données et de créer des applications dynamiques et simples pour le Web. Rasmus décida alors en 1995 de publier son code, pour que tout le monde puisse l'utiliser et en profiter. PHP s'appelait alors PHP/FI (pour Personal Home Page Tools/Form Interpreter). En 1997, deux étudiants, Andi Gutmans et Zeev Suraski, redéveloppèrent le cœur de PHP/FI. Ce travail aboutit un an plus tard avec Zend Engine, le nouveau cœur de PHP/FI, devenu alors PHP: Hypertext Preprocessor en version 3.[6] En 2002, PHP est utilisé par plus de 8 millions de sites Web à travers le monde[7], et en 2004 par plus de 15 millions[réf. souhaitée]. Un indicateur paradoxal de la popularité de PHP est le nombre de failles de sécurité concernant des applications PHP et listées avec un identifiant CVE sur la base de données américaine des vulnérabilités (National Vulnerability Database). Ces failles représentent 12% du total en 2003, 20% en 2004, 28% en 2005, 43% en 2006, 36% en 2007, 38% sur les deux premiers mois de 2008. Plus d'un quart des vulnérabilités répertoriées sur cette base concerne des applications PHP, plus d'un tiers ces dernières années, et la plupart peuvent être exploitées à distance[8]. Ces vulnérabilités s'expliquent par de mauvaises habitudes de programmation (souvent un défaut de validation des entrées) alliées à des caractéristiques douteuses du langage lui-même (par exemple register globals, maintenant déconseillé[9]). La version actuelle est la version 5, sortie le 13 juillet 2004[10]. Elle utilise Zend Engine 2 et introduit un véritable modèle objet, une gestion des erreurs fondée sur le modèle des exceptions, ainsi que des fonctionnalités de gestion pour les entreprises. PHP 5 apporte beaucoup de nouveautés, telles que le support de SQLite, qui est un système léger de gestion de bases de données embarqué, au détriment de la bibliothèque cliente de MySQL, plus puissante mais qui n'est désormais plus activée par défaut, ainsi que des moyens de manipuler des fichiers et des structures XML basés sur libxml2 :
La dernière mise à jour est la 5.2.8 datant du 8 décembre 2008[11]. La version 4.4.x n'est plus maintenue depuis le 31 décembre 2007[10],[12]. Seuls les patchs de sécurité critiques seront encore développés jusqu'à la date du 8 août 2008[12]. La prochaine version de PHP : PHP 6 est encore en développement et sera peut être disponible début 2009. Présentation [modifier]Le langage PHP est utilisé principalement en tant que langage de script côté serveur, ce qui veut dire que c'est le serveur (la machine qui héberge la page Web en question) qui va interpréter le code PHP et générer du code (constitué généralement d'XHTML ou d'HTML, de CSS, et parfois de JavaScript) qui pourra être interprété par un navigateur. PHP peut également générer d'autres formats en rapport avec le Web, comme le WML, le SVG, le format PDF, ou encore des images bitmap telles que JPEG, GIF ou PNG. Il a été conçu pour permettre la création d'applications dynamiques, le plus souvent dédiées au Web. PHP est très majoritairement installé sur un serveur Apache, mais peut être installé sur les autres principaux serveurs HTTP du marché, par exemple IIS. Ce couplage permet de récupérer des informations issues d'une base de données, d'un système de fichiers (contenu de fichiers et de l'arborescence) ou plus simplement des données envoyées par le navigateur afin d'être interprétées ou stockées pour une utilisation ultérieure. C'est un langage peu typé et souple et donc facile à apprendre par un débutant mais, de ce fait, des failles de sécurité peuvent rapidement apparaître dans les applications. Pragmatique, PHP ne s'encombre pas de théorie et a tendance à choisir le chemin le plus direct. Néanmoins, le nom des fonctions (ainsi que le passage des arguments) ne respecte pas toujours une logique uniforme, ce qui peut être préjudiciable à l'apprentissage. Son utilisation commence avec le traitement des formulaires puis par l'accès aux bases de données. L'accès aux bases de données est aisé une fois l'installation des modules correspondant effectuée sur le serveur. La force la plus évidente de ce langage est qu'il est devenu au fil du temps un incontournable des offres d'hébergement. Libre, gratuit, simple d'utilisation et d'installation, ce langage nécessite comme tout langage de réseau une bonne compréhension des mécanismes sous-jacents ainsi qu'une connaissance des problèmes de sécurité. La version 5.3 permettra d'utiliser les espaces de noms, un élément fondamental de l'élaboration d'extensions, de bibliothèques et de frameworks structurés. La version 6 introduira en interne la bibliothèque ICU donnant au langage la faculté de traiter Unicode de manière native. Fonctionnement [modifier]Sa syntaxe et sa construction ressemblent à celles des langages Java et Perl, à la différence que le PHP peut être intégré dans du code HTML. PHP appartient par ailleurs à la grande famille des descendants du C, dont la syntaxe est très proche. Dans une utilisation Web, l'exécution du code PHP se déroule ainsi : lorsqu'un visiteur demande à consulter une page Web, son navigateur envoie une requête au serveur HTTP correspondant. Si la page est identifiée comme un script PHP (généralement grâce à l'extension Ce schéma explique ce fonctionnement : Une étape supplémentaire est souvent ajoutée : celle du dialogue entre PHP et la base de données. Classiquement, PHP ouvre une connexion au serveur de SGBD voulu, lui transmet des requêtes et en récupère le résultat, avant de fermer la connexion.
Capture d'écran de vi en fond, affichant un script PHP, et à droite le résultat du script interprété par PHP
L'utilisation de PHP en tant que générateur de pages Web dynamiques est la plus répandue, mais il peut aussi être utilisé comme langage de programmation en ligne de commande sans utiliser de serveur HTTP ni de navigateur. Pour réaliser un script PHP exécutable en ligne de commande, il suffit comme en Perl ou en Bash d'insérer dans le code en première ligne le shebang : Il existe aussi une extension appelée PHP-GTK permettant de créer des applications clientes graphiques sur un ordinateur disposant de la bibliothèque graphique GTK+. PHP possède un grand nombre de fonctions permettant des opérations sur le système de fichiers, la gestion des bases de données, des fonctions de tri et hachage, le traitement de chaînes de caractères, la génération et la modification d'images, des algorithmes de compression... Le moteur de Wikipédia est écrit en PHP avec une base MySQL. Il s'intègre donc dans une plateforme LAMP. Syntaxe [modifier]Un exemple du traditionnel Hello world : <?php echo 'Hello, World'; ?> Résultat affiché : Hello, World PHP interprète uniquement le code qui est délimité par De plus, PHP 6 devrait être moins tolérant concernant ces utilisations déconseillées, ce qui pourrait compromettre la compatibilité des scripts utilisant ces balises avec les futures versions de PHP[14]. Mascotte [modifier]PHP est souvent accompagné de l'éléPHPant, dessiné par El Roubio[15]. Il s'est inspiré de la ressemblance des lettres PHP avec un éléphant, d'où le nom. Toutes ses œuvres sont distribuées sous licence GNU/GPL. Il existe aussi des origamis et des peluches ÉléPHPant. Quelques exemples d'application [modifier]
Différentes plates-formes [modifier]Un serveur Web moderne est généralement caractérisé par son système d'exploitation, son serveur HTTP, son langage serveur et enfin son système de gestion de base de données (SGBD), ceci constituant une plate-forme. Dans le cas de PHP comme langage serveur, les combinaisons les plus courantes sont celles d'une plateforme LAMP (pour Linux Apache MySQL PHP) et WAMP (Windows Apache MySQL PHP). Une plate-forme WAMP s'installe généralement par le biais d'un seul logiciel qui intègre Apache, MySQL et PHP, comme par exemple EasyPHP, VertrigoServ ou WampServer. Il existe le même type de logiciels pour les plate-formes MAMP (Mac OS Apache MySQL PHP), à l'exemple du logiciel MAMP. Il existe d'autres variantes, par exemple les plate-formes LAPP (le M de MySQL est remplacé par le P de PostgreSQL) ou encore le logiciel XAMPP (Apache MySQL Perl PHP ; le X indique que le logiciel est multiplate-forme), un kit de développement multiplate-forme. On peut décliner une grande variété d'acronymes sous cette forme. Des confusions peuvent parfois exister entre la plate-forme en elle-même et le logiciel permettant de l'installer, si elles ont le même nom. Il faut également remarquer que la grande majorité des logiciels « tout en un » sont destinés au développement d'applications Web en local, et non à être installés sur des serveurs Web. Tags associés : language
Jeudi 12 Février 2009Poster un commentaire
|
Derniers commentaires
ou suis-je? ah voila je peux trouve
Jeux disponibles
Newsletter
A découvrir
Campagne membre | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||