<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>BlogNT : Le Blog des Nouvelles Technologies dédié au Web, aux nouvelles technologies et au développement Web &#187; Réseau</title>
	<atom:link href="http://www.blog-nouvelles-technologies.fr/archives/category/technologies/reseau/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.blog-nouvelles-technologies.fr</link>
	<description>Web, Nouvelles technologies, Programmation, Développement ...</description>
	<lastBuildDate>Tue, 21 May 2013 12:48:05 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Samsung fait un test d&#8217;un réseau sans fil 5G, qui pourrait venir en 2020</title>
		<link>http://www.blog-nouvelles-technologies.fr/archives/29214/samsung-fait-un-test-dun-reseau-sans-fil-5g-qui-pourrait-venir-en-2020/</link>
		<comments>http://www.blog-nouvelles-technologies.fr/archives/29214/samsung-fait-un-test-dun-reseau-sans-fil-5g-qui-pourrait-venir-en-2020/#comments</comments>
		<pubDate>Tue, 14 May 2013 12:04:58 +0000</pubDate>
		<dc:creator>Yohann Poiron</dc:creator>
				<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Technologies]]></category>
		<category><![CDATA[5G]]></category>
		<category><![CDATA[Samsung]]></category>
		<category><![CDATA[téléphonie]]></category>

		<guid isPermaLink="false">http://www.blog-nouvelles-technologies.fr/?p=29214</guid>
		<description><![CDATA[En août 2012, Piper Jaffray a publié une étude, qui a calculé que 47% des consommateurs américains n&#8217;avaient pas besoin des réseaux 4G LTE. Si ces chiffres ont peut-être déjà changé, il y a de bonnes nouvelles pour l&#8217;autre 53% : nous sommes déjà en direction des réseaux 5G. Samsung a annoncé dans un communiqué [...]]]></description>
				<content:encoded><![CDATA[<p class="dropcap-first">En août 2012, Piper Jaffray <a target="_blank" href="http://appleinsider.com/articles/12/08/22/47_of_us_consumers_feel_they_dont_need_4g_lte" >a publié</a> une étude, qui a calculé que 47% des consommateurs américains n&rsquo;avaient pas besoin des réseaux <a href="http://www.blog-nouvelles-technologies.fr/archives/tag/4G/" >4G LTE</a>. Si ces chiffres ont peut-être déjà changé, il y a de bonnes nouvelles pour l&rsquo;autre 53% : <strong>nous sommes déjà en direction des réseaux 5G</strong>.</p>
<p>Samsung a annoncé dans un communiqué que la firme a développé une composante essentielle de son réseau 5G, en <strong>réussissant à transmettre des données à la vitesse de 1 Gbps sur une distance de deux kilomètres séparant deux terminaux</strong>.<br />
À l&rsquo;heure actuelle, les réseaux 4G LTE peuvent seulement atteindre un maigre 75 mégabits par seconde (Mbps), et habituellement seulement environ le quart ou le tiers. Pour mettre ces caractéristiques en perspective, avec une connexion 1 Gbps vous seriez en mesure de télécharger un film de Nicolas Cage sur votre téléphone en full HD en moins d&rsquo;une minute&#8230;</p>
<p><img class="aligncenter" title="Samsung fait un test d'un réseau sans fil 5G, qui pourrait venir en 2020" src="http://www.blog-nouvelles-technologies.fr/wp-content/uploads/2013/05/samsung-fait-un-test-dun-reseau-sans-fil-5g-qui-pourrait-venir-en-2020-1.jpg" alt="Samsung fait un test d'un réseau sans fil 5G, qui pourrait venir en 2020" /></p>
<p>Les indicateurs techniques ? Le nouveau réseau de Samsung utilise une bande fréquence de 28 GHz. Samsung aurait utilisé 64 antennes pour disposer d&rsquo;un tel transfert de données, et <strong>croit qu&rsquo;elle peut commercialiser et mettre en œuvre leur réseau 5G en 2020</strong>. La Commission européenne s&rsquo;attend à avoir sa propre technologie sans fil 5G entrer en vigueur au sein de la même année, comme le ferait la Chine.</p>
<p>Samsung a été un innovateur reconnu dans les technologies de transmission sans fil pendant une longue période, et ayant même déposer un certains nombres de brevets sur le terrain. La plupart d&rsquo;entre eux sont considérés comme essentiels, nécessitant que Samsung accorde des licences équitablement et raisonnablement, et sans aucun degré de discrimination parmi ses concurrents.     </p>
<p>En 2020, nous aurons des dizaines de nouveaux super-héros et de nouveaux films, de nouveaux Star Wars, et nous serons en mesure d&rsquo;accrocher nos téléphones dans notre salle de bain. Nous sommes prêt pour disposer d&rsquo;un réseau 5G ! Disons que nous pourrons utiliser ce réseau pour des occasions plus &laquo;&nbsp;réelles&nbsp;&raquo;&#8230;</p>
 <p><a href="http://www.blog-nouvelles-technologies.fr/?flattrss_redirect&amp;id=29214&amp;md5=8ea890176f7c4700e70d4b6458ad7aef" title="Flattr" target="_blank"><img src="http://www.blog-nouvelles-technologies.fr/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.blog-nouvelles-technologies.fr/archives/29214/samsung-fait-un-test-dun-reseau-sans-fil-5g-qui-pourrait-venir-en-2020/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=lryo&amp;popout=1&amp;url=http%3A%2F%2Fwww.blog-nouvelles-technologies.fr%2Farchives%2F29214%2Fsamsung-fait-un-test-dun-reseau-sans-fil-5g-qui-pourrait-venir-en-2020%2F&amp;language=fr_FR&amp;category=text&amp;title=Samsung+fait+un+test+d%26rsquo%3Bun+r%C3%A9seau+sans+fil+5G%2C+qui+pourrait+venir+en+2020&amp;description=En+ao%C3%BBt+2012%2C+Piper+Jaffray+a+publi%C3%A9+une+%C3%A9tude%2C+qui+a+calcul%C3%A9+que+47%25+des+consommateurs+am%C3%A9ricains+n%26rsquo%3Bavaient+pas+besoin+des+r%C3%A9seaux+4G+LTE.+Si+ces+chiffres+ont+peut-%C3%AAtre+d%C3%A9j%C3%A0...&amp;tags=5G%2CSamsung%2Ct%C3%A9l%C3%A9phonie%2Cblog" type="text/html" />
	</item>
		<item>
		<title>La 4G d&#8217;Orange arrive à La Rochelle et pour le moment c&#8217;est bluffant !</title>
		<link>http://www.blog-nouvelles-technologies.fr/archives/27987/la-4g-dorange-arrive-a-la-rochelle-et-pour-le-moment-cest-bluffant/</link>
		<comments>http://www.blog-nouvelles-technologies.fr/archives/27987/la-4g-dorange-arrive-a-la-rochelle-et-pour-le-moment-cest-bluffant/#comments</comments>
		<pubDate>Wed, 24 Apr 2013 08:58:36 +0000</pubDate>
		<dc:creator>Yohann Poiron</dc:creator>
				<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Technologies]]></category>
		<category><![CDATA[3G]]></category>
		<category><![CDATA[4G]]></category>
		<category><![CDATA[orange]]></category>
		<category><![CDATA[réseau]]></category>
		<category><![CDATA[téléphonie mobile]]></category>

		<guid isPermaLink="false">http://www.blog-nouvelles-technologies.fr/?p=27987</guid>
		<description><![CDATA[Il y a quelques jours de cela, j&#8217;ai été invité par Orange (je remercie Julie au passage pour l&#8217;invitation) afin d&#8217;assister au lancement de la 4G à &#8230; La Rochelle ! Et oui, résidant Rochelais, j&#8217;ai la chance de profiter de l&#8217;arrivée de cette couverture 4G dans notre si jolie ville ! Outre le côté [...]]]></description>
				<content:encoded><![CDATA[<p class="dropcap-first">Il y a quelques jours de cela, j&rsquo;ai été invité par Orange (je remercie Julie au passage pour l&rsquo;invitation) afin d&rsquo;assister au <strong>lancement de la 4G à &#8230; La Rochelle</strong> ! Et oui, résidant Rochelais, j&rsquo;ai la chance de profiter de l&rsquo;arrivée de cette couverture 4G dans notre si jolie ville ! Outre le côté supérieur par rapport à la 3G &#8211; du moins dans le chiffre &#8211; qu&rsquo;en est-il vraiment ? Est-ce nécessaire de changer de forfait et accessoirement de changer de mobile pour Monsieur et Madame Michu ? Quelques tentatives de réponse dans la suite de cet article.</p>
<p>Avant d&rsquo;entrer dans les détails et tenter d&rsquo;expliquer ce terme &laquo;&nbsp;4G&nbsp;&raquo; parlons un peu d&rsquo;Orange &#8211; oui quand même ils m&rsquo;ont invité c&rsquo;est normal. Après avoir ouvert le réseau 4G à Marseille en juin 2012, Lyon, Nantes et Lille en novembre 2012, Orange a décidé d&rsquo;étendre son réseau dans dix nouvelles agglomérations le 4 avril dernier, dont La Rochelle donc ! Parmi les cinq agglomérations retenues par Orange &#8211; La Rochelle semble avoir été sélectionné pour son côté touristique &#8211; ce sont 50 villes qui sont désormais couvertes par la 4G d&rsquo;Orange. Pour les petits malheureux, sachez qu&rsquo;Orange a annoncé un nouveau déploiement dès juin 2013 ! <strong>Pour en bénéficier, sachez que l&rsquo;opérateur propose jusqu&rsquo;à différentes offres 4G dont la première &#8211; l&rsquo;Origami Play 4G/H+ 2Go &#8211; est proposée à partir de 30,90 euros/mois</strong> ! À noter que jusqu&rsquo;au 31 décembre 2013 et afin d&rsquo;accompagner le déploiement de la 4G, pour 1€ de plus vous allez bénéficier de l&rsquo;option multi-SIM afin de partager votre forfait internet mobile avec votre tablette, le <em>cloud</em> d&rsquo;Orange &#8211; 100 Go &#8211; la TV d&rsquo;Orange ou encore Deezer premium ! Autrement dit, cela s&rsquo;avère très intéressant.  </p>
<p><img class="aligncenter" title="La 4G d'Orange arrive à La Rochelle et pour le moment c'est bluffant !" src="http://www.blog-nouvelles-technologies.fr/wp-content/uploads/2013/04/la-4g-dorange-arrive-a-la-rochelle-et-pour-le-moment-cest-bluffant-1.jpg" alt="La 4G d'Orange arrive à La Rochelle et pour le moment c'est bluffant !" /></p>
<h2> 3G vs. 4G : Quelle est la différence ? </h2>
<p>Pour le consommateur moyen, &laquo;&nbsp;3G&nbsp;&raquo; et &laquo;&nbsp;4G&nbsp;&raquo; sont deux termes les plus mystérieux dans le dictionnaire de la technologie mobile, mais ils sont utilisés sans relâche pour vendre des téléphones et des tablettes. Si vous êtes en train de lorgner pour un nouveau téléphone, le choix n&rsquo;est pas évident, et il n&rsquo;est pas certains que la meilleure solution soit de prendre le smartphone le plus cher. Quelle technologie choisir ?</p>
<p>Tout d&rsquo;abord, le &laquo;&nbsp;G&nbsp;&raquo; correspond à une génération de la technologie mobile, installée dans les téléphones et les réseaux cellulaires. Chaque &laquo;&nbsp;G&nbsp;&raquo; nécessite généralement que vous allez devoir changer de smartphone, et pour les réseaux de faire des mises à niveau coûteuses. Les deux premiers étaient des téléphones cellulaires analogiques (1G) et les téléphones numériques (2G). Puis tout s&rsquo;est compliqué&#8230;</p>
<p>Les réseaux mobiles de troisième génération, ou 3G, est arrivé vers 2003 &#8211; 2004. Avec des vitesses minimales cohérentes de 144 Kbps, ils étaient censés apporter le &laquo;&nbsp;débit haut mobile&nbsp;&raquo;. Cependant, il y a maintenant tellement de variétés de 3G, que d&rsquo;une connexion &laquo;&nbsp;3G&nbsp;&raquo;, vous pouvez obtenir des vitesses allant de 400 Kbps à dix fois plus vite.</p>
<p><img class="aligncenter" title="La 4G d'Orange arrive à La Rochelle et pour le moment c'est bluffant !" src="http://www.blog-nouvelles-technologies.fr/wp-content/uploads/2013/04/la-4g-dorange-arrive-a-la-rochelle-et-pour-le-moment-cest-bluffant-2.jpg" alt="La 4G d'Orange arrive à La Rochelle et pour le moment c'est bluffant !" /></p>
<p><strong>Les téléphones 4G sont censés être encore plus rapide, mais ce n&rsquo;est pas toujours le cas</strong>. Il y a tellement de technologies dites &laquo;&nbsp;4G&nbsp;&raquo;, et tellement de façons de les mettre en œuvre, que le terme est presque vide de sens. L&rsquo;<em>International Telecommunications Union</em>, un organisme de normalisation, a tenté d&rsquo;édicter des prescriptions d&rsquo;appeler un réseau 4G, mais ils ont été ignorés par les opérateurs, et finalement l&rsquo;UIT a reculé. Les technologies 4G incluent HSPA+ 21/42, WiMAX, et LTE (bien que certains considèrent que la 4G LTE est la seule technologie importante).</p>
<p><img class="aligncenter" title="La 4G d'Orange arrive à La Rochelle et pour le moment c'est bluffant !" src="http://www.blog-nouvelles-technologies.fr/wp-content/uploads/2013/04/la-4g-dorange-arrive-a-la-rochelle-et-pour-le-moment-cest-bluffant-3.jpg" alt="La 4G d'Orange arrive à La Rochelle et pour le moment c'est bluffant !" /></p>
<p>Concernant la 4G d&rsquo;Orange, la société précise qu&rsquo;il s&rsquo;agit du seul opérateur à proposer aujourd&rsquo;hui des débits maximums théoriques allant jusqu&rsquo;à 150 Mbit/s permettant ainsi de synchroniser ses playlists (50 Mo) Deezer en un instant &#8211; 8 secondes en 4G, 1 minute 20 pour la 3G. Idem pour le téléchargement d&rsquo;une application de 25 Mo, Orange annonce une durée de 4 secondes avec la 4G contre 40 secondes en 3G.</p>
<p>Pour vous en convaincre voici un petit test : </p>
<p><em>Note : Je soupçonne un problème avec la 3G dans la boutique &#8230; et puis un Free Mobile dans une boutique Orange &#8230;</em></p>
<p><em>Note 2 : Oui oui <a target="_blank" href="https://twitter.com/OnlyLili" >Céline</a> merci de ton intervention, <a target="_blank" href="https://twitter.com/_Swayb" >Seb</a> a raison je filmais <img src='http://www.blog-nouvelles-technologies.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' title="La 4G dOrange arrive à La Rochelle et pour le moment cest bluffant !" /> </em></p>
<p><iframe class="aligncenter" width="640" height="360" src="http://www.youtube.com/embed/NzSAi3bGwlk" frameborder="0" allowfullscreen></iframe></p>
<h2> Quand choisir la 4G </h2>
<p>Il faut donc se rendre à l’évidence, <strong>la 4G reste encore à l’heure actuelle très embryonnaire</strong>. Les opérateurs de téléphonie mobile sont encore en train de construire leurs réseaux 4G, donc d&rsquo;abord, vous devez savoir si vous êtes éligible à une couverture 4G pour apprécier disposer d&rsquo;un smartphone 4G. Bien sûr il n&rsquo;y a pas que Orange qui offre une couverture 4G mais le géant opérateur fait parti des plus gros. Free Mobile aurait annoncé 373 nouvelles antennes, en expliquant qu&rsquo;il créerait <em>&laquo;&nbsp;quelque chose de nouveau, de révolutionnaire&nbsp;&raquo;</em>. SFR a quant-à lui lancé fin janvier son réseau dans l’ouest Parisien, tant pour les entreprises que pour les particuliers &#8211; Paris devrait être intégralement couvert fin 2013. Bouygues Telecom proposera de son côté des offres à partir du 1er octobre. </p>
<p><img class="aligncenter" title="La 4G d'Orange arrive à La Rochelle et pour le moment c'est bluffant !" src="http://www.blog-nouvelles-technologies.fr/wp-content/uploads/2013/04/la-4g-dorange-arrive-a-la-rochelle-et-pour-le-moment-cest-bluffant-4.jpg" alt="La 4G d'Orange arrive à La Rochelle et pour le moment c'est bluffant !" /></p>
<p>Si vous aimez surfer sur le Web et en particulier consommer des flux vidéo, la 4G peut être le paradis. Si vous connectez un ordinateur portable à votre mobile, la 4G offre une énorme différence. En général, tout ce qui concerne le transfert de grandes quantités de données est bon à prendre avec la 4G. En revanche, il est nécessaire de faire attention à la limite de données imposée par l&rsquo;offre à laquelle vous avez souscris, même si, car il est très facile d&rsquo;utiliser un grand nombre de données rapidement avec la 4G.</p>
<p>Si vous avez un téléphone 3G et vous êtes frustrés du débit proposé, la 4G peut être la solution. Mais attention, la 4G ne va pas résoudre tous les problèmes d&rsquo;appels, et ce puisque tous les appels seront effectués sur les réseaux 3G jusqu&rsquo;à ce que les opérateurs passent la voix sur le réseau LTE au cours des prochaines années.</p>
<p><strong>De plus, dans l&rsquo;univers de la 4G vous devrez faire face à une couverture très limitée, et un choix restreint de smartphones&#8230;</strong> À l&rsquo;heure actuelle, Orange propose une gamme d&rsquo;une dizaine de smartphones compatibles, une tablette, et entend d&rsquo;ici fin 2013, offrir la moitié de ces terminaux en 4G/H+.</p>
<h2> Quand acheter 3G </h2>
<p>Si vous voulez un iPhone, ça va être la 3G. Rien à ajouter. Apple pourrait sortir un iPhone 4G LTE plus tard cette année, mais la société ne dispose pas actuellement d&rsquo;un modèle 4G. (Le &laquo;&nbsp;4&Prime; de l&rsquo;iPhone 4 fait référence au numéro de modèle, pas à la technologie mobile.)</p>
<p>Si vous habitez dans une région qui n&rsquo;a pas de couverture 4G, il n&rsquo;y a aucun avantage à prendre un smartphone 4G. En fait, vous serez lésé puisque l&rsquo;autonomie de votre smartphone s&rsquo;en ressentira, et ce puisque la recherche d&rsquo;un signal inexistant 4G peut causer quelques problèmes à l&rsquo;autonomie .</p>
<p>J&rsquo;espère que cela éclaircit le dilemme de la 3G versus la 4G. Si vous avez quelque chose à ajouter, n&rsquo;hésitez pas à laisser un commentaire ci-dessous. </p>
 <p><a href="http://www.blog-nouvelles-technologies.fr/?flattrss_redirect&amp;id=27987&amp;md5=b75278140545221aa7a91a20fc1e5c27" title="Flattr" target="_blank"><img src="http://www.blog-nouvelles-technologies.fr/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.blog-nouvelles-technologies.fr/archives/27987/la-4g-dorange-arrive-a-la-rochelle-et-pour-le-moment-cest-bluffant/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=lryo&amp;popout=1&amp;url=http%3A%2F%2Fwww.blog-nouvelles-technologies.fr%2Farchives%2F27987%2Fla-4g-dorange-arrive-a-la-rochelle-et-pour-le-moment-cest-bluffant%2F&amp;language=fr_FR&amp;category=text&amp;title=La+4G+d%26rsquo%3BOrange+arrive+%C3%A0+La+Rochelle+et+pour+le+moment+c%26rsquo%3Best+bluffant+%21&amp;description=Il+y+a+quelques+jours+de+cela%2C+j%26rsquo%3Bai+%C3%A9t%C3%A9+invit%C3%A9+par+Orange+%28je+remercie+Julie+au+passage+pour+l%26rsquo%3Binvitation%29+afin+d%26rsquo%3Bassister+au+lancement+de+la+4G+%C3%A0+%26%238230%3B+La+Rochelle...&amp;tags=3G%2C4G%2Corange%2Cr%C3%A9seau%2Ct%C3%A9l%C3%A9phonie+mobile%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Varnish, un reverse proxy qui soulage vos serveurs</title>
		<link>http://www.blog-nouvelles-technologies.fr/archives/15771/varnish-un-reverse-proxy-qui-soulage-vos-serveurs/</link>
		<comments>http://www.blog-nouvelles-technologies.fr/archives/15771/varnish-un-reverse-proxy-qui-soulage-vos-serveurs/#comments</comments>
		<pubDate>Thu, 05 Jul 2012 08:57:25 +0000</pubDate>
		<dc:creator>Sylvain Witmeyer</dc:creator>
				<category><![CDATA[Réseau]]></category>
		<category><![CDATA[accélérateur site Web]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[reverse proxy]]></category>
		<category><![CDATA[Varnish]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.blog-nouvelles-technologies.fr/?p=15771</guid>
		<description><![CDATA[La semaine dernière avait lieu le début des soldes, c&#8217;est une période critique pour les hébergeurs de boutiques en ligne. Certains sites voient leur nombre de visiteurs doubler dès le matin. Cet afflux soudain n&#8217;est pas anodin sur les serveurs. Il existe donc différentes solutions d&#8217;optimisation pour absorber cette montée en charge. Aujourd&#8217;hui j&#8217;ai choisi [...]]]></description>
				<content:encoded><![CDATA[<p class="dropcap-first">La semaine dernière avait lieu le début des soldes, c&rsquo;est une période critique pour les hébergeurs de boutiques en ligne. Certains sites voient leur nombre de visiteurs doubler dès le matin. Cet afflux soudain n&rsquo;est pas anodin sur les serveurs. Il existe donc différentes solutions d&rsquo;optimisation pour absorber cette montée en charge. Aujourd&rsquo;hui j&rsquo;ai choisi de vous présenter <strong>Varnish, une solution de reverse proxy très puissante</strong>. Je partirais du principe que l&rsquo;architecture utilisée est un système <abbr title="Linux Apache Mysql PHP">LAMP</abbr> classique. Petite précision, vous entendrez beaucoup parlé de Nginx comme Reverse Proxy également. Ce sont les 2 principaux du moment.</p>
<h1>Quels sont les goulots d&rsquo;étranglements possible ?</h1>
<p>Avant de se dire que varnish est la solution au problème de montée en charge, il faut d&rsquo;abord <strong>analyser où se situent les goulots d&rsquo;étranglements</strong>. Pour ceux qui se posent la question, un goulot d&rsquo;étranglement est simplement l&rsquo;endroit où le bouchon se forme dans le réseau et donc où les données ne passent plus.</p>
<p>Les causes peuvent être diverses : réseau public Internet saturé,  un problème matériel, une application mal programmée consommant des ressources inutilement et enfin trop de connexions simultanées sur le serveur web ou sur le serveur MySQL.</p>
<p>Plus il y a de connexions et plus le serveur web doit générer de pages. Cette génération est coûteuse en terme de ressources.</p>
<h1>Rôle de Varnish</h1>
<p><img class="aligncenter" title="Varnish, un reverse proxy qui soulage vos serveurs" src="http://www.blog-nouvelles-technologies.fr/wp-content/uploads/2012/07/varnish-un-reverse-proxy-qui-soulage-vos-serveurs-1.png" alt="Varnish, un reverse proxy qui soulage vos serveurs" /></p>
<p>Varnish est ce qu&rsquo;on appelle un <em>Reverse Proxy</em>. Il est placé devant le serveur Apache et va pouvoir filtrer les requêtes arrivantes. Ce qui est important de retenir c&rsquo;est qu&rsquo;un serveur même petit est capable de délivrer une quantité très importantes de pages statiques. Ce qui est consommateur c&rsquo;est la génération des pages dynamiques. Par son positionnement Varnish va agir comme un cache. Pour mieux comprendre, un petit schéma issu de <a href="http://fr.wikitwist.com"  target="_blank">Wikitwist</a></p>
<p><a href="http://www.blog-nouvelles-technologies.fr/wp-content/uploads/2012/07/Reverse-Proxy.jpg" ><img class="size-full wp-image-15775 aligncenter" title="Reverse-Proxy" src="http://www.blog-nouvelles-technologies.fr/wp-content/uploads/2012/07/Reverse-Proxy.jpg" alt="" width="550" height="210" /></a></p>
<p><strong>Le serveur Varnish peut être installé soit sur un autre serveur que l&rsquo;Apache, soit sur le même.</strong></p>
<h1>Déroulement d&rsquo;une mise en cache</h1>
<ul>
<li>Le visiteur demande une page (ex : <a href="http://www.blog-nouvelles-technologies.fr/archives/15756/vous-avez-15-minutes-et-vous-voulez-apprendre-git/" >http://www.blog-nouvelles-technologies.fr/archives/15756/vous-avez-15-minutes-et-vous-voulez-apprendre-git/</a> )</li>
<li>Varnish reçoit la demande</li>
<li>Varnish regarde s&rsquo;il possède cette page en cache. C&rsquo;est la 1ere fois donc le cache n&rsquo;existe pas</li>
<li>Varnish fait suivre la demande à Apache qui fait son boulot et génère la page</li>
<li>Apache renvoie le contenu a Varnish</li>
<li>Varnish enregistre le contenu en cache</li>
<li>Varnish renvoie le résultat au visiteur</li>
<li>Un autre visiteur (ou le même) redemande la même page</li>
<li>Varnish reçoit la demande et regarde dans son cache. Cette fois la page existe déjà</li>
<li>Varnish renvoie directement le résultat</li>
</ul>
<p>Apache n&rsquo;a pas du tout connaissance de la demande qui vient d&rsquo;être formulée</p>
<h1>Mais ça fausse mes statistiques Analytics ce truc</h1>
<p>Absolument pas. Analytics et autre <em>tracker</em> <em>Javascript</em> sont installés côté client. Ils sont donc exécutés à l&rsquo;affichage du rendu HTML et seront toujours présents dans la page en cache</p>
<h1>OK mais moi je gère une boutique et mon block panier ne doit jamais être statique</h1>
<p>Effectivement c&rsquo;est un problème. Il existe différentes solutions pour remédier à ce problème. Varnish réagit en fonction de règles définies. Par exemple on peut lui dire si la page se termine par <code>.html</code> (cas de réécriture d&rsquo;URL) alors tu la mets en cache pour un jour. Par contre si l&rsquo;URL est en <code>.php|.jpg|.css</code>  ou si je suis dans le dossier <code>/admin</code> alors tu passes toujours la main à Apache.</p>
<p>On peut également vérifier si un cookie existe. L&rsquo;utilisateur a un cookie qui indique qu&rsquo;il est administrateur par conséquent tu passes la main à Apache.</p>
<p>L&rsquo;autre solution plus complexe permet de dire dans une page statique à 90% comme une fiche produit, j&rsquo;ai besoin d&rsquo;avoir qu&rsquo;un petit block dynamique pour afficher mon panier. On utilise donc les <abbr title="Edge Side Includes">ESI</abbr> comme ceci dans le code source</p>
<p><code>&lt;esi:include src="http://example.com/1.html" alt="http://bak.example.com/2.html" onerror="continue"/&gt;</code></p>
<p>L&rsquo;ESI permet de dire à Varnish, cette partie, tu la demandes à Apache même si tu as un cache.</p>
<h1>Conclusion</h1>
<p>Pour ceux qui désire le mettre en place, je vous conseille de suivre l&rsquo;excellent tutoriel de <a target="_blank" href="http://blog.nicolargo.com/2010/10/booster-votre-blog-wordpress-avec-varnish.html" >nicolargo</a> sur le <a target="_blank" href="http://blog.nicolargo.com/2010/10/booster-votre-blog-wordpress-avec-varnish.html" >couple Varnish + WordPress</a>.</p>
<p>Vous verrez que le <strong>gain en terme de performances est vraiment impressionnant si votre site draine un trafic relativement important</strong>. Par exemple je l&rsquo;ai mis en place pour un site qui faisait des pubs TV à des moments précis et qui voyait son serveur sauté à chaque fois. La simple installation sur le même serveur et surtout la bonne configuration de Varnish a suffit à absorber la montée en charge.</p>
<p>Alors convaincu ? Allez vous essayer de mettre ça en place sur votre serveur ?</p>
 <p><a href="http://www.blog-nouvelles-technologies.fr/?flattrss_redirect&amp;id=15771&amp;md5=825bb2bf7ed83a8aa8a897b3cd933eb4" title="Flattr" target="_blank"><img src="http://www.blog-nouvelles-technologies.fr/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.blog-nouvelles-technologies.fr/archives/15771/varnish-un-reverse-proxy-qui-soulage-vos-serveurs/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=lryo&amp;popout=1&amp;url=http%3A%2F%2Fwww.blog-nouvelles-technologies.fr%2Farchives%2F15771%2Fvarnish-un-reverse-proxy-qui-soulage-vos-serveurs%2F&amp;language=fr_FR&amp;category=text&amp;title=Varnish%2C+un+reverse+proxy+qui+soulage+vos+serveurs&amp;description=La+semaine+derni%C3%A8re+avait+lieu+le+d%C3%A9but+des+soldes%2C+c%26rsquo%3Best+une+p%C3%A9riode+critique+pour+les+h%C3%A9bergeurs+de+boutiques+en+ligne.+Certains+sites+voient+leur+nombre+de+visiteurs+doubler+d%C3%A8s+le...&amp;tags=acc%C3%A9l%C3%A9rateur+site+Web%2Ccache%2Creverse+proxy%2CVarnish%2Cweb%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Infographie : Réussir une migration de domaine, notamment pour le SEO</title>
		<link>http://www.blog-nouvelles-technologies.fr/archives/11413/infographie-reussir-une-migration-de-domaine-notamment-pour-le-seo/</link>
		<comments>http://www.blog-nouvelles-technologies.fr/archives/11413/infographie-reussir-une-migration-de-domaine-notamment-pour-le-seo/#comments</comments>
		<pubDate>Fri, 16 Mar 2012 08:02:47 +0000</pubDate>
		<dc:creator>Yohann Poiron</dc:creator>
				<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Technologies]]></category>
		<category><![CDATA[domaine]]></category>
		<category><![CDATA[infographie]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[NDD]]></category>
		<category><![CDATA[référencement]]></category>
		<category><![CDATA[seo]]></category>

		<guid isPermaLink="false">http://www.blog-nouvelles-technologies.fr/?p=11413</guid>
		<description><![CDATA[La migration d&#8217;un domaine est l&#8217;une de ces activités qui, même si dans le long terme peut présenter un sérieux avantage pour un processus SEO, surtout si le nouveau domaine est plus pertinent, peut représenter un risque pour le référencement en raison des multiples tâches qui doivent être exécutées correctement afin d&#8217;éviter des potentiels problèmes [...]]]></description>
				<content:encoded><![CDATA[<p class="dropcap-first">La <strong>migration d&rsquo;un domaine</strong> est l&rsquo;une de ces activités qui, même si dans le long terme peut présenter un sérieux avantage pour un processus SEO, surtout si le nouveau domaine est plus pertinent, peut représenter un <strong>risque pour le référencement</strong> en raison des multiples tâches qui doivent être exécutées correctement afin d&rsquo;éviter des potentiels problèmes d&rsquo;exploration et d&rsquo;indexation, qui auraient un impact très négatif sur votre référencement dans les moteurs de recherche concernés.<br />
En effet, lorsque que vous décidez de migrer un site avec un nouveau nom de domaine, sachez que les compteurs du référencement de votre site sont quasiment remis à zéro. Heureusement, <strong>il existe des procédures que l’on peut mettre en œuvre afin de minimiser voire complètement annuler les effets négatifs</strong> d’une migration de son nom de domaine.</p>
<p>Si vous avez déjà fait quelques recherches sur le Web, vous n&rsquo;êtes pas sans savoir qu&rsquo;il y a certes de nombreuses ressources, mais combien vous offre une liste complète couvrant l&rsquo;ensemble des différents aspects qui doivent être pris en considération en vue de mettre en œuvre et de valider une migration de domaine d&rsquo;un point de vue SEO ? Personnellement c&rsquo;est rare&#8230; </p>
<p>Afin de vous aider dans ce processus quelque peu complexe, surtout quand vous savez par où commencer, <a target="_blank" href="http://www.seomoz.org/users/profile/14053" >Aleyda</a> va vous y aider grâce à <strong>une infographie intitulée <em>SEO Friendly Domain Migration</em></strong>. Celle-ci nous permet de compiler les <strong>différentes phases du processus de migration</strong>, allant de la prise de décision, de la planification, la mise en œuvre et le suivi. Ainsi, vous voici avec une check-list des opérations à faire, et les outils utilisés par Aleyda :</p>
<p><a href="http://www.blog-nouvelles-technologies.fr/wp-content/uploads/2012/03/infographie-reussir-une-migration-de-domaine-notamment-pour-le-seo-full.gif" ><img class="aligncenter" title="Infographie : Réussir une migration de domaine, notamment pour le SEO" src="http://www.blog-nouvelles-technologies.fr/wp-content/uploads/2012/03/infographie-reussir-une-migration-de-domaine-notamment-pour-le-seo-1.gif" alt="Infographie : Réussir une migration de domaine, notamment pour le SEO" /></a></p>
<p><em>Note : Vous pouvez cliquer sur l&rsquo;image ci-dessus pour avoir une version en grand format </em></p>
<p>Il s&rsquo;agit d&rsquo;une première série d&rsquo;article basée sur la migration d&rsquo;un nom de domaine, dans lequel je vais m&rsquo;aventurer dans quelques temps&#8230;</p>
<p>Cette infographie vous a t-elle aidé ? Quels autres aspects prenez-vous en considération pour vous assurer que le SEO ne souffre pas d&rsquo;une migration de domaine ? </p>
 <p><a href="http://www.blog-nouvelles-technologies.fr/?flattrss_redirect&amp;id=11413&amp;md5=04a2a7195b833c349460019798fb87f7" title="Flattr" target="_blank"><img src="http://www.blog-nouvelles-technologies.fr/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.blog-nouvelles-technologies.fr/archives/11413/infographie-reussir-une-migration-de-domaine-notamment-pour-le-seo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=lryo&amp;popout=1&amp;url=http%3A%2F%2Fwww.blog-nouvelles-technologies.fr%2Farchives%2F11413%2Finfographie-reussir-une-migration-de-domaine-notamment-pour-le-seo%2F&amp;language=fr_FR&amp;category=text&amp;title=Infographie+%3A+R%C3%A9ussir+une+migration+de+domaine%2C+notamment+pour+le+SEO&amp;description=La+migration+d%26rsquo%3Bun+domaine+est+l%26rsquo%3Bune+de+ces+activit%C3%A9s+qui%2C+m%C3%AAme+si+dans+le+long+terme+peut+pr%C3%A9senter+un+s%C3%A9rieux+avantage+pour+un+processus+SEO%2C+surtout+si+le+nouveau+domaine...&amp;tags=domaine%2Cinfographie%2Cmigration%2CNDD%2Cr%C3%A9f%C3%A9rencement%2Cseo%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Comment fonctionne le DNS ?</title>
		<link>http://www.blog-nouvelles-technologies.fr/archives/9495/comment-fonctionne-le-dns/</link>
		<comments>http://www.blog-nouvelles-technologies.fr/archives/9495/comment-fonctionne-le-dns/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 08:05:28 +0000</pubDate>
		<dc:creator>Yohann Poiron</dc:creator>
				<category><![CDATA[Réseau]]></category>
		<category><![CDATA[AFNIC]]></category>
		<category><![CDATA[CENTR]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[pédagogie]]></category>
		<category><![CDATA[vidéo]]></category>

		<guid isPermaLink="false">http://www.blog-nouvelles-technologies.fr/?p=9495</guid>
		<description><![CDATA[Le terme DNS (Domain Name System, en anglais), ou encore système de noms de domaine, est revenu à plusieurs occasions sur le blog lors de différents articles. Selon la Wikipedia, &#171;&#160;un DNS est un service permettant d&#8217;établir une correspondance entre une adresse IP et un nom de domaine et, plus généralement, de trouver une information [...]]]></description>
				<content:encoded><![CDATA[<p class="dropcap-first">Le terme <em>DNS</em> (<em>Domain Name System</em>, en anglais), ou encore système de noms de domaine, est revenu à plusieurs occasions sur le blog lors de <a href="http://www.blog-nouvelles-technologies.fr/?s=DNS" >différents articles</a>. Selon la <a target="_blank" href="http://fr.wikipedia.org/wiki/Domain_Name_System" >Wikipedia</a>, <em>&laquo;&nbsp;un <strong>DNS est un service permettant d&rsquo;établir une correspondance entre une adresse IP et un nom de domaine</strong> et, plus généralement, de trouver une information à partir d&rsquo;un nom de domaine&nbsp;&raquo;</em>.</p>
<p>C&rsquo;est toujours flou pour vous ? Si c&rsquo;est le cas, je vous propose de <strong>regarder la vidéo ci-dessous</strong>. Celle-ci a été réalisée en collaboration avec le <a target="_blank" href="https://www.centr.org/" >CENTR</a> et l’<a target="_blank" href="http://www.afnic.fr/" >AFNIC</a>.</p>
<p><iframe class="aligncenter" width="640" height="480" src="http://www.youtube.com/embed/dcIrB8qRCbA" frameborder="0" allowfullscreen></iframe></p>
<p>Il s&rsquo;agit d&rsquo;une <strong>vidéo très ludique, qui peut s&rsquo;avérer très pédagogique</strong>&#8230; Ainsi, vous allez pouvoir comprendre comment fonctionne le système d&rsquo;adresse sur Internet, et ainsi établir une relation entre le nom de domaine, l&rsquo;adresse <em>IP</em> et le <em>DNS</em> !  </p>
<p>Pour résumer la vidéo, dès lors que vous êtes en réseau, autrement dit sur le Web, vous utilisez une adresse <em>IP</em> pour être localisé et ainsi vous connectez à d&rsquo;autres dispositifs. Mais, il va être difficile de se rappeler de l&rsquo;adresse <em>IP</em> d&rsquo;une machine&#8230; Par exemple, sur le Web, c&rsquo;est beaucoup plus facile de se souvenir du nom de domaine <em>www.blognt.fr</em> que de se souvenir de son adresse <em>IP</em> correspondante (178.33.204.24).<br />
C&rsquo;est là qu&rsquo;intervient le <em>DNS</em>&#8230; Avec lui, vous allez pouvoir vous connecter à un autre ordinateur sur le réseau, ou un service distant en utilisant son nom de domaine, plutôt que son <em>IP</em> numérique&#8230;<br />
À l&rsquo;inverse, le <em>Reverse DNS</em> (<em>rDNS</em>) traduit une adresse <em>IP</em> en un nom de domaine. </p>
<p>Alors vous êtes désormais plus à l&rsquo;aide avec le DNS ?</p>
 <p><a href="http://www.blog-nouvelles-technologies.fr/?flattrss_redirect&amp;id=9495&amp;md5=681bbb8d0dcba038085a6ff6e2d19719" title="Flattr" target="_blank"><img src="http://www.blog-nouvelles-technologies.fr/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.blog-nouvelles-technologies.fr/archives/9495/comment-fonctionne-le-dns/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=lryo&amp;popout=1&amp;url=http%3A%2F%2Fwww.blog-nouvelles-technologies.fr%2Farchives%2F9495%2Fcomment-fonctionne-le-dns%2F&amp;language=fr_FR&amp;category=text&amp;title=Comment+fonctionne+le+DNS+%3F&amp;description=Le+terme+DNS+%28Domain+Name+System%2C+en+anglais%29%2C+ou+encore+syst%C3%A8me+de+noms+de+domaine%2C+est+revenu+%C3%A0+plusieurs+occasions+sur+le+blog+lors+de+diff%C3%A9rents+articles.+Selon+la+Wikipedia%2C...&amp;tags=AFNIC%2CCENTR%2CDNS%2Cp%C3%A9dagogie%2Cvid%C3%A9o%2Cblog" type="text/html" />
	</item>
		<item>
		<title>We Sun Solve ! Nouvelle communauté pour les administrateurs systèmes Solaris&#8230;</title>
		<link>http://www.blog-nouvelles-technologies.fr/archives/6306/we-sun-solve-nouvelle-communaute-pour-les-administrateurs-systemes-solaris/</link>
		<comments>http://www.blog-nouvelles-technologies.fr/archives/6306/we-sun-solve-nouvelle-communaute-pour-les-administrateurs-systemes-solaris/#comments</comments>
		<pubDate>Tue, 06 Sep 2011 06:46:39 +0000</pubDate>
		<dc:creator>Yohann Poiron</dc:creator>
				<category><![CDATA[Réseau]]></category>
		<category><![CDATA[communauté]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[retours]]></category>
		<category><![CDATA[Solaris]]></category>
		<category><![CDATA[Sun]]></category>
		<category><![CDATA[Sun Solve]]></category>
		<category><![CDATA[We Sun Solve]]></category>

		<guid isPermaLink="false">http://www.blog-nouvelles-technologies.fr/?p=6306</guid>
		<description><![CDATA[Pour tous les administrateurs système ou les curieux, voici un nouveau site internet à but communautaire qui vient aujourd&#8217;hui de passer à la vitesse supérieure : We Sun Solve ! Comme son nom l&#8217;indique (ou pas), We Sun Solve s&#8217;adresse principalement aux administrateurs de machines Solaris. Pour ceux qui ne connaissent pas, c&#8217;est un système [...]]]></description>
				<content:encoded><![CDATA[<p class="dropcap-first">Pour tous les administrateurs système ou les curieux, voici un nouveau site internet à but communautaire qui vient aujourd&rsquo;hui de passer à la vitesse supérieure : <a target="_blank" href="http://wesunsolve.net/" >We Sun Solve</a> !</p>
<p>Comme son nom l&rsquo;indique (ou pas), <strong>We Sun Solve s&rsquo;adresse principalement aux administrateurs de machines Solaris</strong>. Pour ceux qui ne connaissent pas, c&rsquo;est un système d&rsquo;exploitation UNIX propriétaire développé à l&rsquo;origine par Sun Microsystems, et racheté par Oracle en janvier 2010. Le nom désormais donné au système est : <a target="_blank" href="http://www.oracle.com/us/solaris/index.html" >Oracle Solaris</a>.</p>
<p>C&rsquo;est précisément l&rsquo;acquisition de Sun par Oracle qui a poussé l&rsquo;auteur du site à se lancer, constatant l&rsquo;<strong>abandon progressif de l&rsquo;ancien site de support aux utilisateurs de Solaris bien connu : Sun Solve ! </strong></p>
<p>Ceux d&rsquo;entre vous qui ont déjà administré des machines Sun s&rsquo;en sont certainement rendu compte très vite : <strong>les mises à jour et correctifs sous Solaris sont souvent difficiles à gérer</strong> (de part leurs nombres, leurs classifications&#8230;). Et c&rsquo;est à ce moment que Sun Solve était très utile. Il permettait aux administrateurs de s&rsquo;y retrouver&#8230;</p>
<p><img class="aligncenter" title="We Sun Solve ! Nouvelle communauté pour les administrateurs systèmes Sun...e" src="http://www.blog-nouvelles-technologies.fr/wp-content/uploads/2011/09/we-sun-solve-nouvelle-communaute-pour-les-administrateurs-systemes-sun-1.jpg" alt="We Sun Solve ! Nouvelle communauté pour les administrateurs systèmes Sun..." /> </p>
<p>Mais heureusement, <strong><a target="_blank" href="http://twitter.com/#!/tgouverneur" >Thomas Gouverneur</a> a reprit l&rsquo;ancienne philosophie de SUN et d’Unix en général : <em>KISS</em> (<em>Keep It Simple Stupid</em>) !</strong></p>
<p>Grâce à Sun Solve, vous pouviez avoir toutes les <strong>informations sur les correctifs</strong> à appliquer sur vos serveurs, <strong>les bugs</strong> qui étaient identifiés et en cours de résolution, quelles étaient <strong>les dépendances</strong>, etc&#8230; We Sun Solve reprend toutes ces possibilités et en rajoute bien d&rsquo;autres : <strong>Flux <em>RSS</em></strong>, recherche de bugs, <strong>détails des compilations</strong> de correctifs (<em>patch clusters</em>), analyse de l&rsquo;<strong>état du <em>patching</em></strong> de votre serveur, etc&#8230; </p>
<p><img class="aligncenter" title="We Sun Solve ! Nouvelle communauté pour les administrateurs systèmes Sun...e" src="http://www.blog-nouvelles-technologies.fr/wp-content/uploads/2011/09/we-sun-solve-nouvelle-communaute-pour-les-administrateurs-systemes-sun-2.png" alt="We Sun Solve ! Nouvelle communauté pour les administrateurs systèmes Sun..." /></p>
<p><strong>We Sun Solve va ainsi vous permettre de connaître les dernières informations du système d&rsquo;exploitation. </strong></p>
<p>Aujourd&rsquo;hui, en même temps que la version 2.0 du site internet, vient s&rsquo;ajouter une liste de <strong>nouvelles fonctionnalités à but &laquo;&nbsp;communautaire&nbsp;&raquo;</strong> ! Et oui même pour ces vieux systèmes il faut passer au &laquo;&nbsp;2.0&Prime; ! Vous aurez ainsi la possibilité de commenter (en privé ou en public), les différents bugs, patchs, <em>bundles</em> et autres éléments présents sur le site.</p>
<p>Au niveau technique, ce site utilise <strong>uniquement des logiciels libres</strong>, et parmi eux on peut citer les plus connus : <em>Apache</em>, <em>MySQL</em>, <em>PHP5</em>, <em>Curl</em> et <em>Wget</em>. Son fonctionnement est simple : dès lors qu&rsquo;un correctif est publié, celui-ci est automatiquement téléchargé et les informations qu&rsquo;il contient sont traitées et mises à disposition via une base de données.</p>
<p>Avec une base de données comptant désormais plus de 6 GBytes ainsi qu&rsquo;un volume de patch indexés dépassant les 500 GBytes, il essaie donc de tenir la charge et espère pouvoir continuer longtemps à satisfaire ses utilisateurs, chaque jour plus nombreux. <strong>À l’heure actuelle We Sun Solve référence plus de 73 293 correctifs depuis 1990 et 359 998 bugs.</strong></p>
<p>En bref, si vous administrez des machines Solaris je vous recommande fortement de rejoindre cette communauté ! </p>
<p>Vous avez la possibilité de suivre We Sun Solve sur Twitter <a target="_blank" href="http://twitter.com/wesunsolve" >@wesunsolve</a>.</p>
<p>Que pensez-vous de cette initiative ? Êtes-vous administrateur Solaris ? Le rachat de Solaris par Oracle vous a-t-il pénalisé ? Venez réagir&#8230;</p>
 <p><a href="http://www.blog-nouvelles-technologies.fr/?flattrss_redirect&amp;id=6306&amp;md5=6abde96699fc2d32bfeab5fe88527451" title="Flattr" target="_blank"><img src="http://www.blog-nouvelles-technologies.fr/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.blog-nouvelles-technologies.fr/archives/6306/we-sun-solve-nouvelle-communaute-pour-les-administrateurs-systemes-solaris/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=lryo&amp;popout=1&amp;url=http%3A%2F%2Fwww.blog-nouvelles-technologies.fr%2Farchives%2F6306%2Fwe-sun-solve-nouvelle-communaute-pour-les-administrateurs-systemes-solaris%2F&amp;language=fr_FR&amp;category=text&amp;title=We+Sun+Solve+%21+Nouvelle+communaut%C3%A9+pour+les+administrateurs+syst%C3%A8mes+Solaris%26%238230%3B&amp;description=Pour+tous+les+administrateurs+syst%C3%A8me+ou+les+curieux%2C+voici+un+nouveau+site+internet+%C3%A0+but+communautaire+qui+vient+aujourd%26rsquo%3Bhui+de+passer+%C3%A0+la+vitesse+sup%C3%A9rieure+%3A+We+Sun+Solve+%21...&amp;tags=communaut%C3%A9%2COracle%2Cretours%2CSolaris%2CSun%2CSun+Solve%2CWe+Sun+Solve%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Qu&#8217;est-ce que le protocole HTTP ? Analyse et explications</title>
		<link>http://www.blog-nouvelles-technologies.fr/archives/5844/quest-ce-que-le-protocole-http-analyse-et-explications/</link>
		<comments>http://www.blog-nouvelles-technologies.fr/archives/5844/quest-ce-que-le-protocole-http-analyse-et-explications/#comments</comments>
		<pubDate>Wed, 17 Aug 2011 07:08:10 +0000</pubDate>
		<dc:creator>Aurélien PONCINI</dc:creator>
				<category><![CDATA[Réseau]]></category>
		<category><![CDATA[analyse]]></category>
		<category><![CDATA[client]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[navigateur]]></category>
		<category><![CDATA[protocole]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.blog-nouvelles-technologies.fr/?p=5844</guid>
		<description><![CDATA[Mon premier billet A l’heure où nous parlons de plus en plus de protection des données et de la sphère privée sur Internet, des lectrices et lecteurs du blog nous ont demandé s&#8217;il nous était possible de réaliser un billet sur un acteur important de cette protection -ou plutôt devrais-je dire sécurisation- : le SSL. [...]]]></description>
				<content:encoded><![CDATA[<p class="dropcap-first">
<h1>Mon premier billet</h1>
<p>A l’heure où nous parlons de plus en plus de protection des données et de la sphère privée sur Internet, des lectrices et lecteurs du blog nous ont demandé s&rsquo;il nous était possible de réaliser un billet sur un acteur important de cette protection -ou plutôt devrais-je dire sécurisation- : le <em>SSL</em>.</p>
<p>Avant de continuer je tiens à vous préciser là qu’il s’agit de ma première contribution sur le Blog des Nouvelles Technologies mais également de mon premier billet sur un blog (et oui, comme quoi…). Mes capacités rédactionnelles n’étant pas mon principal atout je vous serais grès d’être indulgent –au moins le temps que je trouve mon style- je vous en remercie par avance.</p>
<p>De même, mes connaissances, informations et sources n’étant pas parfaite, il est possible que ce billet comporte des imperfections. Si tel est le cas je vous remercie de me le faire savoir en commentaire (<strong>sur le blog en fin de billet</strong>) afin que nous puissions les corriger.<br />
Avant de détailler l’utilisation du SSL <strong>il me semble de bon goût de reprendre quelques bases</strong>, sans reprendre l’intégralité du fonctionnement d’internet hein, mais juste quelques notions pour que vous compreniez bien. C’est pour ça que j’ai préféré commencer par un article sur le protocole de communication<sup>1</sup> <em><em>HTTP</em></em> qui nous permettra par la suite, dans un autre billet relatif au SSL de parler entre autre du <em><em>HTTP</em></em> + <em>SSL</em> : le <em><em>HTTP</em>S</em>.</p>
<p>Rassurez-vous, nous n’allons pas parler <em>DNS</em>, réseau ou autre… ce sera peut-être l’objet d’un futur billet… qui sais… pour le moment concentrons-nous sur ce fameux protocole que vous utilisez tous les jours… si si vous allez voir <img src='http://www.blog-nouvelles-technologies.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' title="Quest ce que le protocole HTTP ? Analyse et explications" /> </p>
<p><em>Note : Bien que j’essaie de ne pas employer de terme technique sans les expliquer un minimum, il se peut que vous désiriez aller plus loin, vous trouverez alors des liens vers des articles de Wikipédia notamment, vous permettant d’en savoir plus à propos de certains termes utilisés que j’annote dans le texte.</em></p>
<h1>Le protocole <em>HTTP</em></h1>
<p>Alors celui-là (le protocole <em><em>HTTP</em></em>) comme je viens de vous le dire, c’est surement celui que vous connaissez le plus, enfin, en tout cas <strong>que vous utilisez le plus</strong>. <em><em>HTTP</em></em> pour <strong>HyperText Transfer Protocol</strong>, en français « Protocole de Transfert HyperTexte ».<br />
Lorsque vous parlez du Web, et bien vous parlez du protocole <em>HTTP</em> à l’échelle mondiale. En effet Internet regroupe de nombreux protocoles dont ce que nous nommons communément le Web. Pour information nous trouverons parmi les autres protocoles et usages : le FTP, la messagerie électronique, la messagerie instantanée (MSN, Jabber/XMPP…) et bien d’autres usages ou protocoles.</p>
<p>Il faut donc bien comprendre que <strong>le Web et Internet ne sont pas la même chose contrairement à ce que pense énormément de gens</strong>. Le Web (donc le protocole <em>HTTP</em>) utilise le réseau Internet comme il peut être sur un réseau privé non relié à Internet. De même, Internet est utilisé par beaucoup d’autres protocoles de communication autre que le <em>HTTP</em>.<br />
<em>HTTP</em> n’est donc pas réservé à Internet, il est également utilisé sur des Intranet d’entreprise ou même sur des réseaux locaux de petites tailles (réseau au domicile de plus en plus courant).</p>
<p><strong>Son rôle est de permettre le transfert de fichiers localisés grâce à une chaîne de caractères nommée URL entre un client et un serveur.</strong> Rien de bien compliqué, vous allez voir.</p>
<p>Ce protocole (<em>HTTP</em>) se positionne au niveau de la couche applicative et repose entre autre sur un autre protocole, le TCP <em>(rapidement : il s’agit d’un protocole réseau qui s’ assure de la qualité de la transmission effectuée à l’inverse du protocole UDP pour lequel l’information est envoyée sans contrôle de ce qui est reçu… ou non).</em></p>
<h2>Le <em>HTTP</em> côté client</h2>
<p>Lorsque vous surfez sur le Web, vous utilisez un navigateur (Internet Explorer, Firefox, Safari, Chrome, Opéra…). <strong>Ce navigateur est en fait un client <em>HTTP</em></strong> (la plupart des navigateurs supportent également d’autres protocoles tel que le <em>FTP</em><em> (<em>File Transfer Protocol</em> : Protocole de transfert de fichiers qui permet de transférer des fichiers d’un client à un serveur de manière multi-directionnelle)</em> par exemple mais ce n’est pas l’objet de ce billet.</p>
<p>Donc… ne vous inquiétez pas avec l’habitude je devrais parvenir par moins m’égarer… ^^</p>
<h3>De l&rsquo;URL à la ligne de requête&#8230;</h3>
<p>Donc je disais, le <em>HTTP</em> vous l’utilisez à chaque fois que vous surfez sur le Web. Tenez là par exemple, vous êtes sur Le BNT, dans la barre d’adresse vous avez d’indiqué une adresse similaire à cela :</p>
<p><img class="aligncenter" title="Qu'est-ce que le protocole HTTP ? Analyse et explications - Copie écran URL sur Firefox5" src="http://www.blog-nouvelles-technologies.fr/wp-content/uploads/2011/08/quest-ce-que-le-protocole-http-analyse-et-explications-1.png" alt="Qu'est-ce que le protocole HTTP ? Analyse et explications - Copie écran URL sur Firefox5" /></p>
<p>Ça c’est ce que nous appelons une <strong>URL</strong><em> (<em>Uniform Resource Locator</em>, &laquo;&nbsp;localisateur uniforme de ressource&nbsp;&raquo;)</em> <sup>2</sup> plus souvent appelée à tort &laquo;&nbsp;adresse web&nbsp;&raquo; (je dis à tort car comme je vous l’ai expliqué le terme Web est l’utilisation faite du protocole <em>HTTP</em> et non d’Internet, or une URL peut être utilisée sur d’autre protocole comme nous allons le voir).</p>
<p>Sur certains navigateurs comme Chrome, le « http:// » n’est pas affiché car Chrome (et je crois que Firefox fera bientôt de même) considère que cette information peut ne pas être affichée en permanence pour l’utilisateur puisque… justement permanente. Nous allons y revenir.</p>
<p><img class="aligncenter" title="Qu'est-ce que le protocole HTTP ? Analyse et explications - Copie écran URL sur Chrome13" src="http://www.blog-nouvelles-technologies.fr/wp-content/uploads/2011/08/quest-ce-que-le-protocole-http-analyse-et-explications-2.png" alt="Qu'est-ce que le protocole HTTP ? Analyse et explications - Copie écran URL sur Chrome13" /></p>
<p>Vous vous êtes déjà posé la question en fait de ce que cela signifie et de la manière dont votre navigateur interprète cette information ? Bon on va faire bref, c’est juste pour que vous suiviez bien jusqu’au bout.<br />
On peux découper cela en 7 parties :</p>
<ul>
<li><code>http</code></li>
<li> <code>:</code></li>
<li><code>//</code></li>
<li><code>www.blog-nouvelles-technologies.fr.</code></li>
<li> <code>:</code></li>
<li><code>80</code></li>
<li><code>/archives/5515/google-ouvre-un-projet-de-base-de-donnees-nosql-appele-leveldb/</code></li>
</ul>
<p>Bon OK j’ai un peu triché parce que là j’en ai ajouté, mais <strong>vous allez voir c’est très simple et utile à savoir</strong> pour la suite :</p>
<ul>
<li><code>http</code> on indique au navigateur le <strong>protocole souhaité</strong>. Si nous n’en indiquons pas, ce sera celui-là qui sera mis par défaut par le navigateur (on pourrait indiquer <strong>FTP</strong> si nous souhaitions utiliser le protocole <em>FTP</em>). C’est ce que je vous disais à l’instant, l’URL précise le protocole qui n’est pas obligatoirement du <em>HTTP</em>.</li>
<li> <code>:</code> Il s’agit d’un <strong>caractère de séparation qui est obligatoire</strong> lorsque l’on précise le protocole à utiliser.</li>
<li><code>//</code> Chaîne de caractères permettant de préciser le service pour les protocoles dont la requête comprend un chemin d&rsquo;accès</li>
<li><code>www.blog-nouvelles-technologies.fr.</code> le nom de domaine « pleinement qualifié », c’est-à-dire le site que vous souhaitez consulter (volontairement laissé en une seule partie ici car le but n’est pas d’expliquer le fonctionnement du <em>DNS</em>). Vous avez vu à la fin j’ai mis un point « <strong>.</strong> » ne pensez pas qu’il s’agit d’une faute, c’est volontaire <img src='http://www.blog-nouvelles-technologies.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' title="Quest ce que le protocole HTTP ? Analyse et explications" />  OK c’est du <em>DNS</em> mais à décortiquer l’adresse on va brièvement s’arrêter dessus. C’est ce qu’on appelle <strong>la terminaison DNS</strong>, en d’autres termes on indique au navigateur qu<strong>’il ne doit rien ajouter après le nom</strong> (il ne doit donc pas ajouter le domaine dans lequel nous nous trouvons). Cela lui indique que l’adresse indiquée est un <strong>FQDN</strong> (<em>Full Qualified Domain Name</em> : Nom de domaine pleinement qualifié, en clair &laquo;&nbsp;le domaine est complet donc t’es gentil petit ordinateur, tu rajoute rien après&nbsp;&raquo;). Bon vu que ce serait assez lourd de devoir à chaque fois ajouter un point après l’adresse, votre gentil navigateur le fait pour vous (sympa le type).</li>
<li> <code>:</code> caractère de séparation permettant d’indiquer que <strong>nous allons préciser le port à utiliser</strong></li>
<li><code>80</code> çà c’est le port<sup>3</sup>. Bon là aussi on va pas expliquer ce qu’est un port mais si on schématise très grossièrement, un ordinateur à plein de ports (comme un bâtiment a de nombreuses fenêtres) et chaque application devant être délivrée sur un serveur va monopoliser un ou plusieurs ports (un peu comme si chaque employé avait sa fenêtre de bureau de manière propre et indivisible). Sur un serveur on trouve 65536 ports et ce qu’il faut savoir c’est que <strong>tous les ports de 1 à 1024 sont réservés</strong> donc « pas touche, c’est réservé ! ». <strong>Notre serveur Web lui écoute par défaut sur le port 80</strong> (il peut écouter sur n’importe lequel, c’est au choix de l’administrateur mais c’est quand même vachement bien de respecter les standard hein… et puis surtout vous allez pas vous amusez à chercher sur quel port le serveur du BNT va répondre à votre requête <em>HTTP</em>….) donc sauf cas particulier et justifié (au goût de l&rsquo;administrateur) il sera toujours sur le 80. Comme expliqué c’est un standard donc là aussi votre gentil petit navigateur (même IE, si si je vous jure) va vous mâcher le travail : si vous ne mettez rien, il le rajoute <img src='http://www.blog-nouvelles-technologies.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' title="Quest ce que le protocole HTTP ? Analyse et explications" /> </li>
<li><code>/archives/5515/google-ouvre-un-projet-de-base-de-donnees-nosql-appele-leveldb/</code> là on sort du sujet, il s’agit du positionnement du fichier que nous souhaitons consulter sur le serveur. Dans le cas du BNT il est fait utilisation d’<strong>URL Rewriting</strong><sup>4</sup> <em>(réécriture d’URL)</em>. Nous pourrons là aussi en reparler dans un futur sujet. En attendant retenez juste que cela permet au serveur de savoir quelle ressource vous souhaitez visualisez sur le site du BNT. A noter que ce chemin pourrait également par la suite contenir des données supplémentaires transmises en <strong>GET</strong>. Hein, en quoi ? Ne vous inquiétez pas, nous y reviendrons après.</li>
</ul>
<p>Donc au final et bien notre URL elle donne ça :</p>
<p><a target="_blank" href="http://www.blog-nouvelles-technologies.fr.:80/archives/5515/google-ouvre-un-projet-de-base-de-donnees-nosql-appele-leveldb/" >http://www.blog-nouvelles-technologies.fr.:80/archives/5515/google-ouvre-un-projet-de-base-de-donnees-nosql-appele-leveldb/</a></p>
<p>N&rsquo;hésitez pas à cliquer dessus, vous constaterez que cela fonctionne parfaitement avec le <strong>.:80</strong> (et heureusement d&rsquo;ailleurs&#8230;. Le navigateur devrait masquer le port et laisser le point final).</p>
<p>Bon j’espère que vous comprenez déjà un peu mieux ce qu’il se passe quand vous tapez une adresse dans votre navigateur d’un point de vue <em>HTTP</em> (on n’aborde pas la partie réseau, <em>DNS</em> ou autre comme dis en début de billet).</p>
<p>Ça c’est pour ce que vous voyez dans votre navigateur. Comme je vous l’ai montré, bien que certains éléments de l’URL ne soient généralement pas affichés, vous pouvez si cela vous en dit les taper et cela fonctionne.<br />
Et bien tout cela c’est ce que l&rsquo;on appelle la <strong>ligne de requête</strong>.</p>
<p>Lorsque vous demandez à votre navigateur d’aller récupérer cette page, il va donc <strong>contacter un serveur et va récupérer le contenu</strong>.</p>
<p>Comment ? Nous y arrivons.</p>
<h3>Les en-tête <em>HTTP</em> de requête et le corps de requête</h3>
<p>Votre navigateur transmet votre ligne de requête en effectuant ce que l’on appelle la commande <strong>GET</strong>. Il existe plusieurs types de commandes, nous les verrons après.<br />
Mais il y a également d’autres données qui sont transmises au serveur par votre navigateur et que <strong>vous ne voyez pas du tout</strong>.</p>
<p>En effet, lorsque vous validez cette ligne de requête, votre navigateur va se connecter au serveur puis, une fois la connexion établie va lui envoyer d’autres informations :</p>
<ul>
<li><strong>Les champs d’en tête de la requête :</strong> facultatif, mais on peut dire qu’ils sont toujours envoyés. Il s’agit en fait d’un ensemble de lignes permettant de transmettre des informations au serveur comme par exemple le navigateur utilisé ou le système d’exploitation… Ces lignes sont formatées de la même manière : nom du type d’en-tête : valeur de l’en-tête. On appelle cela de la négociation de contenu<sup>5</sup>. Quelques exemples :</li>
</ul>
<pre style="padding-left: 60px;">User-Agent : Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0
Accept : text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language : fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Charset : ISO-8859-1,utf-8;q=0.7,*;q=0.7</pre>
<ul>
<li><strong>Le corps de la requête :</strong> il s’agit là aussi d’un ensemble de ligne non obligatoire que l’on sépare des lignes précédente (en-tête) par une ligne vide. Cela permet par exemple l’envoi de données via la commande <strong>POST</strong> comme lorsque vous validez un formulaire.</li>
</ul>
<p>Ainsi, les champs d&rsquo;en-têtes permettront par exemple au serveur distant d&rsquo;envoyer le document dans la langue souhaitée par le client&#8230; si celle-ci est disponible.<br />
<em>V</em><em>ous pouvez la trouver en bas de page un lien vers une liste complète des en-têtes existantes <sup>6</sup>.</em><br />
A l’aide d’un petit outil sur mon navigateur (Firefox) je peux voir ce qu’il se passe au cours de ces échanges. Cet outil se nomme <strong>HTTPFox</strong>. Ainsi, si j’accède par exemple au site <a target="_blank" href="http://www.web4all.fr/" >www.web4all.fr</a></p>
<p><img class="aligncenter" title="Qu'est-ce que le protocole HTTP ? Analyse et explications - Copie écran HTTPFox Headers" src="http://www.blog-nouvelles-technologies.fr/wp-content/uploads/2011/08/quest-ce-que-le-protocole-http-analyse-et-explications-3.png" alt="Qu'est-ce que le protocole HTTP ? Analyse et explications - Copie écran HTTPFox Headers" /></p>
<p>Comme vous pouvez le voir sur cette copie d’écran, nous avons en haut les différentes requêtes envoyées au serveur, la première ligne étant celle envoyée en premier lorsque j’ai appelé le site <a target="_blank" href="http://www.web4all.fr/" >www.web4all.fr</a>.</p>
<p>En cliquant dessus, j’obtiens dans la partie inférieure le détail des données. L’onglet sélectionné <strong>Headers</strong> me permet de voir les en-têtes envoyées, on y retrouve bien les exemples que je vous donnais tout à l’heure.</p>
<p>Et si j’avais envoyé des données vers le serveur, comment cela se serait-il passé ?</p>
<h3>Les méthodes GET et POST</h3>
<p>Pour envoyer des données vers le serveur nous avons deux solutions :</p>
<ul>
<li>En utilisant la <strong>méthode GET </strong>: c’est comme pour le reste de l’URL, on ajoute à la fin de l’URL les paramètres que nous souhaitons envoyer. Cela se fait ainsi : un point d’interrogation pour indiquer que nous allons envoyer des données supplémentaires et les données : <strong><em>nom de la données = valeur de la donnée</em></strong> ce qui nous donne donc :  <strong>?user=starchou</strong> <em>(où starchou est mon pseudo)</em>. Cela nous donnerait par exemple sur une URL : <a target="_blank" href="http://www.web4all.fr/index.php?user=starchou" >http://www.web4all.fr/index.php?user=starchou</a> Ainsi, je suis capable dans le script côté serveur de récupérer la valeur de <strong>user</strong> soit : <strong>starchou</strong></li>
<li>En utilisant la <strong>méthode POST</strong> : là c’est plus intéressant, cela ne se voit pas dans l’URL mais cela ne veut pas dire que c’est invisible. Et encore moins que cela est sécurisé ! Le principe est le même que le précédent mais la donnée ne peut-être ajouté par vous-même dans l’URL, c’est le concepteur de la page sur le serveur qui va créer des champs (que vous remplissez) et qui seront transmises en <strong>POST </strong> (car le développeur l’a explicitement indiqué lors de la création de son formulaire).</li>
</ul>
<p>Je le redis,<strong> ce n’est pas parce que l’on ne voit pas les données que cela ajoute de la sécurité</strong>, cela n’est absolument pas plus sécurisé que la méthode GET. Et un utilisateur peut très facilement envoyer des données s’il le souhaite même si cela n’est pas prévu dans la page.<br />
Ainsi, si l’on reprend HTTPFox, et que nous regardons ce qu’il se passe sur la validation d’un formulaire utilisant la méthode POST, voilà ce que nous voyons :</p>
<p><img class="aligncenter" title="Qu'est-ce que le protocole HTTP ? Analyse et explications - Copie écran HTTPFox POST Datas" src="http://www.blog-nouvelles-technologies.fr/wp-content/uploads/2011/08/quest-ce-que-le-protocole-http-analyse-et-explications-4.png" alt="Qu'est-ce que le protocole HTTP ? Analyse et explications - Copie écran HTTPFox POST Datas" /></p>
<p>Alors là, nous avons plusieurs informations :</p>
<ul>
<li><code>auth_key</code>            &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</li>
<li><code>referer</code> <a target="_blank" href="http://forums.web4all.fr/index.php" >http://forums.web4all.fr/index.php</a>?</li>
<li><code>username</code> Starchou</li>
<li><code>password</code> &#8212;&#8212;&#8211;</li>
<li><code>rememberMe</code>  1</li>
</ul>
<p>La première et la seconde ligne sont sans importance pour notre exemple.<br />
De la troisième à la cinquième ligne en revanche, nous avons toutes les informations du formulaire : le nom d’utilisateur, le <em>rememberMe</em> car j’ai coché la case « Se souvenir de moi » mais surtout : le mot de passe. Oui, vous avez bien lu, <strong>ce champ contient mon mot de passe, en « clair », que n’importe qui peut lire</strong> en arrivant à attraper le flux entre mon ordinateur et le serveur que je contact.<br />
<em>« Hein ? C’est quoi ce bordel là ? N’importe qui peut lire ce que j’envoie sur les sites que je consulte !?» </em></p>
<p>Et bien désolé de vous décevoir si vous pensiez le contraire mais <strong>OUI ces données sont « publiques »</strong> si je puis dire (du moins elles le sont de fait).</p>
<p>Et c’est là qu’on arrive ENFIN à parler d’une chose… le <strong><em>HTTP</em>S</strong>. Il s’agit tout simplement du protocole <strong><em>HTTP</em></strong>, celui que nous venons de voir mais avec un détail en plus, le <strong>S</strong>. Ce <strong>S</strong> il signifie Secured (Sécurisé) et nous l’obtenons grâce à l’utilisation du fameux protocole <strong>SSL</strong> <em>(Secured Sockets Layer)</em> ou plutôt devrais-je dire <strong>TLS</strong> <em>(Transport Layer Security)</em> qui est sa nouvelle dénomination… depuis 2001.<br />
Il s’agit en fait d’un <strong>protocole de sécurisation des échanges de données</strong> et je n’en dirais pas plus car comme je vous l’expliquais en tout début d’article <strong>ce sera l’objet du billet suivant</strong>. Retenez juste une chose en attendant le billet sur SSL/TLS : <strong>n’envoyez jamais d’informations sensibles si le protocole utilisé est <em>HTTP</em> et non <em>HTTP</em>S</strong> ! Ça, c’est dit, maintenant on passe à la suite.</p>
<p>Hé, ho, ce n’est pas parce que vous êtes arrivé au mot SSL qu’il faut arrêter de lire l’article et se dire que vous allez attendre le billet sur le SSL/TLS. Vous avez commencé alors maintenant il faut aller jusqu’au bout. Allez rassurez-vous le plus dur est passé.</p>
<p>A propos de la méthode <strong>POST</strong>, je suis sûr que vous avez déjà été confronté à cela :</p>
<p><img class="aligncenter" title="Qu'est-ce que le protocole HTTP ? Analyse et explications - Copie écran HTTPFox REPOST Datas" src="http://www.blog-nouvelles-technologies.fr/wp-content/uploads/2011/08/quest-ce-que-le-protocole-http-analyse-et-explications-5.png" alt="Qu'est-ce que le protocole HTTP ? Analyse et explications - Copie écran HTTPFox REPOST Datas" /></p>
<p>En fait cela se produit lorsque vous validez un formulaire qui va envoyer des informations en utilisant donc la méthode POST. Mais à ce moment-là pour une raison qui vous est propre <strong>vous actualisez la page</strong> quelques temps après. Et la PAF, votre navigateur vous sort cet infâme message auquel vous n’avez jamais très bien compris en quoi cela consistait techniquement parlant.</p>
<p>Et bien c’est très simple, en actualisant la page vous renvoyez au serveur la même requête que précédemment, et donc <strong>vous renvoyez à nouveau les données POST</strong>. Pas très grave sur un simple formulaire d’identification, mais peut être plus gênant si vous venez de vous inscrire par exemple sur un site. Là pas de chance, le développeur (Kevin) a mal fait son travail et soit vous avez un message d’erreur comme quoi l’utilisateur existe déjà soit… le dev a vraiment mal fait son travail et devrait penser à se reconvertir (j’en connais…) et cela vous créée un deuxième compte (à la limite c’est plus gênant pour le gestionnaire du site que pour vous dans ce cas-là hein…).</p>
<p>C’est pour cela qu’en général, une fois les données du formulaire récupérées par le serveur et traitées, le développeur aura pris soin de faire en sorte que vous soyez redirigé vers une page afin de vider ces informations POST sans que vous n’ayez pas le temps de le voir (si les choses sont bien faites).<br />
Voilà, nous venons de voir le côté client (votre navigateur), nous allons maintenant voir le côté serveur.</p>
<h2>Le <em>HTTP</em> côté serveur</h2>
<p>Le serveur (je parle ici du <strong>serveur logiciel : le serveur Web</strong> et non du serveur au sens matériel : la machine) est là pour publier du contenu. En résumé, son travail est simple, un client le contact, il traite la demande et s’il le peut, il répond en délivrant la ressource demandée. Bien entendu, dans la pratique le serveur Web se verra greffer de nombreux rôles supplémentaires à l’aide de modules lui permettant ainsi de traiter différents langages (Perl, Python, Ruby et bien sûr le Php… et bien d’autres) mais également lui permettre d’agir différemment à l’aide du mode Proxy (permettant de jouer un rôle de mandataire), du mode CGI (Interface de communication avec des serveurs applicatifs externes)…<br />
Nous pourrons éventuellement, encore une fois traiter de cela dans de futurs billets mais pour le moment concentrons-nous sur son rôle principal.</p>
<p>Ce serveur il y a 64.88% de chance que ce soit un serveur <strong>Apache</strong> (serveur Web open-source). Et si ce n’est pas le cas, il reste 16.82% de chance alors que ce soit un serveur <strong>IIS</strong> (serveur Web commercialisé par Microsoft).</p>
<p>Enfin pour finir il restera 6.55% de « parts de marchés » pour <strong>Nginx</strong> et 4.61% de parts pour <strong>Google</strong> (qui a son propre serveur Web). Les derniers pourcents restants se retrouvent occupés par des serveurs récents encore peu connus qui se feront peut-être leur place petit à petit.<sup>7</sup><br />
<em>Retrouvez une infographie détaillée traitant partiellement de ce sujet : <a href="http://www.blog-nouvelles-technologies.fr/archives/5122/infographie-et-si-lopen-source-venait-envahir-le-web/" >http://www.blog-nouvelles-technologies.fr/archives/5122/infographie-et-si-lopen-source-venait-envahir-le-web/</a></em><br />
Ce serveur donc, lorsqu’il va être contacté par le client (votre navigateur) va décoder la demande et vérifier s’il peut la traiter. Si ce n’est pas le cas vous obtiendrez un message d’erreur.</p>
<p>En effet le serveur lorsqu’il va répondre au client va lui transmettre une <strong>ligne de statut</strong> qui comportera :</p>
<ul>
<li>la version du protocole utilisée (<strong>HTTP/1.1</strong> par exemple)</li>
<li>le code de statut</li>
<li>la signification du code</li>
</ul>
<p>Le <strong>code de statut</strong>, appelé aussi code retour permet au navigateur de savoir si sa demande a été traitée ou non. Ces codes retour sont normalisés <em>(spécifiés par la RFC 2616 <a target="_blank" href="http://tools.ietf.org/html/rfc2616" >http://tools.ietf.org/html/rfc2616</a> )</em> et on y trouvera notamment :</p>
<ul>
<li><strong>200 </strong>: OK (Ce qui signifie… que la demande est traitable sans problème)</li>
<li><strong>301 </strong>: <em>Moved Permanently</em> (Document déplacé de façon permanente)</li>
<li><strong>302 </strong>: <em>Found</em>  (Document déplacé de façon temporaire)</li>
<li><strong>403 </strong>: <em>Forbidden</em> (L’authentification est refusée. Contrairement à l’erreur 401, aucune demande d’authentification ne sera faite)</li>
<li><strong>404 </strong>: <em>Not Found</em> (Document non trouvé)</li>
<li><strong>500 </strong>: <em>Internal Server Error (</em>Erreur interne du serveur)</li>
</ul>
<p>Et beaucoup d’autres codes…<sup>8</sup><br />
D’ailleurs si l’on reprend notre requête envoyée tout à l’heure au serveur nous constatons bien que ce dernier <strong>nous renvoi à chaque fois un code retour</strong> :</p>
<p><img class="aligncenter" title="Qu'est-ce que le protocole HTTP ? Analyse et explications - Copie écran HTTPFox CODE STATUS" src="http://www.blog-nouvelles-technologies.fr/wp-content/uploads/2011/08/quest-ce-que-le-protocole-http-analyse-et-explications-6.png" alt="Qu'est-ce que le protocole HTTP ? Analyse et explications - Copie écran HTTPFox CODE STATUS" /></p>
<p>Ici nous avons bien un code <strong>200</strong> informant que la <strong>demande a été traitée avec succès</strong>.</p>
<p>Ensuite le serveur va renvoyer les champs d’<strong>en-têtes de la réponse</strong>, sur le même principe que nos en-têtes lors de la demande : <strong><em>nom du type d’en-tête : valeur de l’en-tête</em></strong><br />
Pour finir le serveur nous renverra bien heureusement (parce ce que c’est quand même cela que l’on souhaite à la base !) le corps de la réponse qui contient le document demandé.</p>
<p>Ah oui, j’allais oublier, comme je vous parle depuis tout à l’heure de <strong>GET</strong> et <strong>POST</strong> et que je vous ai promis à plusieurs reprises d’y revenir dessus, on va expliquer un peu ces fameuses commandes.</p>
<p>Il existe <strong>cinq types de commandes</strong> :</p>
<ul>
<li><strong>GET</strong>: la commande que nous avons vu au début : lorsque nous envoyons la requête afin de récupérer ce à quoi elle correspond (d’où le GET car <strong>on récupère le contenu</strong>)</li>
<li><strong>HEAD</strong>: Ce sont nos fameux <strong>en-têtes que nous envoyons</strong> au serveur juste après le GET</li>
<li><strong>POST</strong>: la commande que nous avons vu lorsque nous validons un formulaire, permettant ainsi d’<strong>envoyer des données au serveur</strong> afin que ce dernier les traites.</li>
<li><strong>PUT</strong>: permet d’envoyer des données au serveur. Il ne s’agit pas d’envoyer des données comme en POST pour traitement par le programme mais plutôt de l’<strong>envoi par exemple d’un fichier</strong>.</li>
<li><strong>DELETE</strong>: permet de <strong>supprimer</strong> le fichier spécifié</li>
</ul>
<p>Maintenant, nous avons vu ce qu’il se passait côté client et côté serveur. Si nous voulions résumer le tout, vous allez voir c’est très simple :</p>
<p><img class="aligncenter" title="Qu'est-ce que le protocole HTTP ? Analyse et explications - SCHEMA DIALOGUE" src="http://www.blog-nouvelles-technologies.fr/wp-content/uploads/2011/08/quest-ce-que-le-protocole-http-analyse-et-explications-7.png" alt="Qu'est-ce que le protocole HTTP ? Analyse et explications - SCHEMA DIALOGUE" /></p>
<p>Nous avons bien <strong>un navigateur sur lequel un utilisateur demande une URL</strong>, une fois cette demande envoyée, elle est formatée par <strong>le navigateur qui y ajoute les en-têtes</strong> et le tout est envoyé au serveur.</p>
<p>Le <strong>serveur analyse la demande</strong>, s’assure de pouvoir la réaliser (il va par exemple vérifier que les fichiers sont bien présent, si ce n’est pas le cas il renverra une erreur <strong>404</strong>) et formater sa réponse.</p>
<p>Pour finir <strong>le serveur envoi la ligne de statut</strong>, les <strong>en-têtes <em>HTTP</em> de réponse</strong> ainsi que le <strong>contenu demandé</strong>.</p>
<p>Un dernier point : votre <strong>navigateur vous présente les données</strong> après les avoir traités.<br />
Si une erreur apparait dans ce processus, nous l’avons vu tout à l’heure, il existe une multitude de code retour qui permettra à votre navigateur de vous afficher le plus précisément possible le type d’erreur.<br />
Dites-vous bien que lorsque vous consultez un site <strong>cette opération est réalisée des dizaines de fois</strong>. En effet il va falloir charger une multitude de fichiers : fichiers html, css, images… Vous verrez dans l’historique que je vous parle à un moment du transfert en <em>Pipeline</em> qui permet <strong>une accélération conséquente des temps de chargement</strong>, vous comprenez pourquoi cette évolution était bien nécessaire, surtout lorsque l&rsquo;on prends en compte l&rsquo;augmentation des données publiées sur les pages.<br />
<em>Note : il est interdit de se moquer de mon magnifique schéma. <img src='http://www.blog-nouvelles-technologies.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' title="Quest ce que le protocole HTTP ? Analyse et explications" /> </em></p>
<h2>Un peu d’histoire</h2>
<p>Initialement cette partie était positionnée en début d’article, ce qui pourrait sembler plus logique et vous faire, sur ce coup, vraiment douter de mes capacités rédactionnelles ! Alors je tiens à préciser qu’il s’agit d’une volonté de ma part de positionner cela après les explications que je viens de faire. La raison en est simple, en me relisant je me suis dit que vous risquiez de ne pas beaucoup comprendre cette partie vu que la plupart des termes sont expliqués dans le reste de l’article.<br />
C’est pourquoi nous allons aborder l’histoire du protocole <em>HTTP</em> maintenant, que vous êtes en mesure de comprendre sans aucun soucis –je l’espère- ce qui suis.</p>
<p>Ce protocole a été inventé en <strong>1990</strong> par notre cher <strong>Tim Berners-Lee</strong> <em>(<a target="_blank" href="http://fr.wikipedia.org/wiki/Tim_Berners-Lee" >http://fr.wikipedia.org/wiki/Tim_Berners-Lee</a>)</em> dans une version que l’on nomme aujourd’hui HTTP/0.9 (qui n’est plus utilisée ou alors très peu).<br />
S’en est suivi la version <strong>1.0</strong> en <strong>1996</strong>, première à être décrite dans une RFC1945<em> (<a target="_blank" href="http://tools.ietf.org/html/rfc1945" >http://tools.ietf.org/html/rfc1945</a>)</em> permettant de nombreuses avancées telles que :</p>
<ul>
<li>la <strong>gestion de serveurs virtuels</strong> « Virtual Hosts » qui permet de mettre plusieurs domaines sur une même adresse IP et aujourd’hui croyez-moi nous sommes tous bien content que cela soit possible car vous n’êtes pas sans savoir que ces fameuses adresses IP dans leur formes actuelle (IPv4) sont en pénuries. Grâce à ce module on peut héberger des sites ayant différents noms sur une même adresse IP.</li>
<li>la gestion de <strong>cache</strong> permettant d’accélérer les échanges et traitement</li>
<li>la gestion de l’<strong>identification</strong> au niveau du serveur Web</li>
<li>l’envoie de données d’<strong>en-tête</strong> comme vu au cours de l’article</li>
</ul>
<p>Puis, nous arrivons en <strong>1999</strong>… voilà <strong>HTTP/1.1</strong> dans la RFC2616<em> ( <a target="_blank" href="http://tools.ietf.org/html/rfc2616" >http://tools.ietf.org/html/rfc2616</a> )</em>. Cette version ajoute le <strong>support du transfert en <em>pipeline</em></strong> permettant de combiner plusieurs requêtes <em>HTTP</em> dans une seule et même connexion TCP sans attendre les réponses correspondant à chaque requête permettant ainsi un gain considérable du temps de chargement d’une page. Cette version apporte aussi la <strong>négociation de type de contenu</strong> (format de données, langue) via encore une fois nos fameuses <strong>en-tête</strong>.</p>
<h1>Conclusion</h1>
<p>Si vous êtes arrivé jusqu’à la fin je ne peux que vous en remercier, j’espère que vous avez bien pu comprendre l’ensemble de l’article et que sa structure vous a convenu.</p>
<p><strong>N’hésitez pas à me faire part de vos remarques</strong> avant que je ne me lance dans la rédaction des futurs billets, que je puisse en tenir compte. Et surtout<strong> n’hésitez surtout pas à poser vos questions</strong>, je me ferais un plaisir –dans la limite de mes connaissances et de ce que je pourrais trouver au besoin- de vous y répondre.</p>
<p>Le prochain article traitera, vous l&rsquo;aurez compris de la sécurisation des échanges entre le client (votre navigateur) et le serveur à l&rsquo;aide du protocole <strong>TLS</strong> (plus connu sous son ancien nom SSL).</p>
<p>Nous traiterons des généralités : présentation et explications. Puis des cas d&rsquo;utilisation possibles (obligatoire, conseillé, sans intérêt), le cas des plate-forme de paiement en ligne. Enfin nous verrons ensemble comment mettre cela en place que ce soit chez un hébergeur mutualisé ou sur un serveur dédié / privé. Le sujet abordera donc un peu plus la technique mais je ferais en sorte qu&rsquo;il reste accessible au plus grand nombre.</p>
<p>Si vous avez aimé l&rsquo;article, n&rsquo;hésitez pas à utiliser le bouton +1, à le partager sur les différents réseaux sociaux, cela afin de contribuer à la promotion du Blog des Nouvelles Technologies. Merci <img src='http://www.blog-nouvelles-technologies.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' title="Quest ce que le protocole HTTP ? Analyse et explications" /> </p>
<h2>Pour aller plus loin : les références</h2>
<p>Tout d&rsquo;abord, je vous invite à consulter l&rsquo;infographie commenté par Yohann au sujet des en-tête de réponse <em>HTTP</em> : <a href="http://www.blog-nouvelles-technologies.fr/archives/3639/infographie-quest-ce-quune-reponse-den-tete-<em>HTTP</em>/&nbsp;&raquo;>http://www.blog-nouvelles-technologies.fr/archives/3639/infographie-quest-ce-quune-reponse-den-tete-http/</a></p>
<p>Retrouvez l’histoire du Web sur Wikipédia : <a target="_blank" href="http://fr.wikipedia.org/wiki/Web" >http://fr.wikipedia.org/wiki/Web</a></p>
<p><sup>1</sup> Qu’es ce qu’un protocole de communication ?  <a target="_blank" href="http://fr.wikipedia.org/wiki/Protocole_de_communication" >http://fr.wikipedia.org/wiki/Protocole_de_communication</a></p>
<p><sup>2</sup> Qu’es ce qu’une URL ? <a target="_blank" href="http://fr.wikipedia.org/wiki/Rep%C3%A8re_uniforme_de_ressource" >http://fr.wikipedia.org/wiki/Rep%C3%A8re_uniforme_de_ressource</a></p>
<p><sup>3</sup> Qu’es ce qu’un port ? <a target="_blank" href="http://fr.wikipedia.org/wiki/Port_%28logiciel%29" >http://fr.wikipedia.org/wiki/Port_%28logiciel%29</a></p>
<p><sup>4</sup> URL rewriting – ré écriture d’URL : <a target="_blank" href="http://fr.wikipedia.org/wiki/.htaccess" >http://fr.wikipedia.org/wiki/.htaccess</a></p>
<p><sup>5</sup> Négociation de contenu : <a target="_blank" href="http://fr.wikipedia.org/wiki/N%C3%A9gociation_de_contenu" >http://fr.wikipedia.org/wiki/N%C3%A9gociation_de_contenu</a></p>
<p><sup>6</sup> Article sur le protocole <em>HTTP</em> comportant un tableau récapitulatif des en-têtes existantes : <a href="http://www.commentcamarche.net/contents/internet/<em>HTTP</em>.php3&Prime;>http://www.commentcamarche.net/contents/internet/<em>HTTP</em>.php3</a></p>
<p><sup>7</sup> Chiffres au 19 juillet 2011 publié par le Journal du Net : <a target="_blank" href="http://www.journaldunet.com/developpeur/outils/part-de-marche-des-serveurs-web/" >http://www.journaldunet.com/developpeur/outils/part-de-marche-des-serveurs-web/</a></p>
<p><sup>8</sup> Liste des codes statut (code retour) <em>HTTP</em> : <a href="http://fr.wikipedia.org/wiki/Liste_des_codes_<em>HTTP</em>&laquo;&nbsp;>http://fr.wikipedia.org/wiki/Liste_des_codes_<em>HTTP</em></a></p>
<p><sup>9</sup> Gestion du Pipeline <em>HTTP</em> : <a target="_blank" href="http://fr.wikipedia.org/wiki/Pipelining_http" >http://fr.wikipedia.org/wiki/Pipelining_http</a></p>
<p>Je dois également vous dire que je me suis appuyé sur des supports de cours obtenus lors de formations Apache, je ne peux malheureusement diffuser ces supports mais ai essayé de vous faire une synthèse de toutes ces sources de manière la plus compréhensible possible pour les non experts.</p>
 <p><a href="http://www.blog-nouvelles-technologies.fr/?flattrss_redirect&amp;id=5844&amp;md5=f76de2565b01667e43bf34e75fb82eab" title="Flattr" target="_blank"><img src="http://www.blog-nouvelles-technologies.fr/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.blog-nouvelles-technologies.fr/archives/5844/quest-ce-que-le-protocole-http-analyse-et-explications/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=lryo&amp;popout=1&amp;url=http%3A%2F%2Fwww.blog-nouvelles-technologies.fr%2Farchives%2F5844%2Fquest-ce-que-le-protocole-http-analyse-et-explications%2F&amp;language=fr_FR&amp;category=text&amp;title=Qu%26rsquo%3Best-ce+que+le+protocole+HTTP+%3F+Analyse+et+explications&amp;description=Mon+premier+billet+A+l%E2%80%99heure+o%C3%B9+nous+parlons+de+plus+en+plus+de+protection+des+donn%C3%A9es+et+de+la+sph%C3%A8re+priv%C3%A9e+sur+Internet%2C+des+lectrices+et+lecteurs+du+blog+nous...&amp;tags=analyse%2Cclient%2Chttp%2Cnavigateur%2Cprotocole%2Cweb%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Comprendre SOAP – Partie 2</title>
		<link>http://www.blog-nouvelles-technologies.fr/archives/881/comprendre-soap-partie-2/</link>
		<comments>http://www.blog-nouvelles-technologies.fr/archives/881/comprendre-soap-partie-2/#comments</comments>
		<pubDate>Sun, 24 Oct 2010 18:15:29 +0000</pubDate>
		<dc:creator>Yohann Poiron</dc:creator>
				<category><![CDATA[Interopérabilité]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[receiver]]></category>
		<category><![CDATA[sender]]></category>
		<category><![CDATA[soap]]></category>

		<guid isPermaLink="false">http://www.blog-nouvelles-technologies.fr/?p=881</guid>
		<description><![CDATA[La première partie du sujet &#8216;Comprendre SOAP&#8217; nous a permis d&#8217;identifier les principes, le fonctionnement et les limites de SOAP. C&#8217;est donc sur cet aspect &#171;&#160;théorique&#160;&#187; que nous nous sommes arrêtés. Dans cet article, je vais aborder la partie technique du protocole. Pour cela, nous allons analyser le modèle de traitement SOAP, le format du [...]]]></description>
				<content:encoded><![CDATA[<p class="dropcap-first">La <a href="http://www.blog-nouvelles-technologies.fr/archives/827/comprendre-soap-partie-1/" >première partie du sujet &lsquo;Comprendre SOAP&rsquo;</a> nous a permis d&rsquo;identifier les principes, le fonctionnement et les limites de SOAP. C&rsquo;est donc sur cet aspect &laquo;&nbsp;théorique&nbsp;&raquo; que nous nous sommes arrêtés. </p>
<p>Dans cet article, je vais aborder la partie technique du protocole. Pour cela, nous allons analyser le modèle de traitement SOAP, le format du message, la procédure de l&rsquo;appel à distance, et enfin l’enveloppe SOAP.</p>
<h1> Modèle de traitement SOAP </h1>
<p>Un message SOAP peut être véhiculé par plusieurs protocoles de transport comme illustrés dans la figure ci-dessous. </p>
<p><img class="aligncenter" title="Modèle de traitement SOAP" src="http://www.blog-nouvelles-technologies.fr/wp-content/uploads/2010/10/soap-3.png" alt="Modèle de traitement SOAP" /></p>
<p>Le modèle de traitement SOAP décrit un modèle de traitement distribué, les participants, les nœuds SOAP et  la manière dont un récepteur traite un message SOAP. Les nœuds SOAP suivants sont définis :</p>
<h2> Émetteur SOAP  (<em>SOAP sender</em>) </h2>
<p>Un émetteur SOAP est un nœud qui envoie le message SOAP.</p>
<h2> Récepteur SOAP  (<em>SOAP receiver</em>)  </h2>
<p>Un récepteur SOAP est un nœud qui reçoit le message SOAP.</p>
<h2> Parcours du message SOAP (<em>SOAP message path</em>)  </h2>
<p>Afin d&rsquo;obtenir le nœud de destination, le message SOAP doit progresser à travers les différents nœuds. Le parcours que suit un message SOAP vers le récepteur est appelé parcours du message SOAP (<em>SOAP message path</em>).</p>
<h2> Initiateur de l&rsquo;émetteur SOAP (<em>Initial SOAP sender</em>) </h2>
<p>Le nœud qui crée un message SOAP au début du parcours est appelé initiateur émetteur SOAP (<em>Initial SOAP sender</em>) .</p>
<h2> Intermédiaire SOAP (<em>SOAP intermediary</em>) </h2>
<p>Un intermédiaire SOAP est à la fois un récepteur SOAP et un émetteur SOAP et ciblé à partir d&rsquo;un message SOAP. Il traite les blocs d&rsquo;en-tête SOAP ciblés et agit en amont d&rsquo;un message SOAP vers un récepteur SOAP final.</p>
<h2> Récepteur SOAP final (<em>Ultimate SOAP receiver</em>) </h2>
<p>Le récepteur SOAP est la destination finale d&rsquo;un message SOAP. Il est responsable du traitement du contenu du corps SOAP et de tous les blocs d&rsquo;en-tête SOAP ciblés. Dans certains cas, un message SOAP peut ne pas parvenir au récepteur SOAP final, par exemple en raison d&rsquo;un problème sur un intermédiaire SOAP. Le récepteur ne peut pas aussi être un intermédiaire SOAP pour le même message SOAP.</p>
<h1> Format du message </h1>
<p>La partie principale de ce message a un type MIME <code>text/xml</code> et contient l&rsquo;enveloppe SOAP. Cette enveloppe est un document XML. L&rsquo;enveloppe contient un entête (facultatif) et le corps (obligatoire).<br />
La partie du corps de l&rsquo;enveloppe est toujours prévue pour le destinataire final du message, tandis que les blocs d&rsquo;entête peuvent cibler les intermédiaires qui effectuent le traitement de l&rsquo;acheminement du message. Les pièces jointes, binaires ou autres, peuvent être ajoutées à l’enveloppe.</p>
<p>Les en-têtes envoyés en complément du contenu principal du message SOAP, sont utiles dans l&rsquo;ajout d&rsquo;informations au message qui n&rsquo;affectent pas le traitement du corps du message. Les en-têtes, par exemple, peuvent être utilisés pour fournir des signatures numériques pour une demande contenue dans le corps. Dans ce cas, un serveur indépendant d&rsquo;authentification ou d&rsquo;autorisation pourrait extraire la donnée de l&rsquo;entête pour valider la signature. Une fois validé, le reste de l&rsquo;enveloppe pourrait être répercuté sur le serveur SOAP, ce qui permettrait de traiter le corps du message. Un examen plus poussé de l&rsquo;enveloppe SOAP aidera à clarifier la mise en place et le but de l&rsquo;en-tête SOAP et les éléments du corps.</p>
<h1> Appel de la méthode distante SOAP </h1>
<p>Les messages SOAP sont des transmissions fondamentalement à sens unique d&rsquo;un émetteur à un récepteur, mais ils sont souvent combinés pour mettre en œuvre des mécanismes de demande/réponse. Pour faire du RPC en utilisant SOAP, quelques conventions doivent être respectées. Tout d&rsquo;abord, la demande des messages de réponse doit être codée comme des structures. Pour chaque paramètre d&rsquo;entrée d&rsquo;une opération, il doit y avoir un élément avec le même nom que le paramètre, et pour chaque paramètre de sortie, il doit y avoir un élément avec un nom correspondant. La demande invoque la méthode <code>additionCalcul</code>. Remarquez que la réponse définit une opération <code>additionCalculResponse</code>. Une convention commune à des appels SOAP pour ajouter la réponse à la fin d&rsquo;une demande, afin de créer une structure de réponse.<br />
Cette structure de sortie contient un élément appelé <code>result</code>, qui renvoie le résultat de l&rsquo;appel de la méthode.</p>
<p><img class="aligncenter" title=" Appel de la méthode distante SOAP" src="http://www.blog-nouvelles-technologies.fr/wp-content/uploads/2010/10/soap-4.png" alt="Appel de la méthode distante SOAP" /></p>
<h1> Bloc d&rsquo;entête, de corps </h1>
<h2> Bloc <code>&lt;SOAP-ENV:Header&gt;</code> </h2>
<p>SOAP définit des attributs optionnels applicables sur les éléments fils directs du bloc <em>Header</em>. Ces attributs sont:</p>
<ul>
<li> <strong>actor</strong> : cet attribut identifie le destinataire de l&rsquo;élément fils. En effet, comme on l&rsquo;a vu précédemment, un message SOAP peut traverser plusieurs composants avant d&rsquo;atteindre le destinataire final du message. Il peut être nécessaire d&rsquo;adresser des informations aux composants intermédiaires qui composent le chemin vers le destinataire final. C&rsquo;est par l&rsquo;intermédiaire de cet attribut que cela est rendu possible, en lui donnant comme valeur une URL qui correspond à ou aux destinataires de l&rsquo;élément.<br />
      <em>Note : En l&rsquo;absence de cet attribut, l&rsquo;élément fils est à destination du destinataire final du message SOAP.</em> </li>
<li> <strong>mustUnderstand</strong> : cet attribut indique si le destinataire de l&rsquo;élément doit absolument comprendre l&rsquo;élément ou non. Si cet attribut est à 1, alors le destinataire doit absolument comprendre l&rsquo;élément. Si ça n&rsquo;est pas le cas, un message d&rsquo;erreur (par ex., contenant un bloc <em>Fault</em>) est retourné.<br />
      <em>Note : Si cet attribut est à 0, l&rsquo;élément peut être ignoré. C&rsquo;est le comportement par défaut quand l&rsquo;attribut n&rsquo;est pas spécifié.</em> </li>
<li> <strong>encodingStyle</strong> : la signification de cet attribut est la même que pour le bloc <em>Envelope</em>. Sa portée reste cependant limitée à l&rsquo;élément fils. </li>
</ul>
<p>Voici un exemple du bloc <em>Header</em> : </p>
<div class="code">
<pre class="brush: xml; title: ; notranslate">
&lt;soap:Header&gt;
  &lt;m:Utilisateur xmlns:m=&quot;http://www.exemple.com/utilisateur/&quot; soap:actor=&quot;http://www.exemple.com/utilisateur/User&quot;&gt; Yohann &lt;/m:Utilisateur&gt;

  &lt;m:Session xmlns:m=&quot;http://www.exemple.com/session/&quot; soap:mustUnderstand=&quot;1&quot;&gt;ABC123&lt;/m:Session&gt;
&lt;/soap:Header&gt;
</pre>
</div>
<p>Ici, on voit que l&rsquo;élément <em>Utilisateur</em> est à destination du composant <em>User</em> et qu&rsquo;il contient un nom d&rsquo;utilisateur (Yohann).<br />
L&rsquo;élément suivant, <em>Session</em>, est à destination du destinataire final du message SOAP. Il indique un numéro de session (ABC123), et doit absolument être compris par le destinataire pour pouvoir traiter le message.</p>
<h2> Bloc <code>&lt;SOAP-ENV:Body&gt;</code> </h2>
<p>Ce bloc contient le corps du message, sa signification est spécifique à l&rsquo;application.</p>
<p>Voici un exemple du bloc <code><SOAP-ENV:Body></code> : </p>
<div class="code">
<pre class="brush: xml; title: ; notranslate">
&lt;!-- Exemple de requête --&gt;
&lt;SOAP-ENV:Body&gt;
  &lt;ns1:additionCalcul&gt;
    &lt;operation xsi:type=&quot;xsd:string&quot;&gt;add&lt;/operation&gt;
    &lt;entier1 xsi:type=&quot;xsd:int&quot;&gt;3&lt;/entier1&gt;
    &lt;entier2 xsi:type=&quot;xsd:int&quot;&gt;4&lt;/entier2&gt;
  &lt;/ns1:additionCalcul&gt;
&lt;/SOAP-ENV:Body&gt;

&lt;!-- Exemple de réponse --&gt;
&lt;SOAP-ENV:Body&gt;
  &lt;ns1:additionCalculResponse&gt;
    &lt;result xsi:type=&quot;xsd:string&quot;&gt;7&lt;/result&gt;
  &lt;/ns1:additionCalculResponse&gt;
&lt;/SOAP-ENV:Body&gt;

</pre>
</div>
<p>Un prochain article nous permettra de mettre en application ce que nous venons d&rsquo;étudier sur le protocole SOAP. Ainsi, nous écrirons un simple service Web permettant d&rsquo;additionner / soustraire deux entiers. </p>
<p>N&rsquo;hésitez pas à me partager vos remarques sur cet article. </p>
 <p><a href="http://www.blog-nouvelles-technologies.fr/?flattrss_redirect&amp;id=881&amp;md5=0d67ae929af520f9814613dbe75684cf" title="Flattr" target="_blank"><img src="http://www.blog-nouvelles-technologies.fr/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.blog-nouvelles-technologies.fr/archives/881/comprendre-soap-partie-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=lryo&amp;popout=1&amp;url=http%3A%2F%2Fwww.blog-nouvelles-technologies.fr%2Farchives%2F881%2Fcomprendre-soap-partie-2%2F&amp;language=fr_FR&amp;category=text&amp;title=Comprendre+SOAP+%E2%80%93+Partie+2&amp;description=La+premi%C3%A8re+partie+du+sujet+%26lsquo%3BComprendre+SOAP%26rsquo%3B+nous+a+permis+d%26rsquo%3Bidentifier+les+principes%2C+le+fonctionnement+et+les+limites+de+SOAP.+C%26rsquo%3Best+donc+sur+cet+aspect+%26laquo%3B%26nbsp%3Bth%C3%A9orique%26nbsp%3B%26raquo%3B+que+nous+nous+sommes...&amp;tags=http%2Creceiver%2Csender%2Csoap%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Comprendre SOAP – Partie 1</title>
		<link>http://www.blog-nouvelles-technologies.fr/archives/827/comprendre-soap-partie-1/</link>
		<comments>http://www.blog-nouvelles-technologies.fr/archives/827/comprendre-soap-partie-1/#comments</comments>
		<pubDate>Wed, 20 Oct 2010 12:19:29 +0000</pubDate>
		<dc:creator>Yohann Poiron</dc:creator>
				<category><![CDATA[Interopérabilité]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[rpc]]></category>
		<category><![CDATA[soap]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.blog-nouvelles-technologies.fr/?p=827</guid>
		<description><![CDATA[SOAP est l&#8217;acronyme de Simple Object Access Protocol, c&#8217;est-à-dire protocole simplifié pour l&#8217;accès à des objets distants. C&#8217;est un protocole léger destiné à l&#8217;échange d&#8217;informations structurées dans un environnement décentralisé et distribué. Il utilise des technologies XML pour définir un cadre extensible de messagerie fournissant une construction de messages qui peuvent être échangés à l&#8217;aide [...]]]></description>
				<content:encoded><![CDATA[<p class="dropcap-first">SOAP est l&rsquo;acronyme de Simple Object Access Protocol, c&rsquo;est-à-dire protocole simplifié pour l&rsquo;accès à des objets distants. C&rsquo;est un protocole léger destiné à l&rsquo;échange d&rsquo;informations structurées dans un environnement décentralisé et distribué.</p>
<p>Il utilise des technologies XML pour définir un cadre extensible de messagerie fournissant une construction de messages qui peuvent être échangés à l&rsquo;aide d&rsquo;une variété de protocoles sous-jacents.</p>
<p>Plus généralement, SOAP permet à des objets (d&rsquo;un code source) de toute nature &#8211; sur n&rsquo;importe quelle plateforme, dans n&rsquo;importe quel langage &#8211; de communiquer. À l&rsquo;heure actuelle, SOAP a été mis en œuvre dans plus de 60 langages sur plus de 20 plateformes.</p>
<p>Le cadre a été conçu pour être indépendant de tout modèle de programmation de sémantique mis en œuvre de manière spécifique. Il est important pour le développement des applications de permettre une communication Internet entre les programmes.</p>
<p>Aujourd&rsquo;hui, les applications communiquent en utilisant le protocole Remote Procedure Calls (<a target="_blank" href="http://fr.wikipedia.org/wiki/Remote_procedure_call" >RPC</a>) entre les objets comme <a target="_blank" href="http://fr.wikipedia.org/wiki/Distributed_Component_Object_Model" >DCOM</a> et <a target="_blank" href="http://fr.wikipedia.org/wiki/CORBA" >CORBA</a>. RPC représente certes une compatibilité mais pose des problèmes de sécurité : les firewalls et les serveurs proxy bloqueront normalement ce genre de trafic. Une meilleure façon de communiquer entre les applications est d&rsquo;utiliser le protocole HTTP, car ce dernier est supporté par tous les navigateurs Internet et les serveurs. SOAP a été créé à cette fin, à partir de 1998, pour fournir un moyen de communiquer entre les applications s&rsquo;exécutant sur des systèmes d&rsquo;exploitation différents, avec différentes technologies et des langages de programmation.</p>
<h1> Les principes de SOAP </h1>
<p>Les deux buts de conception majeur de SOAP sont : la simplicité et l&rsquo;extensibilité. Un message SOAP peut être envoyé à un site web, par exemple par un service Web, pour obtenir le prix de l&rsquo;immobilier enregistré dans une base de données, avec les paramètres nécessaires à une recherche. </p>
<p>Le site renverrait alors en retour un document au format XML avec les données obtenues, par exemple, le prix, l&rsquo;emplacement et les caractéristiques. Parce que les données sont retournées sous un format normalisé et grâce à la souplesse du langage XML qui permet un nommage proche des fonctionnalités métiers, la lecture du message SOAP est relativement aisée par un humain, permettant ainsi d&rsquo;être intégrée directement dans un site Web ou dans une application tiers. </p>
<p><img class="aligncenter" title="Les principes de SOAP" src="http://www.blog-nouvelles-technologies.fr/wp-content/uploads/2010/10/soap-1.png" alt="Les principes de SOAP" /></p>
<p>Ce protocole applicatif peut s&rsquo;appuyer sur différents protocoles de transport pour des échanges synchrones ou asynchrones :</p>
<ul>
<li> HTTP : échanges synchrones</li>
<li> Java RMI : échanges synchrones</li>
<li> SMTP : échanges aynchrones</li>
<li> FTP : échanges aynchrones</li>
<li> etc…</li>
</ul>
<p>L&rsquo;architecture SOAP se compose de plusieurs couches de spécifications. Par exemple, pour le format de message, il est possible d&rsquo;avoir une séquence d&rsquo;échange de messages (<a target="_blank" href="http://en.wikipedia.org/wiki/Message_Exchange_Pattern" >MEP</a>) &#8211; Message Exchange Patterns &#8211; qui est un squelette établissant une forme de base pour échanger des messages entre nœuds SOAP, traitant les modèles des messages, et l&rsquo;extensibilité du protocole.</p>
<p>Par ailleurs, SOAP désigne les informations échangées dans une syntaxe correspondant aux fonctions applicatives, contrairement à XML-RPC qui utilise uniquement des nommages techniques et primitifs. De plus, SOAP permet la sérialisation/désérialisation de tout objet métier, sous une forme XML utilisable quelle que soit la technologie d&rsquo;implémentation. Enfin SOAP normalise la gestion des erreurs.</p>
<h1> Fonctionnement de SOAP </h1>
<p>Les données utiles de SOAP sont encapsulées dans l&rsquo;enveloppe SOAP (qui elle-même fait partie des données utiles d&rsquo;HTTP, supposant que vous utilisez HTTP comme protocole de transport). L&rsquo;enveloppe SOAP, à son tour, se compose d&rsquo;un en-tête SOAP (Header) et du corps (Body). Le prologue XML peut être présent, mais dans ce cas, ne doit contenir qu&rsquo;une déclaration XML (c&rsquo;est-à-dire qu&rsquo;il ne doit contenir ni référence à un DTD, ni instruction XML). Le message doit utiliser l&rsquo;enveloppe SOAP et les namespaces d&rsquo;encodage SOAP, et doit avoir la forme suivante :</p>
<ul>
<li>Une déclaration XML (optionnelle) </li>
<li>une Enveloppe SOAP (l&rsquo;élément racine) qui est composée de :
<ul>
<li>Une En-tête SOAP (optionnel) </li>
<li>Un Corps SOAP </li>
</ul>
</li>
</ul>
<p>Le prologue XML contient seulement une déclaration XML <code>&lt;?xml version="1.0" encoding="UTF-8" ?&gt;</code> spécifiant la version de XML et l&rsquo;encodage des caractères du message XML.</p>
<p>Le tag de l&rsquo;enveloppe SOAP (<code>&lt;soap:Envelope xmlns:soap:"http://schemas.xmlsoap.org/soap/envelope/"&gt;</code>) dans le message de requête, optionnel, spécifie tout d&rsquo;abord que le style d&rsquo;encodage de ce message SOAP suit le schéma défini dans <em>http://schemas.xmlsoap.org/soap/encoding/</em>. L&rsquo;Enveloppe SOAP contient également des définitions de namespaces. Les identifiants des namespaces sont standards et la spécification SOAP demande à ce que ces namespaces soient définis correctement ou pas du tout.</p>
<p>La partie Header (<code>&lt;soap:Header&gt;</code>), facultative, porte des informations complémentaires pour le traitement des données (identification de l&rsquo;émetteur du message, règles de sécurité pour la lecture du message, algorithme de chiffrement à utiliser pour la lecture du message, etc.) Il est important de rappeler que l&rsquo;authentification et la gestion de session sont en dehors du cadre du protocole SOAP, même si SOAP autorise une certaine flexibilité dans la transmission des messages, de telle façon que les personnes qui les implémentent puissent inclure de telles informations.</p>
<p>La partie Body (<code>&lt;soap:Body&gt;</code>), porte les données propres du message, et matérialise la requête ou la réponse SOAP (structure de données spécifique). Les données sont sérialisées en XML en utilisant une combinaison d&rsquo;éléments et d&rsquo;attributs XML. La partie encapsule un unique tag de méthode qui porte le nom de la méthode elle-même <code>&lt;ns1:maMethode ... &gt;</code> (ou, le même nom suivi du mot &laquo;&nbsp;Response&nbsp;&raquo; dans le cas du message de réponse). Notez que le tag de la méthode reçoit typiquement le namespace correspondant au nom du service, pour assurer l&rsquo;unicité (un service web, qui peut contenir n&rsquo;importe quel nombre de méthodes nommées différemment, a un nom de service unique à l&rsquo;URL sur lequel il est accessible.</p>
<p>Le tag de méthode encapsule à son tour un certain nombre de paramètres, tel que le tag <code>&lt;param1 ... &gt;</code> dans l’enveloppe d’une requête et dans le message de réponse, on ne trouve qu’un seul tag de paramètre représentant la valeur de retour de la méthode (généralement appelé <code>&lt;return&gt;</code>).</p>
<p>SOAP utilise couramment le protocole HTTP et est donc très évolutif dans sa forme native. C&rsquo;est probablement le protocole le plus évolutif, particulièrement si le modèle d&rsquo;HTTP demande/réponse est maintenu. SOAP est extensible, parce que les clients SOAP, les serveurs et le protocole lui-même peuvent évoluer sans rupture des applications existantes. Il est par ailleurs utile en termes de soutien intermédiaire et dans les architectures en couches. Cela signifie que le traitement des nœuds peut être réalisé avec une demande entre le client et le serveur. Ces nœuds intermédiaires traitent les parties du message spécifié par SOAP, grâce à l&rsquo;utilisation des en-têtes, permettant aux clients d&rsquo;identifier le nœud qui fonctionne sur telle ou telle partie du message.</p>
<p><img class="aligncenter" title="Fonctionnement de SOAP" src="http://www.blog-nouvelles-technologies.fr/wp-content/uploads/2010/10/soap-2.png" alt="Fonctionnement de SOAP" /></p>
<h1> Les limites de SOAP </h1>
<p>Si les messages XML utilisés dans SOAP sont facilement lisibles par des humains, ils sont verbeux ce qui entraîne des problématiques en terme de performances :</p>
<ul>
<li> D&rsquo;une part, le poids d&rsquo;un message SOAP (codé en mode texte) est beaucoup plus important qu&rsquo;un message codé en binaire, ce qui a un impact sur son temps d&rsquo;acheminement. </li>
<li> D&rsquo;autre part, le travail de construction et de lecture du message par les applications imbriquées dans la communication est gourmand en terme de temps processeur </li>
</ul>
<p>La première partie permettant de décrire les principes, le fonctionnement et les limites de SOAP se termine. Dans la prochaine, on analysera le modèle de traitement de SOAP, le format du message et la sécurité.</p>
<p>J&rsquo;espère avoir répondu à vos attentes. N&rsquo;hésitez pas à m&rsquo;apporter votre point de vue sur cette technologie qui est en émergence. </p>
 <p><a href="http://www.blog-nouvelles-technologies.fr/?flattrss_redirect&amp;id=827&amp;md5=4358a1d9fe5dbf114ecababd48375046" title="Flattr" target="_blank"><img src="http://www.blog-nouvelles-technologies.fr/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.blog-nouvelles-technologies.fr/archives/827/comprendre-soap-partie-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=lryo&amp;popout=1&amp;url=http%3A%2F%2Fwww.blog-nouvelles-technologies.fr%2Farchives%2F827%2Fcomprendre-soap-partie-1%2F&amp;language=fr_FR&amp;category=text&amp;title=Comprendre+SOAP+%E2%80%93+Partie+1&amp;description=SOAP+est+l%26rsquo%3Bacronyme+de+Simple+Object+Access+Protocol%2C+c%26rsquo%3Best-%C3%A0-dire+protocole+simplifi%C3%A9+pour+l%26rsquo%3Bacc%C3%A8s+%C3%A0+des+objets+distants.+C%26rsquo%3Best+un+protocole+l%C3%A9ger+destin%C3%A9+%C3%A0+l%26rsquo%3B%C3%A9change+d%26rsquo%3Binformations+structur%C3%A9es+dans+un+environnement+d%C3%A9centralis%C3%A9...&amp;tags=http%2Crpc%2Csoap%2Cxml%2Cblog" type="text/html" />
	</item>
	</channel>
</rss>
