JavaRush /Blog Java /Random-FR /Les serveurs. Programme éducatif pour les nuls

Les serveurs. Programme éducatif pour les nuls

Publié dans le groupe Random-FR
Ci-dessous, nous proposons une traduction adaptée de l'article Le guide des serveurs pour les non-techniciens de Kannan Chandrasegaran, un développeur de Panopto. Veuillez noter que l'article est destiné aux débutants qui connaissent peu la notion de côté serveur de l'application et des serveurs. Les serveurs.  Programme éducatif pour les nuls - 1

De la vie de bureau

C’est difficile d’être un « non-technophile » dans une entreprise informatique, croyez-moi ! Les spécialistes du marketing, les directeurs commerciaux, les comptables - peu importe - rencontrent de temps en temps leurs collègues techniquement avertis. Il peut s'agir de programmeurs ou d'administrateurs système. Quoi qu'il en soit, les "non-technophiles" ont l'impression d'avoir été amputé d'une partie importante de leur cerveau. Ou bien ils ont atterri sur une planète inconnue avec une vie intelligente non humanoïde. Ou…
Les serveurs.  Programme éducatif pour les nuls - 2
Parfois, bien sûr, tout se termine bien. Par exemple, une fille du front-end marche dans le couloir. Rien ne laisse présager des ennuis : elle va à gauche, vous allez à droite, et le plus vite possible... Non, cette fois, ce n'est pas arrivé. Vous êtes déjà assis à table avec elle et, essayant de surmonter le silence gênant, vous demandez : « Et... que faites-vous exactement ? Elle commence à dire quelque chose, mais on ne comprend pas immédiatement de quoi elle parle. Les mots semblent familiers : interface utilisateur, applications et – oui, Facebook est un site Web. Ouais, il y a des boutons, des menus... Vous avez en quelque sorte compris les subtilités de son travail, lui faites un signe d'au revoir et vos chemins divergent dans les couloirs d'un grand bureau.
Les serveurs.  Programme éducatif pour les nuls - 3
Mais tôt ou tard, vous n'aurez pas cette chance : vous rencontrerez un ingénieur serveur. Ou un développeur back-end. Ne sachant pas dans quel genre de jungle vous allez maintenant vous retrouver, vous posez naïvement la même question et... recevez une réponse abracadabra. Vous entendez beaucoup de mots étrangers et des pensées vous traversent la tête : « Est-il poli de demander ce qu'est une API ? », « Nous utilisons une « base de données » tout le temps, n'est-ce pas ? », « Qui diable est ce Jason ? "(JSON) ??". Votre ami ingénieur essaie de vous parler des serveurs, mais il ne comprend pas à quel point il vous est difficile de comprendre son discours rempli de termes professionnels. Vous avez probablement déjà entendu le mot « serveur », mais il est utilisé dans tellement de contextes différents qu'il est difficile d'en comprendre la signification. Eh bien, essayons de comprendre ce terme.

Dans le trou de lapin

Lorsqu'une personne ordinaire (c'est-à-dire ni un programmeur ni un administrateur) utilise une application, tout ce qu'elle voit c'est l'interface, une image qui réagit à certaines actions évidentes (le plus souvent). En fait, ce que les utilisateurs entendent généralement par « application » est son front-end, c’est-à-dire la partie avant, le wrapper avec lequel ils interagissent. Mais les utilisateurs savent très peu de choses sur ce qu’il y a à l’intérieur, c’est-à-dire sur ce qui fait fonctionner l’application. Disons que vous m'envoyez un message, par exemple, via Whatsapp ou Viber. Il semble qu'un message vienne de votre smartphone vers le mien. Examinons de plus près ce processus. Disons que vous m'envoyez un message lorsque mon téléphone est éteint, puis que vous éteignez votre smartphone vous-même. Et donc, j'allume mon téléphone et je reçois toujours votre message, même si nos téléphones n'ont pas fonctionné en même temps. On dirait qu'il nous manque quelque chose ! C'est le « quelque chose » qui nous a manqué : le back-end ou le serveur.
Les serveurs.  Programme éducatif pour les nuls - 4
Lorsque les programmeurs parlent de front-end et de back-end, ils entendent généralement la séparation de la partie utilisateur de l'application de la logique du programme. Ainsi, le front-end est la partie interface de l’application et le back-end est sa partie serveur.

