Création d’un serveur web avec Erlang/OTP et inets httpd

Magazine
Marque
GNU/Linux Magazine
Numéro
268
Mois de parution
mars 2024
Spécialité(s)


Résumé

Inventé en 1989 par Tim Berners-Lee dans les bureaux du CERN et grandement inspiré par les idées du projet Xanadu conçu par Ted Nelson en 1965, le protocole HTTP, ou HyperText Transfer Protocol est probablement l’une des solutions de communication les plus utilisées sur Internet. Même si certains de ses concurrents reviennent au goût du jour, comme Gopher avec le minimaliste Gemini, HTTP reste de facto le protocole utilisé par tous les navigateurs sur le marché. En plus d’être simple, extensible et sans états, il est évolutif, ayant à son actif pas moins de 5 versions spécifiées. Bref, il était impensable de pouvoir l’ignorer plus longtemps, et encore moins acceptable de faire fi de son utilisation au sein de l’écosystème Erlang...


La version R26 d’Erlang/OTP est disponible depuis le mois de mai 2023. Cette version contient de nombreuses améliorations, en particulier au niveau du shell Erlang qui inclut désormais l’autocomplétion des variables, des modules, des fonctions et de bien d’autres éléments, mais aussi la possibilité de créer des records directement depuis le prompt. La partie compilation et JIT a aussi énormément progressé. Le code présenté dans cet article est compatible avec cette nouvelle version, mais aussi avec la version R25 d’Erlang/OTP. Le tout a été testé sur une distribution Debian-like et OpenBSD.

1. Introduction

Les précédents articles de cette longue série étaient particulièrement compliqués, techniques et très peu adaptés aux lecteurs débutants, malgré les efforts pour les rendre le plus accessible possible. Cet article prend un peu de recul pour parler d’un protocole bien plus haut…

La suite est réservée aux abonnés. Il vous reste 98% à découvrir.
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Envie de lire la suite ? Rejoignez Connect
Je m'abonne maintenant


Article rédigé par

Par le(s) même(s) auteur(s)

Encapsulation et gestion d’états en Erlang avec ETS/DETS

Magazine
Marque
GNU/Linux Magazine
Numéro
273
Mois de parution
janvier 2025
Spécialité(s)
Résumé

La gestion d’états d’un système où de multiples sous-routines s’entrechoquent est complexe et particulièrement critique pour tous types d’applications. Les données les plus sensibles sont bien souvent déplacées sur une base de données relationnelle pour les rendre persistantes, mais il est parfois nécessaire d’avoir besoin de plus de flexibilité. Que ce soit pour une problématique de volume, d’économie de ressources ou tout simplement pour gagner en performance, certains outils peuvent être plus adaptés. Redis ou Memcached, deux environnements largement utilisés et bien connus des développeurs, sont généralement sélectionnés pour effectuer ce genre de tâches. Il s’avère que ce modèle d’architecture est relativement rare au sein de l’écosystème Erlang/OTP. Une des raisons à cela est peut-être due à la présence de deux modules livrés nativement : ETS et DETS…

Utilisation du protocole SSH avec Erlang/OTP

Magazine
Marque
GNU/Linux Magazine
Numéro
267
Mois de parution
janvier 2024
Spécialité(s)
Résumé

Secure Shell, plus communément appelé SSH, est une application très largement utilisée pour l’administration des systèmes Unix/Linux. Utilisant le même acronyme, le protocole SecSH ou SSH, standardisé par l’IETF, fait partie de ces protocoles qui ont inclus nativement des principes de chiffrement modernes en leur sein, à l’instar de leurs anciens concurrents de l’époque tels que RSH ou TELNET. Installé par défaut sur une très grande majorité de systèmes libres comme propriétaires, SSH est littéralement incontournable. Résultat d’un effort collectif de plusieurs années de travail, il a eu l’incroyable privilège de façonner le vaste univers du numérique que tout un chacun connaît aujourd’hui. Sa flexibilité légendaire, son respect des bonnes pratiques, ses nombreuses spécifications ainsi que ses innombrables implémentations font de ce protocole un outil parfait pour l’apprentissage de la programmation et de la sécurité.

Création de connexions TLS/DTLS avec Erlang/OTP

Magazine
Marque
GNU/Linux Magazine
Numéro
266
Mois de parution
novembre 2023
Spécialité(s)
Résumé

Navigation web, échanges de courriers électroniques, diffusions audio ou vidéo, conférences en ligne, communications entre équipements embarqués, automatisation… Autant de services nécessitant la mise en place d’un niveau de confidentialité important, dont l’un des impératifs est de garantir la protection des données pour ne pas les voir fuiter dans la nature. C’est avec ces contraintes que la société Netscape a conçu au début du XXIe siècle ce qui est aujourd’hui devenu le standard pour offrir ce niveau de sécurité. D’abord dénommé SSL puis rebaptisé TLS, ce protocole, ainsi que son collègue DTLS furent élaborés pour répondre à toutes ces exigences.

Génération et gestion de certificats avec Erlang/OTP

Magazine
Marque
GNU/Linux Magazine
Numéro
265
Mois de parution
septembre 2023
Spécialité(s)
Résumé

Avec plus de 230 millions de certificats détectés sur le Web en 2023, SSL/TLS reste aujourd’hui le standard de référence pour sécuriser les connexions sur Internet. Sa démocratisation fut grandement accélérée avec l’apparition d’acteurs comme Let’s Encrypt, offrant des outils gratuits et accessibles à tous pour aider à la création de certificats signés par une entité de confiance. À contrario, cette facilité d’accès à ces services a fait oublier les étapes de création de ce type de document, pourtant d’une importance fondamentale pour la protection des données des utilisateurs...

Les listes de lecture

9 article(s) - ajoutée le 01/07/2020
Vous désirez apprendre le langage Python, mais ne savez pas trop par où commencer ? Cette liste de lecture vous permettra de faire vos premiers pas en découvrant l'écosystème de Python et en écrivant de petits scripts.
11 article(s) - ajoutée le 01/07/2020
La base de tout programme effectuant une tâche un tant soit peu complexe est un algorithme, une méthode permettant de manipuler des données pour obtenir un résultat attendu. Dans cette liste, vous pourrez découvrir quelques spécimens d'algorithmes.
10 article(s) - ajoutée le 01/07/2020
À quoi bon se targuer de posséder des pétaoctets de données si l'on est incapable d'analyser ces dernières ? Cette liste vous aidera à "faire parler" vos données.
Plus de listes de lecture