Admin/Dev

30
Août
2017

Guide du débutant : Les bases du fonctionnement d'internet - Partie 2

Publié par sky

Co-écrit avec Frank

Continuons notre périple autour du fonctionnement de l'Internet, après avoir compris ce que faisait votre navigateur internet, intéressons nous cette fois au rôle d'un serveur web.

Le serveur web est un ordinateur autonome, connecté à l'Internet et configuré pour répondre aux requêtes HTTP de votre navigateur pour un ou plusieurs domaines dédiés.

 

1/ Un serveur de fichier qui répond à vos requêtes

Si l'on voulait simplifier, on pourrait dire qu'un serveur web est un serveur de fichiers utilisant le protocole HTTP. C'est à dire, tout simplement, un ordinateur dédié à envoyer les fichiers que les client lui demandent.

Basiquement et originellement, c'est ça ! Simplement, un serveur de fichier à travers Internet. Un serveur capable d'envoyer les pages web demandées, mais aussi, comme nous l'avons vu précédement, les fichiers de scripts côté client, les fichiers de style pour designer les pages, et les images ou autres médias à attachés à la page. Une fois que le serveur a envoyé tout cela, c'est le navigateur qui continue le travail en affichant la page du mieux qu'il peut. Le serveur se ne préoccupe plus de rien, en attendant la prochaine requête, lorsque vous allez cliquer sur un lien pour visiter une autre page, par exemple.

Ce serveur de fichier est un logiciel tout simplement, qui ne fait rien tant qu'une requête ne lui a pas été envoyée. Il existe une multitude de logiciels capables de faire ce travail, dont :

  • Apache : Certainement le plus utilisé, le plus connu, mais surtout, celui présent en standard sur nos Macs.
  • Nginx : Une alternative de plus en plus présente à Apache, plus léger.
  • IIS : Créé par Microsoft pour ses serveurs Web sous Windows.

 

2/ Un language de script pour créer du contenu dynamique

Avec le temps, on s'est rendu compte, qu'envoyer des pages web, c'était bien, mais les personnaliser ou les créer à la volée, c'est mieux.

On a donc ajouté à nos serveurs la capacité à éxecuter des scripts ou des programmes, afin d'envoyer des pages crées ou modifiées selon les besoins et les contextes. Avec le temps, ces capacités se sont largement améliorées, nous sommes désormais capables de faire éxecuter des programmes complexes lors du chargement d'une page.

Grâce à ces programmes, bien des sites ne possèdent plus de pages web en tant que telles, ils créent l'intégralité des pages à la demande.

Contrairement à une application classique qui tourne non-stop, les scripts ne s'exécutent qu'au chargement d'une page. Il s'agit donc pour les développeurs de modifier leurs habitudes de programmation pour s'adapter à ces spécificités.

En combinant scripts côté serveurs et scripts côté clients, il est désormais possible de proposer de véritables applications web, très proches des applications classiques.

Une nouvelle fois, il existe de nombreuses solutions pour ajouter des programes côté serveur :

  • PHP : Le plus utilisé, mais surtout, celui disponible en standard sur nos Macs.
  • Java : Utilise le language de programmation Java, et ses méthodes de programmation orientée objet.
  • IIS / ASP.NET : Langage de programmation utilisé pour les serveurs Web de Microsoft Windows.
  • Python / Perl / Ruby : Il s'agit d'autres logiciels/languages de script, souvent utilisés sur Linux qui, comme PHP, sont capables d'être utilisés depuis un serveur web. Ces languages sont aussi disponible sur Macs.

Et il en existe d'autres, les technologies web étant toujours en pleine ébullition.

 

3/ Une base de données pour stocker les contenus de manière organisée

Bien avant la démocratisation d'Internet, les bases de données étaient déjà utilisées pour stocker et organiser des données. De part leur structure et leurs optimisations, elles sont capables de lire et d'écrire des données bien plus rapidement que si tout était stocké dans de simples fichiers. Les résultats aussi bien plus fiables.

Il était donc naturel, que ces bases de données soient aussi utilisées par des sites internet.

Les logiciels de programmation sont donc capables de se connecter aux logiciels de bases de données, et leur faire des requêtes (queries) afin d'enregistrer ou de lire des données stockées.

En général, on dédie une (ou plusieurs) base(s) de données par site ou application internet. Chacune de ces bases est capable de contenir de nombreuses tables, elles-même contenant lignes et colonnes, un peu à la manière d'un tableur pour stocker les données.

La structure des tables, appellée schéma, est flexible, nous pouvons créer autant de colonnes que nécessaire (dans la limite des capacités de la base de données, mais souvent, cette limite est difficile à atteindre).