Les serveurs

Essentiellement, un serveur est une machine informatique, un ordinateur connecté à Internet et constamment allumé.
Les deux tâches principales du serveur sont le stockage des données et la communication.
Les serveurs.  Programme éducatif pour les nuls - 5
Vous envoyez un message via Whatsapp ou Viber, l'application sur votre smartphone envoie le message au serveur où il est stocké. Lorsque Viber installé sur mon smartphone se connecte au serveur, il m'envoie tous les messages stockés.
Le serveur est la « station de base » à partir de laquelle l'application s'exécute
Lorsqu'une application nécessite des informations, elle contacte le serveur. Lorsqu'une application a besoin de communiquer avec un autre utilisateur de l'application, c'est le serveur qui lui permet de communiquer. Les termes serveur, back-end et API sont souvent utilisés de manière interchangeable.

Systèmes de stockage ou de stockage de données

La tâche principale du serveur est le stockage des données. Cela inclut les fichiers : photos, vidéos et documents. Le serveur les stocke d'une manière structurée, similaire aux dossiers de votre ordinateur, afin qu'ils soient accessibles aux applications. Les informations sont également stockées sur le serveur . Toutes les applications contiennent des informations importantes pour leur fonctionnement.
Les serveurs.  Programme éducatif pour les nuls - 6
Vous pouvez présenter ces informations sous forme d'un ensemble de tableaux. Par exemple, une application doit stocker des informations sur un utilisateur et son mot de passe afin que l'authentification puisse avoir lieu. Votre application peut être un guide de restaurants, auquel cas le serveur stockera des informations sur chaque restaurant. En plus des informations elles-mêmes, le serveur enregistre également les relations entre les données. Par exemple, un utilisateur aime un restaurant dans une application sur un smartphone, et le serveur mémorise cette connexion entre le restaurant et l'utilisateur.
Les serveurs.  Programme éducatif pour les nuls - 7
Cela permet de répondre à de nombreuses questions. Par exemple:
  • Combien d'utilisateurs ont aimé ce restaurant ?
  • Quels restaurants cet utilisateur aime-t-il ?
  • Quelles cuisines plaisent à plusieurs utilisateurs à la fois ?
Les informations et les relations entre les données sont stockées dans une base de données (DB). Il existe de nombreux types de bases de données, mais elles le sont toutes :
  • peut stocker des informations
  • peut stocker les relations entre les données
  • peut recevoir des demandes d'informations et y répondre sous forme de données uniques ou d'un ensemble de données, selon la demande.
Il existe de nombreux types de bases de données, chacune présentant ses propres avantages et inconvénients. Si vous entendez des termes comme SQL, MySQL, MongoDB, CouchDB, Redis, sachez que nous parlons de bases de données.

Interaction

