Libre à vous de partager

Dans cette série d’articles, nous allons aborder comment à partir d’une Ubuntu fraîchement installée comment monter son site Web.

Dans ce premier article, comment monter son site Web, nous allons passer en revue les différentes briques logicielles nécessaires pour la mise en place d’un site Web. Chaque brique aura droit à un ou plusieurs articles concernant son installation, sa configuration voire son optimisation.

Nous n’aborderons pas la partie proprement système, mais uniquement la partie logicielle.

Architecture générale

Ce que l’on appelle un site Web est généralement composée de plusieurs des éléments. En fonction du site que vous allez créer, vous aurez besoin d’un ou plusieurs de ces éléments. Un seul est indispensable : le logiciel que l’on appelle le serveur de pages HTML ou serveur Web. Il est souvent complété par de nombreuses technologies. Pour savoir lesquels installer, il faudra consulter les prérequis du site que vous souhaitez installer. Il n’est pas rare que ces prérequis laissent le choix entre différentes briques.

Langages et brique logicielle

Les principales briques logicielles

Le serveur HTML ou Web

Il s’agit du logiciel qui va répondre à la demande du client qui cherche à afficher une page HTML. Dans une architecture simple, il est le point d’entrée des visiteurs. Ce logiciel fourni au navigateur Web des pages HTML complètes qui seront affichées par ce dernier. Il existe dans le monde du logiciel libre deux principaux acteurs :

  • Apache httpd : le plus ancien et l’un des plus connus de ces logiciels. Il est à l’origine de la fondation Apache qui gère aujourd’hui de nombreux logiciels libres.
  • Nginx : beaucoup plus récent, il est devenu un acteur incontournable du Web et notamment sur les technologies de Reverse proxy. Il grignote lentement mais sûrement à la suprématie d’Apache httpd.

Nous présenterons les deux, avec leurs avantages et leurs inconvénients. Personnellement je préfère le premier au second, mais il s’agit avant tout de préférence.

Serveur de base de données

Dans la majorité des applications Web, il s’agit de l’élément central. C’est ici que sont stockées et organiser la totalité des informations du site. Il existe de nombreux systèmes de base de données à la fois dans le monde du logiciel libre que dans le monde propriétaire. Nous aborderons plus spécialement ceux du monde libre.

Ces logiciels se divisent en deux grands groupes :

  • Ceux qui suivent la norme SQL.
  • Ceux qui ne la suivent pas et qui sont communément appelées NoSQL.

Cette deuxième catégorie est surtout utilisée pour des applications spécifiques et ne sera pas étudié dans un premier temps. En effet, la majorité des applications Web s’appuie sur des bases de données SQL.

Dans ceux qui suivent la norme SQL, nous aborderons tout spécialement MySQL, Maria DB ainsi que PostgreSQL. À titre d’information, sachez qu’il existe d’autres systèmes de gestion de bases de données propriétaires telles qu’Oracle database server, SQL serveur de Microsoft. Les deux sont disponibles sous Linux, y compris celui de Microsoft depuis peu de temps.

Pour les bases de données NoSQL, nous pourrions citer entre autres Cassandra, MongoDB qui sont généralement utilisées pour les systèmes de supervision ou l’affichage de graphisme issu d’analyse de données (Big Data).

Les principaux langages de programmation utilisés

PHP

Le leader actuel des langages de programmation côté serveur. Actuellement, la majorité des logiciels grands publics utilise ce langage de programmation. Les principaux logiciels de serveur Web savent ou peuvent le gérer.

Il possède de très nombreuses bibliothèques telles que symphonie, Zend Framework, Laravel…

Ce logiciel existe en plusieurs versions dont les plus connus sont les versions 5, version 7 et version 8 qui est la dernière.

En fonction des logiciels de serveur Web, il est possible de faire cohabiter plusieurs versions de PHP. Cependant, cela demande une certaine aisance avec les fichiers de configuration de ces serveurs. Je déconseille vivement aux débutants de se lancer là-dedans.

Vous pouvez encore trouver des applications Web qui nécessitent la version 5 de PHP. Cette version est complètement abandonnée et définitivement obsolète. Pour une première installation, je vous déconseille de mettre en place des applications Web qui sont incompatibles avec les versions plus récentes.

Du point de vue de la sécurité, un logiciel qui est resté bloqué en version 5 de PHP, est généralement un logiciel dont le développement n’est plus actif. Ainsi vous vous exposerez à de nombreuses failles de sécurité à la fois dans le logiciel et dans le langage. Il est fort probable que vous trouverez un autre logiciel faisant la même chose et qui lui est compatible avec les dernières versions de PHP

Note : la version 7 de PHP n’est pas rétro compatible avec la version 5. De très grosses modifications dans le langage ont été effectuées, rendant une grosse partie du code en version cinq inopérant.

Python

Un nouveau venu qui grignote lentement mais sûrement la position pour l’instant incontesté de PHP.

Contrairement à PHP qui a été conçu dès le départ pour le Web, python est un langage de programmation généraliste qui est utilisée par de plus en plus de bibliothèques telles que Django ou Flask.

Java

Peu utilisé dans le milieu associatif, il reste un poids lourd dans l’industrie. Il nécessite en plus d’un serveur Web type Apache Httpd, un serveur Apache Tomcat qui se chargera de l’exécution des codes Java.

Son installation et sa maintenance sont assez complexes et ne sont pas vraiment au niveau d’un débutant en administration système.

S’il possède des fonctionnalités avancées qui peuvent être extrêmement intéressantes, ces performances sont généralement inférieures aux autres solutions et nécessite donc que des serveurs plus puissants.

Le programme de monter son site web

Nous allons y aller progressivement en présentant les différentes briques logicielles et uniquement le langage PHP. Les articles vont suivre une logique que vous pourrez reprendre pour vos déploiements. Monter son site web demande un peu de réflexion et de préparation.

  • Installation d’un serveur Linux.
  • Installation et configuration d’Apache httpd.
  • Installation de PHP et configuration.
  • Installation de notre premier site, un docuwiki qui est un logiciel de site wiki entièrement orienté en fichier et ne nécessitant pas d’une base de données.
  • Installation de Maria DB/MySQL et sécurisation.
  • Les bases de la gestion de Maria DB en ligne de commande.
  • Installation de WordPress, un moteur de blog simple à utiliser et à configurer.
  • Installation de PostgreSQL et notions de base.
  • Les bases de la gestion de PostgreSQL en ligne de commande.
  • Installation de Dolibarr, un ERP libre très utile pour les artisans et les petites entreprises.

D’autres articles viendront par la suite renforcer cette série qui vous permettra de commencer en douceur l’administration d’un serveur Linux Web.

Laisser un commentaire