Ainsi la base de données d'un site marchand contiendrait les tables :

  • Produits, avec en colonnes : le nom du produit, sa description, son prix
  • Comptes, avec en colonnes : nom et prénom, email, adresse, téléphone
  • Commandes, avec en colonnes : la date, le total, mais aussi, et un peu plus compliqué, un lien vers la ligne correspondant au compte dans la table dédiée, ainsi qu'un lien vers les lignes correspondant aux produits.

Chaque ligne des tables ci-dessus correspond à un enregistrement de produit, compte et commande.

Inutile de stocker dans les commandes, l'intégralité des comptes et des produits, il suffit de faire un lien. Ensuite, une fois la commande récupérée, il suffit de faire une autre requête afin de, cette fois-ci, récupérer le compte et les produits.

Bien sur, cet exemple est simplifié, et il est possible de modifier ses tables tel qu'on le souhaite, pour y ajouter toutes les données dont on aurait besoin.

Les logiciels de base de données sont, là encore, nombreux. Chacune dispose de ses spécificités, de ses avantages, et de ses inconvénients. Parmi les plus connues, nous pouvons citer :

  • MySQL : Disponible en 2 versions : Open source et Entreprise Edition. La version Open source est très souvent utilisée car facile d'installation et d'utilisation.
  • Oracle : Ancienne mais toujours très présente. Il s'agit du haut de gamme de la base de données avec le tarif qui va avec. Elle est capable de gérer de très grosses bases de données (plusieurs Teraoctets!!).
  • Postgres : Se veut un clône d'Oracle mais en Open source.
  • MSSQL : La base de données, de Microsoft optimisée pour ses serveurs.
  • Access : Vous connaissez peut être cette base de données, disponible dans la suite Office. Si elle est graphiquement plus agréable, elle n'est cependant pas adapté à une utilisation applicative sur le web.

A noter que la majorité des logiciels de base de données utilise le même language nommé SQL (Simple Query Language), pour lire et écrire les données, avec parfois quelques variances. Le language permet aussi de modifier la structure des tables et de la base de données.

 

4/ Un CMS pour gérer les contenus

Un CMS est un système de gestion de contenu. Il s'agit d'applications web qui facilite la création de sites internet ou d'autres applications web plus complexes. Pour un site internet, par exemple, il va faciliter la création des pages, en permettant la modification rapide des pages, l'insertion d'images ou d'autres médias, sans avoir à taper aucune ligne de code HTML ou autre.

Le CMS va utiliser les technologies présentes sur le serveur pour fonctionner, et va automatiser les actions les plus courantes.

La connexion à la base de données, par exemple, sera faite par le CMS, et l'administrateur n'aura rien à gérer de ce côté la.

La majorité des CMS utilisent des systèmes de plugins afin d'étendre les fonctionnalités disponibles et permettant de personnaliser son site internet à l'infini.

Pour information, skymac.org utilise CaMykS comme CMS, créé par votre serviteur.

 

Article skymac : Guide du débutant: Les bases du fonctionnement d'internet - Partie 2

 

 
Sommaire de la série
 
 
Commentaires
Aucun commentaire pour le moment.

 

Poster un commentaire
En postant sur skymac.org, je m'engage à être courtois et à ce que mon message soit pertinent avec le sujet de l'article.
En outre, j'accepte, sans condition, que mon message soit refusé et supprimé si ces règles ne sont pas appliquées.
Ouvrir le panneau de gestion des cookies
Fermer le panneau
Ce site utilise des cookies pour assurer son bon fonctionnement. Il utilise aussi des cookies issues de services tiers permettant de proposer des fonctionnalités avancées. À tout moment, vous pouvez choisir quels services vous souhaitez activer ou refuser, afin de retirer votre consentement quant à l'utilisation des cookies.
 
Personnalisation des services
Vous êtes libre de choisir quels services vous souhaitez activer. En autorisant ces services tiers, vous acceptez le dépôt et la lecture de cookies et l'utilisation de technologies de suivi nécessaires à leur bon fonctionnement. En retirant votre consentement pour certains de ces services, certaines fonctionnalités du site peuvent ne plus fonctionner.
Navigation du site  En savoir plus
Le site écrit un cookie de session permettant son bon fonctionnement et aidant à la navigation. Il ne peut être désactivé.
Utilisation : 1 cookie, enregistre l'identifiant de la session.
Durée de vie : Le cookie est présent pendant toute la session sur le site. Il devient obsolète après 24 minutes d'inactivité.
Obligatoire
Popup Média
Afficher des vidéos depuis Yoube ou Dailymotion.
 
Tout accepter Tout refuser Gérer