La tâche clé du serveur est l'interaction avec l'application et les autres serveurs.
Les serveurs.  Programme éducatif pour les nuls - 8
De nombreuses tâches applicatives nécessitent une interaction avec le serveur. Par exemple, si un utilisateur recherche quelque chose, la requête de recherche est envoyée au serveur et le résultat provient de là. Si un utilisateur envoie un message à un autre utilisateur, celui-ci arrive d'abord sur le serveur. Et puis à partir de là, il est envoyé à l’application d’un autre utilisateur, le plus souvent sous la forme d’une notification envoyée. Les interfaces fournies par un serveur pour que les applications puissent interagir avec lui sont généralement appelées API . Eh bien, certaines fonctions d'interface peuvent être associées aux points de terminaison , par exemple, à la recherche ou à l'autorisation sur le site. Pour les non-initiés, cette interaction peut paraître étrange. Les deux formats d'interopérabilité les plus courants sont JSON et XML.
Les serveurs.  Programme éducatif pour les nuls - 9
XML à gauche, JSON à droite À première vue, les formats semblent difficiles à lire. Il est important de comprendre qu’un serveur n’est qu’un ordinateur, comme votre ordinateur portable ou votre smartphone. L'application sur votre téléphone accepte les entrées de l'utilisateur via la voix, le texte, la reconnaissance vocale ou le toucher sur l'écran. L'application traite ces informations puis fournit une réponse sous forme d'image à l'écran. Un smartphone est un ordinateur qui interagit avec une personne, les entrées et les sorties sont donc fournies sous une forme pratique pour une personne. Un serveur est un ordinateur qui interagit uniquement avec d'autres ordinateurs. Une personne perçoit les informations grâce à des éléments tels que : la taille de la police, la couleur du texte et le formatage. Mais cela ne signifie rien pour l'ordinateur.
L'interaction entre les serveurs se produit dans des formats faciles à analyser et à comprendre pour d'autres ordinateurs.

Application serveur

Si vous souhaitez créer une application qui s'exécutera sur votre téléphone, vous aurez également besoin d'une application qui s'exécutera sur le serveur. Les applications côté serveur sont créées à l'aide de langages et de frameworks de programmation côté serveur, les options populaires étant Java , Ruby on Rails , Node.js , PHP , ASP.NET .
Les serveurs.  Programme éducatif pour les nuls - 10
On pourrait dire que l’API est la « porte » de votre serveur et que l’application sait y frapper. La base de données stocke toutes vos informations. Et l’application serveur est le « cerveau » qui relie tout entre eux. Il reçoit et répond aux demandes qui lui sont envoyées via l'API, ajoute et récupère des informations de la base de données et prend des décisions. Par exemple, lorsqu'une application utilisateur soumet des informations de connexion, la demande transite par l'API, les informations de connexion correctes sont stockées dans la base de données. La tâche de l'application serveur est de les comparer et de répondre en conséquence à l'application à l'aide de l'API.

Matériel

Les serveurs.  Programme éducatif pour les nuls - 11
Lorsque vous entendez le mot « serveur », vous imaginez probablement cette image : des armoires avec des lumières vacillantes dans une pièce fermée. Probablement, pour compléter le tableau, il ne manque que Tom Cruise, qui descendra du plafond et volera quelque chose. De nombreuses grandes entreprises possèdent leurs propres serveurs et des centres de données entiers (ces immenses salles aux armoires scintillantes). Facebook et Google possèdent des centaines de serveurs dans le monde. Lorsque vous gérez un énorme service avec des millions d’utilisateurs, gérer vos propres serveurs peut être nettement moins cher et offrir de meilleures performances. Au lieu de gérer leurs propres serveurs, de nombreux développeurs utilisent les services cloud. Des services tels qu'Amazon Web Services, Azure et Digital Ocean offrent la possibilité d'utiliser des « serveurs virtuels ». Ces services possèdent et entretiennent le matériel, et le développeur y charge simplement une application serveur. Certains fournisseurs de services proposent le backend en tant que service, ce qui vous permet d'avoir un backend simple sans avoir à écrire vous-même l'application backend.

Toutes les applications ont-elles besoin d’un backend ?

La plupart des applications que vous connaissez ont probablement un composant backend. Bien sûr, vous pouvez trouver des programmes sans partie serveur. Par exemple, certaines applications de productivité. Un moyen simple de savoir si une application a un back-end ressemble à ceci :
Si vous passez en mode Avion, l'application fonctionnera-t-elle toujours ?
Si la réponse est « non », cela signifie que l’application dispose définitivement d’un serveur backend.
Les serveurs.  Programme éducatif pour les nuls - 12
J'espère que vous comprenez maintenant ce qu'est le back-end d'une application. Peut-être que la prochaine fois que vous rencontrerez vos collègues programmeurs, vous pourrez non seulement comprendre de quoi ils parlent, mais aussi utiliser un foutu « Jason » dans votre conversation.
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION