Savez-vous que c’est grâce à un service web que vous pouvez aller sur Google et faire des recherches, aller sur les réseaux sociaux ou avoir la météo sur votre smartphone ? Nous allons voir ensemble de quoi il retourne. Qu’est-ce qu’un service web ? Un service web est un programme s’exécutant sur un serveur accessible depuis Internet et répondant à des demandes, appelées requêtes. Par exemple, on fait des requêtes pour interagir avec un service en ligne comme un site e-commerce, un système de paiement, etc. Bref, pour tous les services que l’on utilise au quotidien ! Mais à quoi ressemble une requête ? C’est une question intéressante, mais aussi complexe. En effet, il a bien fallu se mettre d’accord sur le langage à utiliser pour communiquer avec les services. Mais voilà, un service d’envoi de mails ne fait pas du tout le même travail qu’un service nous renvoyant les pages d’un site web-Internet. Il semble donc évident que la manière de communiquer ne sera pas la même pour ces deux services. Des protocoles de communication ont donc été mis en place afin de standardiser la communication entre services faisant la même chose. Les requêtes sont des données qui respectent le protocole de communication et qui sont envoyées au serveur. Nous avons donc un protocole pour l’envoi de mail (SMTP), la réception de mail (IMAP), les requêtes liées à des ressources web (HTTP), aux transferts des fichiers (FTP), etc. Le protocole qui va nous intéresser est le protocole nous permettant de communiquer avec un site Internet : le protocole HTTP. Grâce à lui, nous allons pouvoir récupérer et sauvegarder des données sur un service web, ce qui nous permettra de dynamiser le contenu de nos pages web. Qu’est-ce que le protocole HTTP ? HTTP signifie HyperText Transfer Protocol. C’est un protocole qui permet de communiquer avec un site Internet. Il va permettre de charger des pages HTML, des styles CSS, des polices de caractères, des images, etc. Mais ce n’est pas tout, le protocole HTTP nous permet aussi d’envoyer des formulaires et de récupérer et d’envoyer toutes sortes de données depuis ou vers un serveur implémentant ce protocole ! Nous n’allons pas entrer dans le détail du format des requêtes HTTP, car de nombreuses références le font déjà très bien, mais il me semble important de vous parler de deux choses qui vous serviront souvent : les codes HTTP et les méthodes HTTP. Les codes HTTP Lorsque vous faites une requête HTTP, cela signifie que vous demandez quelque chose au service web. Or, il est possible que le service web ne comprenne pas ce que vous demandez (par exemple si vous demandez à afficher une page qui n’existe pas). Dans ce genre de situation, il faut que vous puissiez le savoir de manière claire et sans ambiguïté. C’est pour cette raison qu’il existe les codes HTTP. Ils vous permettront d’avoir plus d’informations sur le résultat renvoyé par le service web (succès, erreur…). Ces codes sont représentés par des nombres ayant chacun une signification particulière. Ils sont répartis dans plusieurs catégories : Les codes de 100 à 199 sont des codes d’information, plutôt techniques et peu utilisés en pratique ; Les codes de 200 à 299 sont des codes de succès. Ils veulent dire que votre requête s’est bien déroulée et vous apporteront une information sur le type de résultat que vous recevez ; Les codes de 300 à 399 sont les codes de redirection. Ils indiquent généralement que le contenu que vous recherchez a bougé ou n’est pas accessible directement ; Les codes de 400 à 499 sont des codes d’erreur liés à l’utilisation du service web (ressource inexistante, authentification requise, pas les bonnes permissions, requête mal construite, etc). Ce sont des erreurs que l’on retrouve fréquemment dans la pratique et pour lesquelles il est bon d’avoir une stratégie de résolution ; Les codes de 500 à 599 sont des codes d’erreur venant du service web (plantage du service, service ne répondant plus, manque de mémoire, etc.). En tant qu’utilisateur du service, vous ne pouvez pas y faire grand-chose, mais de la même manière que pour les erreurs 4xx, il est bon d’avoir une stratégie de résolution. Voici les codes HTTP les plus fréquents auxquels vous serez probablement confrontés : 200 : indique que tout s’est bien passé ; 201 : indique que tout s’est bien passé et qu’une nouvelle ressource a bien été créée ; 204 : indique que tout s’est bien passé mais qu’aucun résultat n’est renvoyé ; 400 : indique qu’une requête est erronée ; 401 : indique que l’utilisateur n’est pas authentifié, alors que c’est nécessaire ; 403 : indique que l’utilisateur n’a pas le droit d’accéder à cette ressource ; 404 : indique que la ressource demandée n’existe pas ; 500 : indique que le serveur a subi une erreur interne. Les méthodes HTTP Lorsque vous faites une requête HTTP, vous pouvez avoir besoin de demander une ressource (une page HTML ou la météo par exemple). Mais pas seulement ! Vous pouvez aussi avoir besoin de créer une ressource (en envoyant un formulaire pour créer un nouvel utilisateur, par exemple), ou bien d’en supprimer une, etc. C’est ce que l’on appelle les méthodes HTTP. Elles permettent d’identifier le type de requête que vous souhaitez faire. Voici les principales méthodes : GET : permet de récupérer des ressources, comme par exemple le temps actuel sur un service de météo ; POST : permet de créer ou modifier une ressource, comme la création d’un nouvel utilisateur sur votre application ; PUT : permet de modifier une ressource, comme le nom de l’utilisateur que vous venez de créer avec POST ; DELETE : Permet de supprimer une ressource, comme un commentaire dans un fil de discussion. Il s’agit surtout d’une convention. Rien n’oblige un service web à créer une ressource lors d’une requête POST par exemple, mais c’est généralement le cas.
Le réseaux GSM et ses spécificités professionnelles.(559)
La prochaine génération de technologie sans fil mobile« 5G »(557)
Un réseau informatique, un point de rencontre entre les données et les ressources matérielles.(556)
De la connexion internet téléphonique, un routeur mobile(553)
Relier deux PC par un câble réseau afin de transférer des données.(551)
Le réseaux GSM et ses spécificités professionnelles.(559)
La prochaine génération de technologie sans fil mobile« 5G »(557)
Un réseau informatique, un point de rencontre entre les données et les ressources matérielles.(556)
De la connexion internet téléphonique, un routeur mobile(553)
Relier deux PC par un câble réseau afin de transférer des données.(551)