LAMP

De Justine's wiki
Aller à la navigation Aller à la recherche

Présentation de LAMP

LAMP est un ensemble de logiciels:

  • Linux
  • Apache
  • MySql
  • PHP

Sa fonction est d'héberger des sites web. LAMP est le plus connu mais on peut aussi l'ajuster : il existe par exemple des solutions WAMPServer ou EasyPHP sous Windows, et même XAMPP (avec PHP et Perl) qui fonctionne sur les 3 OS courants. On peut remplacer Apache par NGinx (Et puisque Nginx se prononce "engine X", on nomme alors la suite de logiciels LEMP). On peut aussi MariaDB au lieu de MySql.

NB: MariaDB est un fork de MySql : MySql a été racheté par Oracle, qui n'est pas forcément pour le logiciel libre.

Architecture 3 tiers

L'architecture 3 tiers concerne le développement applicatif : elle a été conçue pour faire face à plusieurs difficultés liées à l'architecture deux tiers habituellement utilisée (client serveur). Elle a plusieurs avantages, parmi lesquels :

  • Allègement du poste de travail client
  • Prise en compte de l'hétérogénéité des plate-formes (serveurs, clients, langage, etc)
  • Amélioration de la sécurité des données en améliorant le lien entre le client et les données
  • Rupture du lien de propriété exclusive entre applications et données; ici la BDD peut facilement être normalisée et intégrée à un entrepôt de données
  • Meilleure répartition de la charge de travail entre les serveurs d'application.
  • Facilitation de l'évolution du code de l'application (et encore plus dans les architectures n-tiers). La séparation en couches permet de faire évoluer plus facilement l'une d'entre elles, et permet aussi de prévoir plus simplement la différence des interfaces du client (smartĥone, PC, etc).

Le concept de l'architecture 3-tiers permet de définir une application logicielle comme un ensemble de 3 couches:

  • La couche présentation, visible de l'utilisateur
  • La couche métier (de traitement des données selon les règles de gestion locales)
  • La couche d'accès aux données

 

Comme avec le modèle OSI, chaque couche ne communique qu'avec les couches qui lui sont adjacentes. Cette communication se fait grâce à des services et des protocoles d'échange précis.

Par exemple, avec une application web et par ordre chronologique:

  • L'application va accéder à la couche données pour aller chercher les informations brutes dans une base de données (Oracle, MySQL, etc)
  • L'application va effectuer des traitements sur ces données en fonction des règles de gestion métier (pour une application de e-commerce, gérer des stockes, par exemple). Cette logique est dite "métier" car elle dépend directement de l'environnement professionnel de l'application.
  • Enfin, la présentation d'écrans/interfaces, résultant du traitement des données, est faite au client. Pour notre interface web, ce sera une page HTML.

Architectures n-tiers

L'architecture 3 tiers, n'est pas parfaite, et il existe d'autres architectures plus fines; cependant la logique reste la même.

Ces architecture répondent aux pré-requis techniques suivants :

  • Plusieurs serveurs, un client
  • Du réseau entre eux
  • Et des firewalls entre les couches.