LAMP

De EduTech Wiki
Aller à : navigation, rechercher

1 Definition

LAMP (ou L.A.M.P.) est un acronyme désignant un ensemble de logiciels libres permettant de construire des serveurs de sites web. Cet ensemble de logiciels et technologies est utilisé pour la mise en place de site-webs dynamiques et serveurs. L'acronyme original se réfère aux logiciels suivants :

  • Linux, système d'opération;
  • Apache, le serveur web;
  • MySQL, la base de données
  • Perl,PHP, or Python language de programmation.

Même si les auteurs de chacun de ces programmes ne se sont pas coordonnés pour construire des plates-formes LAMP, cette combinaison de logiciels s'est popularisée du fait du faible coût de l'ensemble et de la présence de tous ces composants dans la plupart des distributions GNU/Linux.

Cet acronyme a été inventé par Michael Kunze qui l'a utilisé pour la première fois en 1998 dans le magazine allemand c't. L'article en question voulait démontrer qu'un ensemble de logiciels libres pouvait concurrencer les offres commerciales disponibles.

2 Architecture

Les rôles de ces quatre composants sont les suivants :

  • Linux assure l'attribution des ressources aux autres composants (Rôle d'un Système d'exploitation ou OS pour Operating System) ;
  • Apache est le serveur web « frontal » : il est « devant » tous les autres et répond directement aux requêtes du client web (navigateur);
  • MySQL est un système de gestion de bases de données (SGBD). Il permet de stocker et d'organiser des données ;
  • le langage de script PHP permet la génération de pages web dynamiques et la communication avec le serveur MySQL.

Tous les composants peuvent être situés :

  • sur une même machine ;
  • sur deux machines, généralement Apache et le langage de script d'un côté et MySQL de l'autre ;
  • sur de nombreuses machines pour assurer la haute disponibilité (répartition de charge et/ou failover).

3 Variantes

De même que Python ou Perl peuvent remplacer PHP puisqu'ils commencent par la même lettre, certaines combinaisons utilisent le P pour PostgreSQL (qui remplace MySQL) et font désigner les composants mod_perl ou mod_python par le M. D'autres acronymes sont apparus pour nommer des plateformes de serveurs internet :

LAMA : Linux Apache MySQL ASP,

WAMP : Windows Apache MySQL PHP,

MAMP : Macintosh Apache MySQL PHP,

SAMP : Solaris Apache MySQL PHP,

LAPP : Linux Apache PostgreSQL PHP,

WASP : Windows Apache SQLServer PHP,

HAMP3  : Hurd Apache MySQL PHP.

*AMP : de manière plus générale, l'acronyme *AMP (star-AMP) signifie AMP sur n'importe quelle plate-forme (LAMP, WAMP, MAMP, XAMP...)

4 Liens