LAMP et MEAN sont des piles Web open source très utilisées pour développer des applications Web et mobiles haute performance dédiées aux entreprises. Comme d’autres piles Web, elles combinent des technologies (systèmes d’exploitation, langages de programmation, bases de données, bibliothèques et cadres d’application) que les développeurs peuvent utiliser pour créer, déployer et gérer des applications Web pleinement fonctionnelles, efficaces et fiables.
LAMP et MEAN diffèrent en ce sens qu'elles fournissent aux développeurs différentes couches, ou « piles », de technologies dont une application Web a besoin pour fonctionner sur l’interface front-end, le réseau et les serveurs back-end. Par exemple, une application bancaire Web pourra s’appuyer sur la pile LAMP ou MEAN pour interpréter la requête d’un utilisateur souhaitant consulter l’activité bancaire, récupérer les données nécessaires et les afficher dans une interface utilisateur.
LAMP désigne les technologies empilées suivantes :
Le système d’exploitation Linux permet à l’ensemble de l’application Web de fonctionner correctement sur un matériel donné. Le serveur Web Apache traduit la requête de l’utilisateur, puis récupère et « sert » les informations à l’utilisateur via le protocole HTTP (Hypertext Transfer Protocol). La base de données MySQL (un système de gestion de base de données relationnelle) stocke les données (par exemple, les relevés bancaires archivés, l’activité financière, les fichiers d’images, les feuilles de style CSS) que le serveur Web peut récupérer et fournir en fonction de la requête de l’utilisateur. Le langage de programmation PHP fonctionne avec Apache pour récupérer le contenu dynamique de la base de données MySQL et le présenter à l’utilisateur. Alors que le format HTML affiche des contenus statiques (par exemple, un titre qui reste sur l’interface quelles que soient les données), les contenus dynamiques, qui changent en fonction de l’interaction utilisateur, reposent sur PHP. Les langages de programmation PERL et Python peuvent également être utilisés dans la pile LAMP. L’écrivain Michael Kunze a été le premier à utiliser l’acronyme LAMP dans son article publié en 1998 dans un magazine informatique allemand.
Figure 1 : Traitement d’une requête utilisateur dans la pile LAMP
MEAN désigne les technologies empilées suivantes :
Le cadre AngularJS traite une requête utilisateur entrante. Node.js analyse ensuite la requête et la traduit en entrées que l’application Web peut comprendre. Express.js utilise ces entrées traduites pour déterminer les appels à faire auprès de MongoDB, une base de données NoSQL non relationnelle. Une fois que MongoDB a fourni les informations nécessaires, Express.js renvoie les données à Node.js, qui les envoie à son tour au cadre AngularJS pour qu’il puisse afficher les informations demandées dans l’interface utilisateur.
Alors que le cadre front-end AngularJS peut être remplacé par d’autres cadres tels que React.js, l’environnement Node.js est critique pour la pile MEAN et ne peut pas être remplacé. En effet, Node.js permet le développement JavaScript de la pile complète, un atout qui rend le développement et la gestion d’applications avec la pile MEAN très efficaces. Lorsque le cadre AngularJS est remplacé par React.js, la pile est appelée MERN. L’acronyme MEAN a été utilisé pour la première fois en 2013 par Valeri Karpov, développeur de MongoDB.
La figure 2 illustre la manière dont une application Web répond à travers sa pile MEAN à la demande d’information d’un utilisateur :
Figure 2 : Comment une application Web répond à une requête dans la pile MEAN.
Voici quelques avantages liés à l’utilisation de la pile LAMP pour créer, déployer et gérer les applications Web :
Les inconvénients liés à l’utilisation de LAMP pour créer, déployer et gérer les applications Web sont les suivants :
Les avantages liés à l’utilisation de la pile MEAN pour créer, déployer et gérer les applications Web sont les suivants :
Voici quelques inconvénients liés à l’utilisation de la pile LAMP pour créer, déployer et gérer les applications Web :
Aucune des deux piles n’est meilleure que l’autre, en soi. Le choix entre la pile LAMP et la pile MEAN dépendra du cas d’utilisation de développement Web.
La pile LAMP est généralement la meilleure option pour les applications ou les sites Web présentant les caractéristiques suivantes :
En revanche, la pile MEAN est le meilleur choix pour les applications et les sites Web de ce type :
Pour revenir aux fondamentaux, la pile LAMP permet de mieux comprendre le fonctionnement technique des pages Web et la manière dont elles sont créées. Vous avez une base de données, un langage de script et un moyen de le mettre à disposition des clients, c’est la pile LAMP.
Si vous voulez voir à quel point il est facile de développer et de déployer une application sur le cloud à l’aide d’une pile LAMP ou MEAN, IBM propose les tutoriels suivants :
Développez plus rapidement des applications Java cloud natives et prêtes pour l’IA, avec une faible utilisation de la mémoire et un démarrage rapide.
Misez sur l’innovation et dotez vos équipes des outils nécessaires pour accélérer la modernisation de vos applications actuelles et la livraison de nouvelles applications cloud natives.
Le développement d’applications cloud, c’est créer une fois, itérer rapidement et déployer partout.