loading

loading loading

Les principaux
types de sites Web

Homme en costume bleu qui tient dans les mains des icones en hologrammes

Introduction au Web

Le logo www représentant le Web: World Wide Web

World Wide Web

Objectif

Avant d’aborder le développement web, je pense qu’il peut être nécessaire de faire une introduction au Web, à son fonctionnement et à ses diverses couches, afin d’appréhender ce qui n’est pas toujours clair, et parfois même confus, en ce qui concerne les termes et les rôles de ce qui s'y rapporte, ainsi que pour percevoir les divers types de développements qui le composent.

Internet ou Web - Web ou Internet ?

L’internet

Internet est l’abréviation de « Inter Network » ou « InterNetworking », pour Réseaux Interconnectés, un ensemble de réseaux reliés entre eux. Un internet, quand il s'agit du nom commun, représente un réseau reliant d’autres réseaux. L’Internet, tel qu’on l’entend couramment, ou encore le Net par abréviation, représente Le Réseau principal que tout le monde connait aujourd’hui, et représente donc l’ensemble des réseaux interconnectés et accessibles, qu’ils soient publics ou privés.

L’Internet est né en 1983 et descend de l’ARPANET, un réseau militaire opérationnel depuis la fin des années soixante et conçu à l’origine pour conserver les communications et préserver l’information en cas de guerre mondiale: décentraliser l’information afin qu’elle reste disponible et accessible, quoi qu’il arrive.

Le Web

Web est le diminutif de World Wide Web. Créé en 1990, le World Wide Web, aussi appelé le WWW, ou le W3C, est un système hypertexte qui utilise l’Internet. Aujourd’hui, par manque d’informations, on considère souvent le Web comme étant l’Internet, mais ce n’est pas vraiment ça. Pour faire simple, le Web est un procole de communication et Internet est le réseau sur lequel transitent les données. Le Web utilise donc Internet pour transmettre ses données, l’Internet étant lui même lié à un protocole, le TCP/IP.

Un système hypertexte est un système qui relie des documents entre eux et qui permet de passer de l’un à l’autre par des liens appelés hyperliens ou liens hypertexte. Un hyperlien, ou lien hypertexte, est une référence à un document, à une page ou à une partie d’une page

Ce système hypertexte, le Web, permet donc d’avoir des documents reliés entre eux et qui s’affichent, sous forme de pages, dans un navigateur, accessibles par le réseau Internet. Ces documents, ces pages Web, sont reliés entre eux, entre elles, par des hyperliens. Ces pages sont écrites dans un langage de balisage, le HTML

Un hyperlien, appellé plus couramment lien, est un élément intéractif au sein des pages permettant de passer de l’une à l’autre, le tout formant un site.

Protocoles de communication

Selon l’utilisation que l’on fait d’Internet, envoyer des mails, télécharger des fichiers, lire des news..., on utilisra un protocole différent qui fera transiter l’information sur Internet. D’une manière générale, Internet utilise une suite de protocoles de communication appelés TCP/IP, pour Transmission Control Protocol/Internet Protocol, Protocole de Contrôle de Transmission de Protocole Internet, d’où sont issues ces fameuses adresses IP et qui sont associées à une machine. Internet utilise aussi le protocole UDP. C'est la nature de l’échange, de l’information qui devra transiter qui déterminera le protocole a utiliser (ce qui est transparent pour l’internaute). Pour envoyer et recevoir des e-mails, on utilisera les protocoles SMTP, POP3 ou IMAP, pour du téléchargement ce sera FTP, pour lire des News ce sera NNTP... et, pour le Web, ce sera le protocole HTTP.

HTTP/HTTPS

Le nom du protocole du Web est connu de par son acronyme, ces 4 lettres qui figurent devant les adresses Web que l’on tape dans les navigateurs: HTTP, pour HyperText Transfert Protocol, Protocole de Transfert HyperTexte, le HTTPS étant la version sécurisé de ce protocole, le S indique que les données qui transitent en HTTP sont sécurisées en étant chiffrées. Ainsi, tout ce qui aura attrait au Web sur Internet, dans un navigateur, utilisera les protocoles HTTP et HTTPS. Par convention, si le protocole n'est pas précisé lorsque l’on tape une adresse Web dans le navigateur, il utilisera le HTTP, ou HTTPS (selon la configuration du site/serveur) ajoutant lui-même l’acronyme de ce protocole devant l’adresse du site: taper google.fr dans la barre d’adresse amènera le navigateur à aller directement sur https://google.fr sans avoir à préciser HTTP(S).

Principes de fonctionnement

Client/Serveur

Les principes de fonctionnement du Web se raprochent de ce que l’on retrouve dans la vie quotidienne, tel qu’au restaurant par exemple, avec cette notion, ce principe de Client/Serveur: le client correspond au navigateur de l’utilisateur, l’internaute ; le serveur correspond à l’ordinateur sur lequel sont stockées les pages qui forment le site, ou l’application.

Au restaurant, quand un client commande ce qui figure sur la carte, le serveur commence par regarder si le plat est disponible et, si c'est le cas, il le sert à la table de celui qui a commandé. De même, lorsque qu’un internaute, avec son navigateur, demande une page Web au serveur, ce dernier va d’abord s'assurer que la page existe. Si la page existe, elle sera renvoyée au navigateur, le client, qui l’affichera à l’écran de l’utilisateur. Si la page n'existe pas, le serveur l’indiquera au navigateur, le client.

La demande d’un navigateur s'appelle une requête et la page retournée se nomme la réponse

Schéma du processus de l’appel d’une page Web. Le navigateur en tant que client demande une page au serveur qui la retourne

Le client demande une page, le serveur vérifie qu’elle existe, la récupère et la renvoie

Chaque appel de page est une requête, une demande effectuée au serveur, que ce soit en cliquant sur un lien, ou en tapant directement l’adresse du site dans la barre d’adresse du navigateur.

Quand une page n'existe pas, le navigateur reçoit une page d’erreur de type 404, cette fameuse page qui indique que la page n'a pas pu être trouvée. Cela indique toujours que la page demandée n'existe pas, ou n'existe plus. Cependant, il arrive que la page souhaitée existe mais que l’internaute ait fait une faute dans l’écriture du nom de cette page, demandant un mauvais nom, tapant une mauvaise adresse. Le serveur, lui, ne fait pas le rapprochement entre le vrai nom de la page souhaitée et le nom avec la faute qui aura pu être faite, il cherchera la page avec le nom correspondant à ce qui lui aura été demandé, avec la faute, ce qui indiquera une page qui n'existe donc pas

Il ne faut pas confondre effectuer une recherche en tapant des mots, que ce soit dans la zone de recherches ou dans la barre d’adresse, avec écrire une adresse Web dans la barre d’adresse: taper « site google.fr » affichera une page de résultats avec différentes pages du site Google. Taper « google.fr » dans la barre d’adresse affichera le site https://google.fr

Autant le navigateur, en lien avec le moteur de recherche et son historique, peut faire de la prédiction en proposant des mots, des adresses de sites en fonction de la saisie, autant le serveur ne choisira pas une page avoisinant le nom de celle écrite avec une erreur. Taper une adresse dans la barre d’adresse indique vouloir s’y rendre, taper des mots, une phrase, indique faire une recherche sur ces critères. Ainsi, le navigateur ne vous enverra pas vers le bon site en corrigeant un mauvaise adresse à votre place, c’est du moins le fonctionnement initial du protocol de communication...

Nombre 404 représentant une erreur de type 404 qui est l’erreur pour une page non trouvée

Erreur 404 - La page demandée n'existe pas

D’une manière générale, un serveur s'exprime par des codes, des codes qui indiquent la situation, 200 si tout va bien ou, au contraire, un code indiquant s'il y a eu une quelconque erreur ou un quelconque problème, ces codes étant ensuite interprétés pour donner une message, une indication à l’utilisateur. C'est le cas pour le code 404, qui indique que la page n'existe pas. Liste des codes HTTP

Schéma du processus de l’appel d’une page Web par plusieurs clients. Le navigateur en tant que client demande une page au serveur qui la retourne

Les Serveurs sont prévus pour gèrer un nombre important de requêtes au même instant

Le Serveur et les page Hypertextes

Ce sont l’ensemble de ces pages pages hypertextes, reliées entre elles et stockées sur cet ordinateur distant qu’est le serveur, qui formeront le Site Web ou encore l’Application Web. Ces pages sont stockées dans un dossier dont le contenu, organisé en sous-dossiers, forme le Site ou l’Application Web.

Evolution du Web

Sans rentrer dans les détails du fonctionnement du site et de l’application Web, je vais rapidement aborder les deux versions majeures du Web, et les suivantes, afin de mieux en percevoir l’évolution.

Le Web 1.0

Initialement, on ne parlait pas vraiment de version pour le Web. Ce n’est que par l’évolution des techniques de développement, qui ont ouvert un autre mode de fonctionnement côté navigateur, donnant naissance au Web 2.0, que l’on a commencé à parler du Web 1.0, mais au départ on ne parlait que du Web sans distinction.

Il ne faut pas confondre les versions du Web tel qu’on l’entend et les versions du protocole HTTP

Un Web statique

Le Web originel, le Web 1.0, n’était constitué que de pages dites statiques, c’est à dire non interactives, avec une communication synchrone avec le serveur. Non interactive n’est pas tout à fait ça puisqu’il était possible d’exercer une action, un click sur un lien, sur un bouton, des choix dans des listes, avec des cases à cocher.... Lorsque l’internaute consultait une page, il pouvait la faire défiler, lire son contenu, avoir un minimum d’interaction avec au travers les formulaires, mais dès l’instant qu’il effectuait une action qui demandait la modification de la page ou d’une partie de la page en interrogeant le serveur, la demande de nouvelles données faisait qu’il n’était plus possible pour l’utilisateur de faire une quelconque opération sur la page tant que la réponse du serveur n’était pas retournée. D’une manière générale, la demande de données non comprises dans la page demandait le rechargement complet de cette dernière, ou en appelait une autre: la communication entre le client et le serveur était synchrone et bloquante, c’est à dire que le navigateur ne pouvait plus rien faire tant qu’il n’avait pas reçu la réponse du serveur, d’où la notion de synchrone, pour synchronisation. De là, on ne devait pas cliquer à tort et à travers, car un simple click pouvait amener des temps d’attente, souvent interminables, pour le rapatriement des données du serveur du fait de la lenteur des connexions Internet de l’époque.

Schéma client serveur. Un ordinateur représentant un visiteur fait une requête au serveur. Le serveur renvoie la réponse. La requête et la réponse sont chacune représentées par une flèche

Tant que le navigateur n'avait pas reçu la réponse du serveur, la navigation était bloquée au sein de la page

Aujourd’hui, avec la fibre optique les débits pour les particuliers vont de 1 à 2 Gigabits, en théorie, 8 pour Free (il faut 8 bits pour 1 octet, ainsi 1 Giga bit/s = 128 Méga Octets/s soit 128 Méga Octets par seconde). L’ADSL va de 20 à 96 Mégabits (soit ente 2,5 et 12Mo/s). Mais dans les années 90, les années du Web 1.0, ce n'était pas la même chose, les débits étaient tout autre. En 1994, la norme était de 14,4kb/s (1,8ko/s) pour atteindre, en 1995 les 56Kb/s (7ko/s), voir jusqu’à 128kbits/s (16ko/s) pour les modem RNIS de base. En 1999 arriva la première ADSL, avec 512k, puis l’ADSL2+ en 2004 pour 16Mbits/s. Tout cela pour dire que selon les époques, comparé à aujourd’hui, télécharger une pièce jointe d’1Mo avec un modem 14.4k pouvait prendre jusqu’à 9 minutes 1/2 et 2 minutes 1/2 avec un modem 56k, pour moins d’un centième de seconde aujourd’hui. Il valait donc mieux réfléchir à 2 fois avant de cliquer n’importe où

Le Web 2.0

Dans le début des années 2000, vers 2003, on a commencé à parler du Web 2.0. Il s’agissait de pouvoir interagir avec des pages Web qui n'étaient plus statiques, toujours côté navigateur. La révolution tenait dans le fait de pouvoir recevoir des données du serveur pour mettre à jour la page sans avoir à la recharger complètement et sans qu’elle ne soit bloquée, laissant un large évantail de possiblités en terme d’interactions utilisateur. Cela a permit d’avoir des sites où les utilisateurs ont commencé à pouvoir interagir avec les pages, donnant naissance à des applications en ligne, aux réseaux sociaux, donnant la possibilité de construire des blogs... et a donné, dans le temps, naissance au Web interactif tel qu’on le connait aujourd’hui.

Le Web interactif

Le Web 2.0 a été rendu possible grâce à une « technique » du langage JavaScript mise au point par Microsoft entre 1997 et 1998, la bibliothèque (ensemble de fonctionnalités) HttpXmlRequest, plus communément appelée AJAX, pour Asynchrone JavaScript Apache XML, une communication non synchronisée entre le navigateur, par le langage JavaScript, et un serveur Apache pour recevoir des données au format XML, le grand frère du HTML. Cette technique, AJAX, permet au navigateur de communiquer de manière asynchrone avec le serveur, sans bloquer la page actuelle, tout en permettant à l’utilisateur de continuer sa navigation, de pouvoir continuer d’interagir avec le contenu et même d’effectuer d’autres requêtes au serveur. Cela permet de changer une ou plusieurs partie(s) d’une page sans avoir à la recharger et sans avoir à attendre le retour du serveur pour continuer d'’interagir avec, tel que par exemple écrire un commentaire sur Facebook, y joindre une image, le poster (l’envoyer au serveur) et qu’il soit incorporé à la page sans avoir à la recharger.

Un autre exemple: sur la page d’un e-commerce on souhaite affiner la recherche, parmis les articles qui figurent dans la liste des résultats, en sélectionnant des critères tel que le prix, la couleurs, la taille, le fabriquant.... Le navigateur envoie une requête au serveur en transmettant les critères de filtres. Le serveur interroge la Base De Données avec ces critères. La Base De Données retourne au serveur tous les articles qui correspondent à ces critères. Le serveur renvoie ces articles au navigateur. Une fois les données récupérées, le navigateur modifie, reconstruit, adapte la page en fonction des données retournées. Il n'y a que si l’utilisateur change de page en court de route, ou déclenche une autre action coupant la première, que la requète est interrompue, sinon l’affichage des articles se fera selon les critères de choix. De son côté, le navigateur continue de fonctionner normalement pendant le temps que le serveur renvoie les données (asynchrone indique que le navigateur n'attend pas la réponse du serveur pour permettre à l’utilisateur de continuer d’interagir avec la page). Bien sûr cela va très vite, bien que cela dépende de la vitesse de connexion et de la qualité des programmes développés en amont.

Schéma client serveur Ajax. Un ordinateur représentant un visiteur fait une requête au serveur. Le serveur interroge la Base De Données et renvoie

Le navigateur interroge le serveur et n’est pas bloqué en attendant la réponse

Les fondations du Web 2.0 tiennent sur le fait de pouvoir envoyer et recevoir des données en interrogeant, de manière asynchrone, le serveur qui renverra les informations demandées au navigateur pour qu’il adapte la page actuelle

Asynchrone indique que le navigateur n'aura pas besoins d’attendre que les données demandées au serveur soient retournées pour que l’utilisateur puisse contiuner sa navigation, que ce soit la validation d’un formulaire ou la demande de données complémentaires

L’asynchrone permet d’interroger des services que l’on appelle des API. J’en parlerai plus tard...

Les Promises ou Promesses

Les promesses, ou Promises, sont la continuité du Web asynchrone. Bien que l’on ait tendance à noter les évolutions du Web par différentes versions successives, le fondement même de l’évolution du Web tient vraiment dans le côté asynchrone des requêtes dont les Promises apporte un niveau supplémentaire.

Le but n’est pas de lister toutes les technologies ayant fait évoluer le Web technologiquement parlant

Le Web Sémantique ou Web 3.0

Ce que certains définissent comme le Web 3.0 se définie comme un Web Sémantique. Il s'agit d’être plus axé sur l’Information et ses qualités, sur les données en soit et d’en assurer la cohérence. On parlera de métadonnées, des données sur les données afin de les décrire. Cela permet de traiter l’Information avec précision, avec certitude, sans incohérence et sans tromperie. Le Web Sémantique permet la mise en relation des données inter sites/applications et d’en assurer la pertinence. « Le but sera ainsi dans l’avenir d’améliorer l’accès et l’utilité du Web et des ressources interconnectées à travers lui » - Wikipédia -. La blockchain, tel que pour les cryptomonnaies ou les droits d’auteur, en est un exemple.

Datas et Applis

La mise en relation des données permet l’interconnexion à l’Information par diverses applications. Le Web 3.0 a aussi une notion d’Expérience Utilisateur et de lien avec les objets connectés, du smartphone au bracelet, en passant par la TV... Le Web3 se porte aussi sur le cloud, le stockage des données en ligne et accessibles de partout.

Le Web Sémantique permet l’interconnexion entre les Bases De Données de diverses entreprises, organisations, sites..., donnant la possibilité de croiser ces données et d’obtenir l’Information recherchée d'’une manière plus précise, ou étendue. Un site qui interroge plusieurs sources peut ainsi servir l’Information avec plus de pertinence

Exemple: Vous recherchez un hôtel pour une période définie. Le Web Sémantique donne la possibilité de faire une recherche sur un site de réservation en ligne qui ira interroger, en quelques secondes, voir quelques dizaines de secondes, tous les autres sites que vous auriez pu interroger en plusieurs dizaines de minutes, voir bien plus en vous perdant dans la multitude de choix, afin de récupérer les propositions de chacun, selon vos critères, pour vous proposer les hôtels disponibles, voir les horaires de train et tout ce qui pourra être proposé en termes de critères de recherche en rapport avec la recherche initiale

L’IA ou le Web 4.0

Certains parlent du Web 4.0 en parlant d’un Web ultra intelligent, d’autres ne parlent « que » d’intelligence. En pleine effusion, il est axé sur tout ce qui a attrait à l’IA, l’Intelligence Artificielle, la robotique, le machine learning (l’apprentissage automatique par les ordinateurs), la réalité augmentée et, bien entendu, les objects connectés puisque c'est ce qui nous y relie, aux données et aux processus qui les traitent.

Intelligent ou envahissant ?

L’analyse des habitudes, du comportement pour mieux connaitre, mieux cadrer l’utilisateur et correspondre au mieux à ses attentes, à ses demandes n’est pas toujours bien perçu, et à juste titre, mais là n’est pas le sujet. Bien qu’omniprésent, ce Web a pour vocation à être plus discret, puisqu’il est censé travailler en tâches de fond pour apprendre de sur l’utilisateur, de part ses habitudes en tous genres, déplacements, saisies, orations, habitudes d’achats..., afin de pouvoir répondre au mieux possible aux attentes de, et aux propositions à faire à, l’utilisateur.

Difficile d’aborder ce sujet sans donner l’impression d’être rétrograde ou, au contraire, d’être laxiste. Cependant, les champs d’applications du machine learning, pour ne parler que de ça, permettront, et permettent déjà, de bonnes choses en soit. Par exemple, un système d’aide à la conduite qui apprendra à connaitre et reconnaitre la route à prendre selon les habitudes de son utilisateur, qui pourra choisir un restaurant sur la simple demande du « conducteur », selon ses goûts et ses habitudes, et l’y emmènera sans qu’il n'ait à conduire...

Le Web, oui, mais encore

Les différentes couches

Le Web ne correspond pas qu’à une simple zone, au contraire. La zone complète du Web est divisée en différentes couches, certaines étant accessibles d’une manière particulière et inaccessibles sans le vouloir, sans faire ce qu’il faut pour.

Dessin représentant les différentes couches du Web sous forme d’iceberg avec en haut le Web qui est le Web commercial et en bas le Dark qui est le plus sombre et au milieu le Deep, le profond

Les 4% ne sont qu’une estimation de ce qui est référencé par les moteurs de recherches, ce vers quoi les gens sont dirigés

Le Web de surface

Le Web, tel qu’on le connait d’une manière générale, est ce que l’on pourrait décrire comme la partie commerciale ou publique du Web, plus couramment appelée la partie émergée. Il s’agit en fait du SurfaceWeb, Le Web de Surface. Cette partie du Web est celle dont les sites sont indexés par les moteurs de recherches, tel que Google, Qwant, Yahoo, Bing, DuckDuckGo... de façon à être trouvés lors de recherches: ce sont les sites qui sont proposés par ceux qui « contrôlent » le Web ; contrôle dans ce cas étant plutôt un contrôle dans le sens de la pertinence et de la qualité de l’information, et non pas dans le sens que l’on ne puisse pas faire d’autres choix que ceux qu’ils proposent, encore faut il vouloir, ou avoir le temps de dépasser la ou les premières pages de résultats. D’une manière générale, il est concevable que les sites soient recensés, répertoriés et classés par des notions de qualité et de pertinence de l’information, et bien entendu pour des raisons de sécurité. Ainsi, qu’un site se retrouve en première ou en dernière position dans les résultats d’un moteur recherche, tant qu’il y est, c’est qu’il est indexé, référencé (le positionnement et l’indexation seront abordés dans la partie SEO).

Une main tient une sphère en hologramme représentant le Web de surface avec les réseaux sociaux et ce qu’on y retrouve

L’indexation, pour un site ou une application, est le fait d’être recensé, référencé par les moteurs de recherches, Google, Bing, Yahoo, DuckDuckGo ou encore Qwant (le moteur de recherche français), en sachant que celui qui fait la loi, ou bat la mesure, depuis des années reste Google

Ainsi, tant que l’on n’indique pas aux programmes d’indexation des moteurs de recherches que l’on ne souhaite pas être référencé, un site ou une application se retrouvera indexé, et classé, référencé, comme plus ou moins bon, selon la qualité de sa structure et de la pertinence de son contenu. Ces programmes d’indexation sont ce que l’on appelle les robots d’indexation (les crawler en anglais) et dressent la liste des sites référencés, recensés selon des critères, selon le ou les sujets traités et classés selon leurs qualités en termes de structure/programmation/efficacité. Le Surfaceweb, c’est le Web que tout le monde connait: une recherche dans Google et on vous présente une liste de sites qui correspondront au mieux à ce que vous aurez tapé comme demande, comme requête, comme sujet de recherche, classés par ordre de pertinence dirons nous, ce qui est du domaine du SEO, Search Engine Optimization, Optimisation pour les Moteurs de Recherche.

Le Web Profond ou DeepWeb

Bien qu’il existe une réelle confusion entre le DeepWeb (le Web Profond), le DarkWeb (le Web Sombre) et les DarkNets, l’un et l’autre ne sont pas pareils.

Le DeepWeb est toujours le Web, et avec des sites légaux, mais ce sont des sites qui ne sont pas indexés par les moteurs de recherches. Ce sont en général des sites qui se passent de la promotion des moteurs de recherches, ou des applications Web privées. Cela peut être des sites d’entreprises, des réseaux sociaux, des forums, des sites de collectivités, mais aussi des sites de recherches à thème, des sites de banques, des sites du gouvernement, d’universités... tous types de sites à vrai dire, mais qui ne souhaitent pas, ou ne doivent pas, être recensés par les moteurs de recherches, peu importe leurs raisons. Bien entendu, on parle toujours de sites légaux. Il peut aussi y avoir des sites référencés qui ont des parties qui ne le sont pas: par exemple, si vous ne souhaitez pas que l’on retrouve votre page Facebook dans Google, il suffit de le préciser dans les paramètres pour que votre page ne soit pas, ou ne soit plus, référencée. De même, la partie Back-Office d’un site (l’interface de gestion) n’est généralement jamais référencé, sans que cela ne soit illégal, je le précise encore car DeepWeb n’est pas synonyme d’illégalité.

Image de synthèse représentant le numérique en bleu avec une perspective de profondeur

Le DeepWeb fonctionne toujours avec le protocole de communication HTTP(S) et fait donc partie du Web

Il faut savoir que des sites indexés par Google peuvent aussi contenir des virus et autres programmes indésirables, même s’ils font tout pour l’éviter. On ne peut donc pas prétendre que le Web soit plus sécurisé que le DeepWeb, surtout que des sites d’apparence « propres » peuvent vous proposer, en interne, des liens vers des sites non référencés qui comportent des virus...

Sans le savoir, vous avez certainement déjà visité un site qui n’était pas référencé, donc faisant partie du DeepWeb.

Le Web Sombre ou DarkWeb

Le DarkWeb est tout autre chose. Bien que le DarkWeb fasse partie du DeepWeb, donc du Web, il fonctionne tout autrement. C’est cette partie du Net dont on a si souvent entendu parler pour pouvoir y acheter de la drogue, des armes, des films malsains, ou encore trouver les services d’un tueur à gages, ce que beaucoup décriraient, avec raison, comme le mal, ou encore trouver les services de hackeurs, éthiques ou pas...

Image de synthèse représentant une sphère en filaments noires style Dark Vador

Mais le DarkWeb ce n’est pas que ça. Le DarkWeb donne aussi la possibilité à des reporters de guerre, des journalistes d’investigation, de protéger leurs échanges, d’éviter la censure, de communiquer librement dans l’anonymat ; c’est aussi la possibilité pour des donneurs d’alertes de communiquer d’une façon sécurisée à propos de sujets sensibles tout en se préservant de la surveillance, ceux qui recherchent une certaine protection, ou un anonymat, tel qu’Edward Snowden, par exemple, qui a été lanceur d’alerte vis-à-vis de la NSA et de la CIA, aux USA.

De par son mode de fonctionnement de l’ordre de l’anonymat, le DarkWeb ne permet pas aux sites d’identifier les internautes par leur adresse IP, tout comme il ne permet pas aux internautes d’obtenir des informations pertinentes sur les sites qu’ils consultent. De ce fait, il s'agit d’un lieu plutôt anonyme et c'est peut être la raison pour laquelle il a beaucoup été blâmé, au-delà de ce qu’il aurait dû l’être de par les activités illégales que l’on peut y retrouver: par exemple, pas de possibilité de faire du profilage d’utilisateur dans un but commercial, tel qu’on le retrouve sur le SurfaceWeb avec des sites tels que Facebook, Google, Pinterest et des tas d’autres qui cherchent à établir votre profil au fil de vos visites, les sites se relayant les informations entre eux via des cookies et les boutons « Like » ou « J’aime » que les créateurs de sites insèrent dans leurs pages et qui récupèrent des informations sur leurs utilisateurs.

Le Dark Web permet essentiellement de rendre possible la liberté d’expression, d’information et d’échange total fondé sur la sécurité de l’anonymat, et permet donc à chacun de lire comme de publier du contenu. On y trouve ainsi beaucoup de ressources légales, qui y sont cachées pour lutter contre la censure. - Wikipédia -

Le côté anonyme et « respectueux » de la vie privée ne retire par au DarkWeb son côté sombre de par les sites illégaux qu’il héberge, c’est un fait, mais on ne tombe pas sur ces sites par hasard, il faut le savoir

DarkWeb et DarkNet

Quoi qu’il arrive, on ne va pas sur le DarkWeb sans le vouloir. Le DarkWeb utilise d’autres réseaux, que l’on nomme des DarkNets. Un DarkNet est donc un réseau, avec son protocole de communication qui n’est plus le HTTP. Pour accéder à un DarkNet, il faut installer la partie logicielle, qui comprend le protocole de communication utilisé et qui permettra de se connecter au réseau DarkNet, ainsi qu’un navigateur particulier, qui permet d’y naviguer, tel que TOR et TOR Browser, le protocole et le navigateur les plus connus.

Dans le cas de ce DarkWeb, TOR est le DarkNet et TOR Browser est le navigateur qui permet d’y accéder. Et bien que le Web de Surface soit accessible par TOR, le DarkNet TOR n’est pas accessible par les navigateurs traditionnels. Pour en savoir plus.

Et l’Intranet qu’est ce que c'est ?

L’Intranet ou le Net interne - privé

L’Intranet se comporte comme le Net normal, à une différence près: c'est qu’il est propre au réseau interne d’une entreprise, d’une collectivité ou d’une organisation, c'est un réseau privé. Là où l’Internet se tourne vers le monde extérieur, le monde tout court, l’Intranet se cantone au monde interieur de l’entreprise, de la collectivité ou de l’organisation, avec bien sûr la possibilité d’avoir des accès contrôlés vers le Net externe, l’Internet. L’Intranet ne se limite pas obligatoirement au seul réseau local de l’organisation, il peut s'étendre aux différents réseau locaux de chacune de ses succursales, que ce soit au sein d’une ville, d’une région, d’un pays ou au travers le monde. Ainsi, une entreprise, une organisation ou une collectivité, qui est implantée dans diverses villes, régions et/ou pays, peut avoir son propre réseau interconnecté. Au niveau d’une ville, sur une distance de 100km maximum, on parlera d’un MAN, Metropolitan Area Network, pour Réseau Métropolitain. Sur une échelle plus grande, tel qu’au niveau d’un pays ou au niveau mondial, on parlera de WAN, Wide Area Network, pour Réseau Grande Distance, les deux permettant de relier les Réseaux Locaux, les LAN, pour Local Area Network tel que le réseau d’une box.

Il existes un certains nombre de types de réseaux avec leurs topologies, et le but n’est pas de les traiter, mais juste d’expliquer simplement qu’il est possible, et courant pour les grandes entreprises, de relier entre eux les différents réseaux locaux de chaque succursale, et de créer un Intranet, un Net interne à l’entreprise. De plus, ce Net interne peut être rendu accessible de l’extérieur de manière rigoureusement contrôlée et réglementée via une connexion par VPN et une authentification. Le VPN, Virtual Private Network pour Réseau Privé Virtuel, peut être vue comme un tunnel qui permet d’établir une connexion chiffrée et sécurisée entre un ordinateur et le serveur d’un réseau, permettant et garantissant ainsi un accès totalement privé et sécurisé pour permettre, par exemple, à des employés d’accéder à l’Intranet lors de déplacements ou à partir de chez eux. L’Intranet est généralement mis en œuvre par de grandes entreprises, ou organisations souhaitant un Net interne, ce qui représente un coût.

Carte mondiale numérique des intranet. Les pays sont en emprunte digitale avec des héxagones en premier plan et des cadenas à chaque point de connexion représentant un Intranet

Dans l’absolue, l’interconnexion des réseaux locaux n’est pas exclusivement réservé qu’aux organisations. Une famille pourrait très bien avoir les réseaux locaux de chaque foyer, donc de chaque box, reliés entre eux. MAN ou WAN, selon la distance des foyers, avec un ou plusieurs site(s), ce qui formerait l’Intranet familial. Ceci juste pour indiquer que tout est réalisable

Les avantages d’un Intranet

Les avantages d’un Intranet pour une organisation, entreprise ou collectivité sont certains, mais la gestion de l’infrastructure est quelque chose de particulièrement pointue. Pour toutes structures qui a un réel besoin de communiquer en interne en toute sécurité, tel que pour des laboratoires scientifiques, des organisations humanitaires, des églises, des associations ou tous types d’entreprises, l’Intranet, s'il est justifié, est une bonne solution en soit pour diffuser de l’information, communiquer et travailler sous formes de sites et d’applications, en interne.

Le LAN

Le Réseau Local

Un LAN, Local Area Network en anglais, est ce que l’on appelle un Réseau Local, le réseau de base que l’on retrouve un peu partout de manière privée, qu’il ne s’agisse que d’un ordinateur relié à une box ou de tous les PC d’une entreprise ou d’un foyer. Depuis l’arrivée des Box, à l’origine par Free et leur première Freebox avec routeur en 2004, il est devenu facile pour chacun d’avoir son propre réseau local. Avant, il fallait, par exemple, configurer une machine comme serveur, le pc sur lequel était connecté le modem, permettant la connexion à Internet, et sur lequel il fallait installer un logiciel pour partager la connexion, puis, soit relier les ordinateurs entre eux quand il s’agissait d’un réseau BNC, soit les connecter à un matériel de « centralisation », HUB, SWITCH, Routeur..., permettant de les relier entre eux pour un réseau en RJ45... Bref, il fallait faire un minimum de choses. Aujourd’hui, ce sont les Box qui jouent les rôles de Serveur, Routeur, HUB, Switch..., dans une certaine limite, et permettent, via leurs fonctionnalités natives, la mise en réseau simple avec accès à Internet, faisant que chacun à d’emblée son LAN, avec plus ou moins de fonctionnalités à disposition selon la Box.

Groupe de figurines d’ouvriers qui travaillent sur une Box pour la mettre en réseau

Une Box = un LAN

Boitiers SFP

Les Box comportent toute fois des limites en termes de connexion cable, connexion RJ45, et le Wifi n'est pas ce qu'il y de plus rapide, bien qu'ayant évolué, les débit ne sont pas aussi élevés que par cable. Et il y a des personnes qui ne veulent pas avoir la Wifi chez eux, la raison est un autre sujet. Ainsi, il existe une solution intéressante pour diffuser la fibre un peut partout dans la maison. Il s'agit de connecter un boitier, appelé convertisseur de média SFP, à une prise RJ45 de la Box, avec un adaptateur, boitier qui s'occupera de convertir la connexion qui sort de la box normalement en RJ45 (cuivre) en fibre optique (verre). Ce boitier devra être relié à un second convertisseur de média SFP, via un cable fibre optique, pour une distance de base 500m, certains pouvant atteindre les 20km. Le second boitier recevra la fibre comme s'il était lui même accorrdé à la prise mural au lieu de la Box et pourra redistribuer la connexion, soit en étant connnecté directement à un PC, soit, de préférence, connecté à un Switch Multiport Ethernet (une multi prise en quelque sorte). Cela permet de connecter, selon le modèle, plusieurs périphériques réseau, tels que des ordinateurs, avec un bon débit, bien au dessus du Wifi. En gros, cela permet de transmettre la fibre optique un peut partout dans la maison, dans l'entreprise, avec des débits de 1 à 10Go. L'avantage est certain car la prise fibre optique du FAI (Fournisseur d'Accès à Internet) est installé à un endroit fixe, que l'on ne peut plus déplacer une fois installée, ce qui oblige ensuite, quand on veut utiliser le réseau dans d'autres pièces, à soit devoir utiliser le Wifi, qui est le moins rapide, même avec des répétiteurs, soit utiliser les boitiers CPL, ce qui reste une bonne solution, ou soit tirer des cables RJ45 un peu partout, avec ou sans goutière, dans les murs ou dans les pleintes. Dans ce cas, avec les convertisseurs de média SFP, c'est pouvoir transporter la fibre n'importe où avec à un bout la Box et à l'autre un Hub ou un Switch multiport. Cela permet d’avoir une bonne connexion en termes de rapidité en démultipliant les connexions RJ45. Le boite SFP permet aussi de pouvoir transmettre la fibre d’un bâtiment à un autre...

Site Web, Site Applicatif et Application Web

Après avoir vue ce qu’est que l’Internet, l’Intranet et les différentes parties du Web, nous allons pouvoir nous pencher sur ce qu’est qu’un Site Web et une Application Web. Mais avant de passer à la partie développement de chacun d’entre eux, nous allons voir encore un peu de théorie technique afin de bien percevoir le fonctionnement, le comportement et l’utilité de chacun, et, plus en amont, nous verrons les principaux types de chacun.

qu’est ce qu’un Site Web ?

En rappel, un Site Web est un ensemble de pages hypertextes reliées entre elles et stockées sur un un serveur. Ces pages sont accessibles par le réseau Internet via un logiciel appellé navigateur, FireFox, Chrome, Edge, Opéra, Brave... Le navigateur permettra de naviguer le Site Web. C'est le navigateur qui offre le cadre d’exécution pour les pages Web, comme un système d’exploitation l’offre pour un logiciel ou une application smartphone.

qu’est ce qu’un Site Applicatif ?

Comme nous le verrons dans la partie types de Sites Web, on pourrait assimiler un Site Applicatif à un portail Web, mais ce n’est pas toujours le cas. Le Site Trello, par exemple, peut être considéré comme un portail en ce qu’il offre un Site Applicatif ouvert au public et une gamme de produits pour différents systèmes. Figma, quant à lui, est un Site Applicatif, offrant la possibilité, comme pour chaque Site de ce type, à quiconque le souhaite de s’inscrire et d’y créer un compte utilisateur et d’utiliser en ligne un éditeur de graphiques vectoriels et un outil de prototypage. MSN, quant à lui, est typiquement un portail. Facebook est un site applicatif, pour ne pas dire une application de type réseau social.

D’une manière générale, les Sites Applicatifs ont vocation à fournir des fonctionnalités autres que la consultation d’informations et l’achat, même s’il ne serait pas faux de considérer un e-commerce comme un site applicatif, le champs d’application étant là la vente...

Il existe aussi des Portails Professionnels pour la mise à disposition de ressources par une entreprise pour ses clients, ses fournisseurs, ses partenaires. Le portail, dans un tel cas, sera une ouverture sur différentes parties applicatives.

qu’est ce qu’une Application Web ?

Bien qu’une Application Web soit de l’ordre du Site Applicatif, la différence pour l’application telle que je tiens à la présenter, tient dans son côté privé et donc restreinte à des utilisateurs spécificiques. Là où l’Application Web publique sous toutes ses formes peut aussi avoir une vocation d’ordre commerciale, l’Application Web privée, elle, est avant tout un utilitaire pour une structure, une organisation, une entreprise, une communauté... Il est bien entendu possible de rendre publique ou privée n'importe quelle Application Web.

Google offre une suite applicative. Gmail est une application Web, avec une version Android, iPhone, tout comme Drive, Maps...

L’application Web telle que je la présente ici a un caractère privé, où les utilisateurs ne peuvent pas s'y inscrire librement. Généralement, il existe deux façons d’y avoir un compte utilisateur. La première est de recevoir un lien d’invitation, par mail, texto, qrCode..., qui est envoyé par un utilisateur habilité à le faire, afin que celui qui le reçoit puisse créer son compte sur l’Application. La deuxième est de se faire directement créer un compte par un utilisateur de cette application habilité à le faire, un utilisateur du groupe administrateurs généralement, la création de compte déclenchant l’envoie d’un mail au nouvel utilisateur avec les informations de connexion.

Ces applications ne sont pas indexées par les moteurs de recherches, elles demeurent dans ce que l’on appelle le DeepWeb et les trouver en connaissant leur adresse, pour un internaute n’y ayant pas de compte utilisateur, n’apportera rien d’autre que de se retrouver sur une page d’authentification/identification, sans possibilité d’y créer un compte utilisateur ni de voir ce qu’il se passe derrière.

Il existe des Applications Web qui offrent des services après inscription et qui n'ont pas vocation à être privées, qu’elles soient gratuites ou payantes, ce qui est le cas de Sites Web Applicatif. Ces Sites Applicatifs ont un espace utilisateur privé, pour que les internautes y gérent leur profil

D’une manière générale, un Site Web, un Site Applicatif et une Application Web seront de la même nature en quelque sorte, en termes de fonctionnement. Ce sont leur cloisonnement, leur(s) fonction(s) première(s) et la complexité des fonctionnalités qui en découleront qui en feront la différence, ainsi que leur côté public, semi-public ou privé

L’hébergement

Pour être accessible, un Site ou une Application Web doit être stocké sur un serveur, un serveur Web. Avant même d’être une machine, un ordinateur physique ou une machine virtuelle, ce que l’on appelle un serveur Web est un ensemble de systèmes logiciels, qui permettent de stocker et exploiter les fichiers, d’exploiter la Base De Données, de générer des pages HTML, puis de renvoyer les pages Web générées.

Le serveur physique est la machine sur laquelle sont installés ces systèmes logiciels, systèmes logiciels qui se nomment des serveurs logiques: Le Serveur de Fichiers, il permet les opérations sur les fichiers, écriture, lecture, suppression, création, édition comme le ferait un système d’exploitation tel que Windows, Linux ou macOS ; Le Serveur de Base De Données, le Système de Gestion de Base De Données qui permet toutes les opérations sur les données, leur création, leurs manipulations, leur suppression, leurs mises à jour ; puis vient Le Serveur Web Logique, Le Serveur HTTP, souvent Apache, mais pas que, qui lui interroge les autres serveurs pour ensuite générer les pages et les retourner. A cela s'ajoute un système que l’on peut appeler un moteur, ou encore un interpréteur, et qui correspond au langage de programmation serveur utilisé pour générer les pages, tel que le moteur ou interpréteur PHP, qui transforme le code écrit dans ce langage en un code HTML compris par le navigateur.

Pour faire simple, ces serveurs logiques/logiciels seront installés sur ce que j'appelerai par défaut de langage un « serveur physique»  dans le sens que cet ordinateur pourra être vraiment physique (matériel) ou virtuel (émulation d'un ordinateur physique), un ordinateur à performances élevées en ce qui concerne les domaines de l'hébergement. Il existe plusieurs types d'offres en termes de « serveurs physiques» . Le serveur dédié physique, un ordinateur dont toutes les ressources sont exclusivement réservées au client: c'est le plus couteux, mais aussi le plus efficace dans bien des cas, en sachant que la configuration est généralement à la charge du client, bien que des hébergeurs tel qu'o2switch offrent aussi l'infogérance de la machine. Le serveur mutualisé, un ordinateur physique dont les ressources seront partagées entre plusieurs hébergements: c'est la solution la moins coûteuse et la moins performante ( < 1000 visites par jours), l'hébergeur répartie les ressources de l'ordinateur physique en plusieurs hébergements, sans véritable cloisonnement, tant au niveau des disques durs pour le stockage, qu'au niveau des ressources processeurs, mémoire, bande passante. Le Serveur Privé Virtuel (VPS), est un système dit machine virtuelle qui reproduit toute l'architecture d'une machine physique installé sur un ordinateur physique, avec de bonnes performances en soit et un cloisonnement entre les hébergements ; un Serveur Privé Virtuel n'est pas un serveur mutualisé qui partage ses ressources entre plusieurs sites, dans le sens où il contient plusieurs machines virtuelles devenant chacune un ordinateur à part entière, cloisonné en ce qui concerne les espaces de stockage, les ressources étant uniformémant réparties. Les ressources physiques sont réparties entre plusieurs machines virtuelles, et non entre plusieurs sites. Le VPS est une bonne solution quand l'architecture est de qualité. o2switch, par exemple, permet des trafics moyen de 10 000 à 35 000 visites par jour.

L’Hébergeur

Bien qu’il soit possible d’héberger son Site, son Application chez soit ou dans son entreprise, il conviendra de choisir un hébergeur, car gérer un serveur demande, en plus des compétences pointues, d’avoir une présence sur site, avec une planification de surveillance et de sauvegarde. Ainsi, cette tâche qui a toute son importance est confiée à un hébergeur, le bon fonctionnement du serveur reposant sur ses compétences. L’hébergeur, dont c'est le travail, mettra tout en œuvre pour maintenir en parfait état de fonctionnement le serveur sur lequel sera déposé votre site, intervenant rapidement en cas de problème.

Bureau vue de dessus avec un carnet, une main d’homme sur le clavier d’un pc portable et le mot rêve en anglais: dream

Baies de serveurs dans un Data Center

L’hébergeur ne s'occupe que de la partie technique au point de vue hébergement, à aucun moment il n'entre en jeu dans le développement du site ou de l’application, de sa maintenance ou de la configuration. Cependant, son rôle reste important

L’hébergeur a des locaux, des datacenters, sécurisés afin de protéger ses serveurs, avec un contrôle des accès en ce qui concerne l’infrastructure, tout ce que demande d’une manière générale la sécurité des lieux extra-sensibles (caméras de surveillance, personnel de sécurité, accès réglementés électroniquement...) ainsi que ce qui concerne les accès réseaux.

Il existe des hébergeurs gratuits, mais ils sont à déconseiller si vous tenez à vos données, à votre code et à la rapidité d’exécution. De plus, les hébergeurs gratuits insèrent des pubicités sur les pages des sites qu’ils hébergent: ce n’est pas une solution sérieuse professionnellement parlant. Pour finir, vos données leurs appartiennent, ils en font ce qu’ils veulent

Extension de nom de domaine: .com, .edu, .biz, .gouv...
Adresse Web - Nom de domaine

Que ce soit pour un Site ou une Application Web, il faudra choisir une adresse Web, un nom pour le serveur qui hébergera le site ou l’application et qui le rendra accessible: c'est ce que l’on appelle le nom de domaine.

En approche simple, le nom de domaine est constitué de 2 parties: le nom de domaine de premier niveau, que l’on appelle aussi l’extension, et le nom de domaine de deuxième niveau, qui correspondra au nom du site sans l’extension, les deux étant séparés par un point. Généralement, on a l’habitude de parler du nom de domaine quand on parle de celui de deuxième niveau, la partie de gauche, et de l’extension pour parler du premier niveau, la partie de droite. Ainsi, le nom de domaine est la partie de gauche de l’adresse Web et l’extension la partie de droite.

Bien qu’aujourd’hui il soit possible de choisir un nom de domaine avec des caractères spéciaux, il convient de penser à la pertinence et à la simplicité de la saisie de l’adresse Web que l’internaute sera amené à taper, sans parler des confusions de noms. D’une manière générale, à moins d’un contexte particulier, le nom de domaine contiendra un mélange des lettres a à z, de chiffres ainsi que le tiret (-), le tiret ne devant pas être en première ou en dernière position. Le nom de domaine devra faire un maximum de 63 caractères. L’extension, quant à elle, sera à choisir parmis celles existantes selon le type de Site ou d’Application. Par exemple, l’extension .fr représentera un site français, l’extension .org une organisation, le .com un site commercial, mais un site e-commerce pourra prendre n'importe quelle extension à vrai dire, tout comme le .com pourra représenter un site professionnel ou anglophone plutôt qu’un site commercial. Là encore, c'est à l’appréciation du maître d’ouvrage et de l’information qu’il veut véhiculer.

Adresse Web - URL & URI

L’URL, pour Uniform Resource Locator, Localisateur Uniforme de Ressource en français, aussi appelée adresse Web, est une chaîne de caractères qui permet d’identifier une ressource par son emplacement en précisant le protocole Internet utilisé pour la récupérer: http, https, ftp... L’URL permet localiser les divers formats de données du Web.

L’URI, pour Uniform Resource Identifier, Identifiant Uniforme de Ressource en français, est une chaîne de caractères identifiant une ressource sur le Web et dont la syntaxe respecte une norme d’Internet pour le Web.

On parlera aussi d’URN, pour Uniform Resource Name, Nom Uniforme de Ressource en français, quand il s'agit d’un identifiant unique dans le temps et le lieu de stockage pour une ressource précise tel que le code ISBN d’un livre

L’adresse d’un site Web est une URL. La combinaison de l’URL et du nom de la ressource forme l’URI

On parlera donc de l’URL d’un site, ou d’une application, et de l’URI d’une page, d’une image, d’une vidéo...

Le choix du nom de domaine

Le nom de domaine sera votre nom sur le Web, il s'agira donc d’en choisir un qui soit représsentatif de votre site, de votre activité, de votre entreprise ou de l’information que vous souhaitez véhiculer et représenter, puis le louer, car un nom de domaine se loue, bien que l’on parle aussi d’achat.

Le choix du nom de domaine est généralement une des premières choses à définir, dès l’instant que le projet est lancé, le but étant de le réserver le plus rapidement possible, après avoir été bien pensé, afin qu’il ne soit pas pris ou réservé par quelqu’un d’autre entre temps. Dans le cas où le nom de domaine serait déjà prit, il sera possible de conserver ce nom en changeant l’extension, un choix à penser si le changement d’extension conduit sur un site concurent, la personne voulant se rendre sur votre site pourrait arriver sur celui d’un autre.

Sous-domaine

Un sous-domaine peut être vue comme un domaine au sein du domaine principal. Dans l’adresse Web, un sous-domaine est la partie de gauche après le nom de domaine. Les sous-domaine sont soumis aux mêmes règles de notation que les domaines et sont séparés du domaine principal par un point.

    Sous-domaines de google.com:
  • mail.google.com
  • maps.google.com
  • drive.google.com
  • ...

Lorsque l’on a un nom de domaine, on peut créer autant de sous-domaines que voulu. Selon le type de serveur de l’hébergement, le nombre maximum de sous-domaines peut aller de 1000 à illimité.

Chaque sous-domaine peut être un site ou une application à part entière, ou encore une extension ou une partie d’un site ou d’une application.

Une entreprise peut avoir le nom de domaine principal pour son site, un sous-domaine pour le Back-Office, un sous-domaine pour le profil des utilisateurs et un sous-domaine pour les applications

  • back-office.adresse-du-site-web.com
  • profil.adresse-du-site-web.com
  • app-interventions.adresse-du-site-web.com
  • app-rh.adresse-du-site-web.com
  • app-facturation.adresse-du-site-web.com
  • ... (les noms sont purement fictifs ...

De même, pour une application en sous-domaine il est possible de lui créer des sous-domaines

  • interventions.app-web.nom-entreprise.com
  • rh.app-web.nom-entreprise.com
  • facturation.app-web.nom-entreprise.com
  • ... / ...

L’entreprise peut avoir une application par service

  • app-interventions.nom-entreprise.com
  • app-rh.nom-entreprise.com
  • app-facturation.nom-entreprise.com
  • ... / ...

Dans le cas de plusieurs applications, elles pourront communiquer entre elles, échanger de l’Information et seront amenées à accéder à des données partagées, telles que les données utilisateurs, les fichiers clients...

Construction des pages

Sans entrer dans les détails, les pages qui sont affichées dans le navigateur sont des pages qui sont dans un format appelé HTML (HyperText Markup Language pour Langage de Balises pour l’HyperTexte). Le navigateur Web, lorsqu’il fonctionne avec le protocole HTTP, lit des pages au format HTTP: c'est ce format de documents qu’est le HTML.

Les langages

Il existe deux types de langages pour le Web:

  • Les langages serveur

    Ce sont les langages qui fonctionneront sur le serveur. Il y a le langage pour générer les pages, toute la logique et le langage pour interroger la Base De Données.

  • Les langages client

    Ce sont les langages qui fonctionneront dans le navigateur, un langage pour afficher la structure de la page, un langage pour mettre en forme la page et un langage pour les interactions avec l’utilisateur.

Le dynamisme

Lorsque l’on écrit les pages, on n'écrit pas que du HTML, mais on utilise un langage serveur, c'est à dire un langage qui n’est compris que par le serveur et non par le navigateur. Avec ce langage, on écrit des programmes pour générer des pages HTML en fonction du contexte. C'est ce qui fait que, selon l’utilisateur qui se connecte à un site, les pages sont différentes.

Il existe une exception avec JavaScript qui peut être utilisé en langage serveur et en langage client, navigateur: c'est NodeJS

Dans la pratique

Si je me connecte à ma boite e-mails Gmail, je n'aurai certainement pas les mêmes mails que vous, c'est certain, même si on peut être abonné aux mêmes newsletters, ce qui fera que nous aurons des e-mails en commun, mais c'est tout, le reste sera propre à chacun. Peut-être aurais-je le même thème que certains, le thème que l’on aura été plusieurs à choisir, mais, hormis ce qui est de l’ordre de la personnalisation offerte en options, options qui elles, déjà, peuvent tout de même différer d’un utilisateur à un autre en terme de choix, le reste sera personnel.

Ce sont les programmes, écrit dans le langage serveur, qui iront interroger la Base De Données, avec les identifiants de l’utilisateur, pour rechercher tout ce qui concerne la personnalisation de cet utilisateur, ainsi que ses e-mails. Une fois ces données récupérées dans la Base De Données, le langage serveur génèrera la page web qu’il faudra, une page en rapport avec l’utilisateur connecté, pour ensuite la transmettre au serveur HTTP qui, lui, la retournera au navigateur, sous la forme d’une page HTML, pour qu’elle soit affichée à l’utilisateur.

Schéma relation client serveur - serveur base de données - génération et renvoie de la page

L’utilisateur se connecte à son adresse mail et reçoit la page boite de réception avec ses mails

Le langage serveur

Le langage serveur servira à générer les pages, en faisant des appels à la Base De Données, pages qui s'afficheront dans le navigateur de l’internaute. Il existe un bon nombre de langages serveur, Java, Python, Ruby, l’excellent JavaScript avec NodeJS...pour ne citer qu’eux, et PHP, le plus courant et dont bon nombre de développeurs ont rejeté l’existence avant de finalement l’adopter, comme c’est le cas pour moi, et ce site par exemple.

Le choix du langage serveur est laissé à l’appréciation du maître d’œuvre, mais il peut aussi être un langage propre au fonctionnement interne de l’entreprise donneuse d’ordre, la maîtrise d’ouvrage, puisque dans certains cas le maître d’ouvrage peut déjà utiliser, et être familiarisé avec, des langages de programmation.

Chaque langage a ses spécifités, ses particularités et certains sont plus adaptés que d’autres, le principal étant de générer et de renvoyer des pages de qualité et de manière optimisée, fluides, le plus rapidement et correctement possible.

Les langages client

Le langage serveur génère des pages HTML, le langage de structure des pages. Ces pages HTML, qui ne sont que la structure du contenu, sont mises en forme avec un autre langage côté client, un langage comprit par le navigateur, le langage CSS. Le CSS met en forme la page HTML. Pour finir, l’interaction avec l’internaute se fait avec le langages JS, pour JavaScript. C'est le langage qui permet d’effectuer et de contrôler tout ce qui est interactif dans une page.

En résumé

Le Web

Le Web est un procole de communication qui permet de faire transiter des données sur le réseau Internet. Il permet notamment de consulter des Sites et d’utiliser des Applications Web, hébergés sur un serveur, qui mettent à disposition de l’Information et des fonctionnalités.

Durant ces 20 dernières années, et plus particulièrement les 10 précédentes, le Web s'est démocratisé. On y retrouve tous types de sites et d’applications et, aujourd’hui, avoir une présence en ligne est essentiel quand un client vous recherche. Et, bien qu’ils soient utiles pour communiquer et se faire connaitre, il ne faut pas confondre la page d’un réseau social ou d’un blog avec le site Internet qu’une entreprise peut être amenée à avoir.

C’est devenu un des premiers réflexes que de regarder sur le Net, à partir de son smartphone de sa tablette ou de son ordinateur, pour y trouver l’information que l’on recherche. A l’heure où le numérique n’est plus le monde de demain mais celui d’aujourd’hui, ne pas avoir son site peut être frustrant et faire perdre de potentiels clients

Le Web est en quelque sorte la place publique du monde numérique, un lieu commun où l’on s'attend à y voir, à y rencontrer les acteurs de la vie quotidienne, au même titre que l’on croise les diverses boutiques de sa ville en s'y promenant, tout en ayant accès à celles du monde entier.

L’applicatif

Dans la pratique, en terme de conception, un Site Web, un Site Applicatif et une Application Web se ressemblent énormément. Tout comme la voiture de ville, la voiture de sport et la voiture tous terrains fonctionnent de la même façon sur un point de vue technique, avec leurs particularités et leurs points communs, il en est de même pour les Sites et Applications Web. C'est le rôle premier de chacun qui les différenciera les uns des autres, ajoutant pour certains des fonctionnalités plus ou moins élaborées qui en augmenteront la complexité mais, d’une manière générale, ils seront conçus de la même façon en termes technologiques. Bien sûr, un blog sera moins complexe à développer qu’un site de vente en ligne qui, lui, le sera moins qu’une Application Web prévue pour effectuer des calculs scientifiques et générer des rendus 3D. Ce sont les fonctionnalités de chacun qui en font la différence.

Types de sites

Les principaux Sites Web

Dessin représentant différents types de sites Web

Aborder les divers types de sites pourra vous permettre de vous orienter vers le type de site dont vous aurez besoin, celui qui répondra le mieux à vos attentes et besoins.

Sites Web

Les différents types

Les sites Web se déclinent en plusieurs catégories
Le Site Vitrine

Son rôle est la présentation de l’entreprise, de son historique, de ses valeurs et de ses prestations et/ou produits. Le terme vitrine est en rapport avec la vitrine d’une boutique physique dans la rue, son rôle étant de faire connaitre l’entreprise aux internautes et de les attirer, un peu comme la vitrine d’un magasin présente les produits que l’on retrouvera à l’intérieur: cela doit donner envie. Le but est d’amener les potentiels clients à vouloir faire appel aux services/prestations de l’entreprise, à acheter ses produits, ou à commmander ceux qui pourront être créés.

De nature simple, le site vitrine permet d’avoir une présentation rapide de l’activité de l’entreprise, avec des photos (des produits, des services, des employés, voir des bâtiments), les coordonnées de contact (numéro(s) de téléphone, adresse(s) mail), une carte pour faciliter l’accès à ’entreprise, la page contact permettant à l internaute de poser tous types de questions/demandes... Selon le type de site vitrine, une page avec l’actualité pourra exister ainsi qu’une page permmettant aux clients d’y déposer des avis, des commentaires...

De base, un site vitrine est généralement simple, mais il peut aussi se sophistiquer de par ses fonctionnalités mais sans permettre la vente en ligne, selon ce qui aura été exprimé par le maître d’ouvrage.

Le Site e-commerce: la vente en ligne

Son but est de permettre aux internautes d’acheter, directement sur le site de son proprétaire les produits, articles et services de l’entreprise, ou les œuvres de l’artiste. C'est une boutique en ligne où l’utilisateur aura besoin de s'inscrire en créant un compte utilisateur pour passer commande. Le e-commerce a aussi généralement une page de présentation de l’entreprise, une page contact et peut aussi avoir un blog pour publier l’actualité de l’entreprise.

L’utilisateur aura la possibilité de sélectionner les articles/produits proposés sur le site, ce qui a pour effet de les ajouter dans un panier virtuel, tel qu’en faisant ses courses. Si l’utilisateur a déjà un compte sur le site de vente, il devra se connecter à son espace utilisateur pour finaliser ses achats. Si l’utilisateur n'a pas de compte, tel que c'est le cas lors de ses premiers achats, il devra en créer un au moment de la finalisation de la vente. D’une manière générale, la majorité des gens sont déjà allé sur un site e-commerce...

Le Site Portail ou Portail Web

Son but est de proposer des ressources et des services en rapport avec un thème, une région, une ville, ou encore une communauté. Cela peut être une entreprise, une mairie, une association, une église, un club de sport... Un Portail Web offre un espace utilisateur et divers services tel que le Webmail, par exemple, ou encore un forum où les utilisateurs peuvent échanger, la consultation des activités de l’entreprise ou de la commune, l’ajout de son planning d’évènements pour un utilisateur détenant un compte sur le portail... Comme expliqué dans la partie introduction au Web, un Site Portail peut aussi être celui d’une entreprise désirant offrir à ses partenaires, collaborateurs et clients différents types de services.

Le Blog

Le blog est le type de site Web le plus simple qu’il soit. Cela peut être aussi une partie d’un site Web. Son but est la publication périodique et régulière d’articles personnels dans l’optique de faire paraître l’actualité ou les pensées d’une personne, d’une association ou d’une entreprise, généralement autour d’une thématique bien précise.

Le Site Evènementiel

Son but est de mettre en évidence les évènements d’une entreprise. Certains de ces sites peuvent être éphémères, tel que pour le lancement d’un produit, d’un film, d’un événement particulier ou pour une campagne de communication: le site disparaît en même temps que l’événement auquel il est rattaché, ou peu de temps après. D’autres sites évènementiels peuvent perdurer toute l’année, annoncer divers évènements à diverses dates et refléter ainsi la vie de l’entreprise, d’un club de sport, d’une commune ou d’une association.

Dans la même lignée, il y a les sites évènementiels saisonniers, qui annoncent, tous les ans à la même période, un événement récurant, tel qu’un championnat

Le Site communautaire

Son but est le rassemblement ou la constitution d’une communauté, tel que pour les réseaux sociaux du type Facebook, Twitter, Linkedin, mais aussi d’autres qui ont vocation à ne pas être répertoriés par les moteurs de recherches du fait d’avoir un caractère plus ou moins privé. Ce type de site permet une interaction entre membres tout en leur permettant de créer des pages personnelles, de groupes ou d’organisations.

Le Site multimédia

Son but est la diffusion d'oeuvres musicales ou audio/vidéos et demande un type d'hébergement approprié avec généralement une inscription et un abonnement pour la diffusion de ces oeuvres, mais cela peut être exclusivement pour diffuser les média d'une entreprise, et, dans ce cas, c'est un site attaché à un autre en sous-domaine.

Le Site institutionnel

Ce type de site est destiné aux institutions, organismes publics et grands groupes afin de communiquer et offrir de l’information, tel que pour les sites du Gouvernement.

Le Forum

Son but est de permettre à des personnes d’échanger sur des sujets particuliers, en rapport avec le thème principal du forum et des sous-thèmes qui peuvent en découler, l’un posant une question, un problème à résoudre, ou un sujet à connaitre ou à approfondir, d’autres y répondant selon leurs connaissances. Ce type de site demande d’avoir au moins un modérateur pour vérifier le contenu des messages postés et pour s'assurer que les membres de la communauté sont bien en adéquation avec les règles du site.

Le Site sur mesure

Certains définissent les Sites Sur Mesure, ou développement intégral, exclusivement pour des sites de banques, ou encore des sites tels que pour le covoiturage de par leur complexité et de par la mise en œuvre de fonctionnalités spécifiques et/ou innovantes, mais il s'agit avant tout ni plus ni moins que de la conception d’un site de a à Z « fait main », comme c’est le cas de ce site, Particule-Informatique.com, sans avoir recourt à ce que l’on appelle un CMS, un Système de Gestion de Contenu qui propose un système des pages préfabriquées, sujet abordé plus loin et dont le plus connu est Wordpress.

D’une manière générale, n'importe quel type de site parmis ceux précédemment présentés peut être fait sur mesure. Le Site sur mesure est un site qui sera intégralement développé de a à Z, sans utiliser de logiciel ou d’application permettant d’avoir une partie préfabriquée, sans utiliser de système permettant de ne pas avoir à développer les parties communes et le back-office, même s’il est possible de faire un développement sur mesure au sein d’un CMS.

Un site sur mesure a pour vocation d’être conçu en partant de rien et en développant intégralement chaque partie, même si par nature on s’inspire toujours des travaux précédemment réalisés. De plus, le site sur mesure a l’avantage de n’être dépendant que de l’Equipe de Développeurs, ou du Concepteur de Systèmes d’Information, sans dépendre des mises à jour d’un système tiers et de ses modules, qui peuvent apporter des modifications (casser le système), et des failles de sécurité qui peuvent en découler, et ce du fait que le code soit connu de tous. Le site sur mesure c’est avant tout le développement de fonctionnalités propres aux besoins, sans superflus, répondant aux attentes exprimées et formalisées dans le cahier des charges, selon la demande initiale. Par défaut, le site sur mesure permet aussi de se démarquer du reste du Web en ayant un design que l’on ne retrouvera pas ailleurs, même si chacun s’inspire de ce qui lui plait - il est aussi possible de se démarquer avec un site CMS, sur le plan visuel et fonctionnel -. Un site sur mesure demande un travail bien précis, un travail plus important et plus conséquent qu’un site fait avec un CMS où un grand nombre de fonctionnalités seront déjà développées, un travail plus long, d’où un coût supérieur au site CMS et qui demande la maîtrise des langages de programmation propres au Web. La partie Gestion de Projet décrit étape par étape les principales phases de conception.

Le nombre des différents types de sites ne se limite pas à cette liste non exhaustive, et tout type de développement est réalisable

Il n'y a de limitations au développement d’un site sur mesure que le budget, le temps et la créativité, pour ne pas dire l’imagination

En résumé

Il existe un bon nombre de types sites Web ayant chacun son rôle, que ce soit pour vendre, présenter, promouvoir, rassembler une communauté...ayant chacun leur utilité.

Bien qu’il est possible de mélanger plusieurs types de sites au sein d’un seul, généralement c’est sous la forme de sous-domaines que l’on fera cela.

Le choix du type de site a toute son importance et dépendra de l’information véhiculée et des fins attendues, vendre, se faire connaitre, rassembler, militer pour une cause...

Propriété du code

Peut importe le type de site, dès l’instant qu’il est fait sur mesure pour le donneur d’ordre, c’est lui qui en sera le propriétaire tant du code, du concept que du contenu, selon des critères particuliers. Cela devient son site et le propriétaire du code. Il en est de même dans le cas d’un développement pour un CMS, pour tout ce qui est développé et ajouté au système de base.

Développement
de Sites Web

Trois écran devant une sphère en perspective. La sphère déforme l’arrière plan qui est fait de 1 et de 0, le tout dans des nuances de vert

Rappel

Nous avons vue dans la partie Introduction au Web qu’un Site Web est un ensemble de fichiers stockés dans un dossier sur un ordinateur distant appelé serveur. Le serveur correspond à la machine sur laquelle le site est hébergé, l’hébergement, et l’adresse Web du site correspond au nom de domaine.

Introduction

Le but n’est pas de vous apprendre à developper un site, mais de vous présenter sommairement comment se déroule généralement la partie développement. Quelques notions techniques explicatives vous seront données afin de comprendre les principes de base.

Dans la pratique

Pendant toute la phase de développement, le contact n’est pas rompu avec le maître d’ouvrage. Un accès privé lui est donné afin qu’il prenne connaissance à distance de l’avancée du projet lors de la mise à disposition des parties fonctionnelles. De plus, régulièrement le maître d’ouvrage et le maître d’œuvre sont amenés à se rencontrer pour faire un point sur l’avancée du développement, que ce soit en présentiel ou par visio-conférence: Les Brains Storming.

Retour sur le Cahier des Charges et l’Expression des Besoins

Selon ce qui aura été exprimé lors de l’Expression des besoins, puis concrétisé et formulé dans le Cahier des charges, le type de site dont vous aurez besoin sera une chose décidée. Arrivé cette étape, l’étape du développement, le choix du type de Site et des technologies de développement utilisées seront fermement établis.

Achat du nom de domaine

Le nom de domaine aura été décidé stratégiquement et son achat, sa location, aura été fait dès l’instant que la décision de mettre en œuvre le projet aura été prise.

Le nom de domaine est généralement loué/acheté au nom du maître d’ouvrage (le client). Le maître d’œuvre (le prestataire) est généralement désigné pour interagir avec l’environnement de l’hébergemenent, notamment pour tout ce qui est technique. Mais il se peut aussi que le client préfère laisser à la charge du prestataire tout ce qui concerne l’hébergement

Nom de domaine et adresses mails

Une inadvertance des petites entreprises, artisans, micro-entreprise ou artistes, est, par manque d’informations, de conserver une adresse e-mail avec un nom de domaine gratuit, tel que Gmail, Outlook, Yahoo... au lieu de se créer une adresse à leur propre nom, bien que Google ou encore Microsoft proposent des solutions payantes pour les pros. La location d’un nom de domaine comprend, selon l’hébergeur et la formule choisie, un certain nombre d’adresses e-mails. Certains hébergeurs, tel que o2switch, proposent la création d’adresses e-mails en illimitées. Créer des adresses e-mails avec son nom de domaine permet d’avoir un aspect plus professionnel, plus maîtrisé numériquement parlant, que ce soit pour des flyers, des cartes de visite, des affiches... L’impact d’une adresse e-mail au nom de son entreprise, organisation ou nom propre ne sera pas le même qu’avec une adresse e-mail gratuite, cela pose une marque, celle de l’entité. L’adresse e-mail est, avec le numéro de téléphone, le premier point de contact, sur le Web et dans la vie de tous les jours, sur le plan électronique, lorsque l’on donne sa carte de visite ou quand un internaute se rend sur le site de l’entreprise. Avoir une adresse e-mail pro personnalisée n’empêche pas de conserver son adresse gratuite habituelle pour tout ce qui est en dehors du monde professionnel. Et il est possible de configurer une application sur son smartphone et un logiciel de messagerie sur son ordinateur, Outlook, Thunderbird... pour avoir tous les mails au même endroit, chacun avec sa propre boîte de réception, et faire un transfère des emails de la boîte gratuite vers la pro selon des critères, des filtres.

Une adresse @votre-entreprise.com aura plus d’impact qu’une adresse @gmail.com

Il est possible de créer une adresse e-mail par service et une pour chaque employé, ce qui favorise la communication au sein de l’entreprise

Dans certains cas, offrir une adresses e-mail à vos clients peut-être une solution de fidélisation

Architecture du site: le MVC

Bien qu’il en existe diverses variantes en découlant ou s’en rapprochant, l’architecture du site Web, ou encore de l’Application, voir du logiciel car cette architecture pourra être utilisée dans la majorité des cas, sera ce que l’on appelle une architecture MVC, pour Model-View-Controller, à moins d’une exigence, ou d’un besoin particulier.

Modèle Vue Contrôleur

Définition

Le MVC, de l’anglais Model View Controller, est un motif qui correspond à 3 types d’entités, 3 types de modules pourrait-on dire, chacun étant réprésenté par un fichier qui contient des fonctions, des programmes en rapport avec les fonctionnalités propres à son rôle. Le rôle de chacun est défini comme suit:

Le Modèle

Il correspond aux opérations sur les données: écriture, lecture, modification et suppression des données dans la Base De Données.

La Vue

Elle correspond à l’Interface Utilisateur: une vue correspond à une page. C’est l’Interface Graphique, la page qui est renvoyée à l’internaute.

Le Contrôleur

Il correspond à la logique du site, la logique métier: il s’agit de la gestion des événements, des interactions, de tous les traitement permettant de générer les pages, les vues.

Organisation

Chaque type d’entité est contenue, sous forme de fichiers, dans le dossier de son propre type: le dossier Controllers pour les Contrôleurs, le dossier Models pour les Modèles et le dossier Views pour les Vues.

Objectif

L’objectif premier du MVC est la séparation des différentes couches du site Web, séparer entre elles la partie logique, la partie traitement des données et la partie affichage, l’interface utilisateur. Cela permet l’isolation de chaque partie, permettant ainsi, par exemple, de changer la partie interface graphique sans avoir à changer la logique métier.

Dans la pratique, il y a un modèle de page structuré, appelé Layout, qui recevra le contenu généré par le contrôlleur à partir des données retournées par le modèle, construisant/générant ce que l’on appelera un Template

De même, pour les contrôlleurs, on travaille avec ce que l’on appelle des routes. Les routes permettent de faire correspondre une URI à un contrôlleur et une fonction, même si les noms diffèrent, l’important étant de comprendre le principe Modèle Vue Contrôlleur dans la théorie

Capture d'écran layout Particule Informatique - partie 1

Exemple du layout principal de ce site - partie 1

Capture d'écran layout Particule Informatique - partie 2

Exemple du layout principal de ce site - partie 2

Ainsi, je continuerai à parler de Vue et de Contrôlleur, et non de layout, templates et de routes

Dans la pratique

Chaque appel de page correspondra à un contrôleur et à une fonction dans ce contrôleur. Il y a généralement un contrôleur par page avec des fonctions en rapport aux fonctionnalités de la page. Selon l’action à réaliser, le Contrôleur appellera le Modèle correspondant pour effectuer des traitements dans la Base De Données (écriture, lecture, modification ou suppression). Une fois les traitements réalisés, le Modèle renvoie une réponse au Contrôleur, réponse qui pourra être les données demandées, ou une information indiquant si l’opération s’est bien déroulée ou pas. Le Contrôleur génèrera une Vue en fonction des traitements réalisés avec la réponse du Modèle, Vue qui sera ensuite envoyée, transmise, à l’utilisateur sous forme de page.

Schéma représentant le MVC: l’utilisateur demande une page, le contrôleur reçoit la demande, interroge le modèle qui retourne des données qui servent pour générer la page retournée à l’utilisateur

Fonctionnement de base du MVC

On regroupe généralement les fonctionnalités par nom: pour la page connexion, il y aura la vue connexion, le contrôleur connexion et le modèle connexion - un contrôleur peut appeler n’importe quel modèle en plus du sien, et même ne pas avoir de modèle à son nom et appeler les autres, tel que pour la connexion où les fonctionnalités attachées à la Base De Données pour l’identification et le changement de mot de passe peuvent être celles du modèle profil utilisateur, par exemple. Quand une fonctionnalité doit être réutilisée dans plusieurs contextes, on ne la réécrit pas mais on la rend disponible et accessible -

Exemple

Un internaute s’identifie sur votre e-commerce, il renseigne ses identifiants dans un formulaire sur la page Connexion c’est la Vue Connexion, puis il clique sur le bouton Se connecter ou Connexion. Ce bouton est associé à une fonction qui transmet au Contrôleur Connexion les informations saisies dans le formulaire. Le Contrôleur Connexion récupère les identifiants qui lui sont transmis par le click sur le bouton Se connecter ou Connexion. Le Contrôleur appelle ensuite le Modèle auquel il transmet les identifiants qu’il a reçu. Le Modèle interroge la Base De Donnée pour vérifier s'il existe bien un utilisateur correspondant à l’identifiant renseigné et si le mot de passe est le bon. Si l’utilisateur existe et que le mot de passe est le bon, le Modèle renvoie les données de l’utilisateur, sinon il renvoie l’information indiquant que le couple identifiant/mot de passe n’est pas bon. Ensuite le Contrôleur génère une page en fonction de la réponse du Modèle. Si le Modèle a renvoyé les données de l’utilisateur, le Contrôleur génèrera une page correspondant à l’utilisateur qui vient de se connecter, que ce soit le panier de la commande en cours, la page d’acceuil ou la page profil, et déclarera l’utilisateur comme étant authentifié et connecté. Si le Modèle a renvoyé l’Information indiquant que l’utilisateur n'existe pas, ou que le mot de passe n’est pas le bon, le contrôleur génèrera la page de connexion en indiquant une erreur correspondant au problème, selon la stratégie.

Développement

Le développement du site en lui-même sera réalisés en plusieurs étapes et séparé en plusieurs parties. Dans le cas d’un travail en équipe, chaque développeur aura sa partie à développer, les parties côté serveur et les parties côté navigateur. Dans le cas d’un Concepteur de Système d’Information seul, c'est lui qui développera toutes les parties: c'est ce que l’on appelle un développeur Full Stack. Concernant les parties serveur, il s'agira du développement de tout ce qui concerne les Modèles, pour la gestion des données, et les Contrôleurs, pour toute la logique du site, la logique métier. Concernant les parties navigateur, il s'agira du développement de tout ce qui concerne les Vues: la structure, le design et les effets des pages ainsi que les interactions utilisateur.

La Base De Données

La première étape consiste en la création de la base de données sur l’hébergement. La Base De Données aura déjà été élaborée, par Le Modèle de Données dont la finalité sera de générer un fichier. Ce fichier contiendra le code qui permettra de créer la Base De Données: le SQL. Le SQL est le langage qui permet de créer et exploiter une Base De Données.

Dans certains cas, la Base De Données est créée lors de l’installation/configuration du MVC, tel que pour Symfony par exemple, ou encore pour un CMS

La structure des pages

Selon ce qui aura été définie et exprimé dans Cahier des charges et élaboré sous forme de Modelisation, il s'agira d’écrire le code, le squelette du site et les programmes qui généreront chaque page avec ses différentes zones, ses différents éléments.

Style et interactions

A la structure des pages se joignent le style, les effets et les interactions utilisateur, toujours selon ce qui aura été décidé et définie par les Modèles Graphiques lors de la définition de Interface Graphique et de l’étude l’Expérience Utilisateur.

Dans un projet en équipe, on parlera d’intégration web pour ce qui concernera la partie conception des pages, structure, style, effets, interactions, et leur développement

Le contenu des pages

Le contenu des pages est primordial, car une page, fût elle développée de la meilleure façon, avec une bonne structure et la meilleure expérience utilisateur, si elle n'a pas de contenu, ou un contenu qui n’est pas pertinent, ou non approprié, elle n'aura aucune utilité et aucun impact. Ce travail de rédacteur, qui n’est pas directement lié à celui de développeur, a toute son importance. La rédaction du contenu doit être de qualité, axé sur l’activité de l’entreprise et sur le sujet du site et de préférence exempt de faute d’orthographe. Même si c'est un point des plus important pour le développeur, ce n’est pas sur comment sont écris les programmes que l’internaute qui ne l’est pas portera attention, mais sur la qualité du contenu, du rendu et, bien sûr, de l’Interface Graphique et de l’Expérience Utilisateur.

Les textes

Les textes peuvent être déjà rédigés et fournis par le maître d’ouvrage, et, dans ce cas, ils seront directement intégrés, après relecture. Mais ils peuvent aussi être rédigés en collaboration, voir être totalement laissés à la charge du maître d’œuvre. Dans le cas d’un site e-commerce, les produits ont déjà une description par nature, que ce soit de par un fournisseur, ou découlant directement du catalogue du maître d’ouvrage. Dans le cas de produits venant d’un fournisseur, l’adaptation du texte est souvent nécessaire, ne serait ce que pour se démarquer de la concurence.

Calpin avec un stylo à plume

Les photos

Tas de photos posées en vrac les unes sur les autres

Le maître d’ouvrage peut déjà avoir les photos de ses produits, de son entreprise et de ses employés s'il est prévu qu’ils paraissent sur le site, mais il peut aussi ne pas en avoir ou vouloir en refaire. Le Cahier des charges déterminera si les photos seront à la charge du maître d’œuvre.

L’ajout de publications par le propriétaire du site se fera par le Back-Office, partie que l’on abordera plus loin, l’interface de gestion du site qui peut-être plus ou moins complexe, selon ce qui est demandé

Les vidéos

S'il est prévu d’intégrer des vidéos dans les pages Web, tout comme pour les photos, elles pourront, soit être fournies par le maître d’ouvrage, soit être à la charge du maître d’œuvre que de les réaliser et d’en faire le montage.

Ancienne bande vidéo: une pélicule

Selon ce qui sera prévu dans le Cahier des charges, les vidéos, s'il est prévue d’en intégrer, pourront être hébergées sur une plateforme telle que Youtube, ou un CDN pour le streaming vidéo, et intégrées dans les pages. Elles pourront aussi être directement déposées sur l’hébergement du site et diffusées en streaming adaptatif DASH et/ou HLS, selon les CGU de l’hébergeur

Un CDN pour le streaming est un service qui permet d'héberger des vidéos réparties sur un grand nombre de serveurs, les rendant disponibles de partout, et en les optimisant. Le DASH et le HLS sont deux formats de streaming vidéo qui s’adaptent au débit et à la résolution du terminal, comme le font des plateformes telle que Youtube. Certains hébergeurs le permettent, dans certaines conditions

Hébergement durant le développement

Serveur Local et Serveur Distant

Le serveur distant est le serveur sur lequel est déposé un Site Web en production. Il est cependant possible d’installer une suite logicielle sur un ordinateur qui comprends les serveurs logiques nécessaires au fonctionnement d’un site. On appelle ce type de serveur un Serveur Local. Un Serveur Local s'installe sur l’ordinateur du développeur et « n’est pas » accessible à partir d’Internet.

Le versioning

Le Serveur Local permet de travailler sans être dépendant d’une connexion Internet. Pour un seul développeur et sans nécessité d’un accès de l’extérieur, le développement se passe en local et, une fois le Site terminé, le travail est uploadé sur le serveur distant afin d’être accessible à tous. Pour un travail en équipe, chacun peut travailler avec son serveur local et envoyer ses fichiers opérationnels et testés sur le serveur distant à chaque fois que cela est nécessaire de les intégrer, mais ce serait rapidement l’anarchie quand deux personnes, ou plus, travaillant sur la même partie enverrait chacun ses modifications sans prendre en compte celles des autres...

C'est pourquoi il existe des outils dit de versioning, versionnage en français. Ces outils permettent de gérer différentes versions d’un projet avec les différentes versions des fichiers. Ainsi, un système de versioning est installé sur le serveur distant et chaque développeur, y comprit quand il n'y en a qu’un, installe l’outil de versioning sur son poste de travail en local. Ensuite, à chaque fois qu’un développeur effectue des ajouts de fichiers, ou des modifications dans des fichiers, il les envoit sur le serveur distant, l’outil de versioning, lui, fusionnera les changements apportés avec la version commune de développement. Ces outils fonctionnent selon un système d’historique des modifications. Chacun peut ainsi travailler sans être dépendant d’une connexion Internet, et envoyer ses fichiers quand cela est possible, ou dès que nécessaire.

Une version privée

Avoir une version de développement fermée au public, une version privée qui ne sera accessible qu’après une identification par mot de passe, permet au maître d’ouvrage de pouvoir consulter l’avancée des travaux, du développement... Chaque partie opérationnelle et testée y est intégrée, ce qui lui permet de lui aussi tester. Une fois le produit finit, seule la version de production est ouverte au public.

Les développeurs travaillent avec un système de versionning, généralement Git, ou SVN. Ces systèmes permettent d’avoir un historique des modifications, des évolutions des programmes, permettant de les visualiser, de revenir en arrière, à un état précis, à une date donnée, à n'importe quel instant dans le passé, en restaurant la version voulue des fichiers, en rétablissant certaines modifications, que ce soit de l’ajout ou de la suppression... Les hébergeurs mettent à disposition tous les outils nécessaires pour installer un système de versioning, généralement un serveur Git, mais il est courant d’utiliser un Git public. Les développeurs installent la version du logiciel de versioning sur leur poste de travail et envoient leur modifications vers le serveur, ce qui permet à chacun d’envoyer son travail, quand il faut.

Le Back-Office

Ce que l’internaute ne voit pas

Définition

Le Back-Office, ou Back-End, est la partie du site qui est réservée à l’entreprise, au propriétaire du site. Cette partie n’est pas accessible à l’internaute.

Dans le côté Back, pour arrière, il y a cette notion de ce qui se passe en arrière plan, ou côté serveur, à l’opposé du Front, ce qui se passe côté internaute et est présenté de manière publique. Le Back-Office, en terme Interface Graphique, à une notion d'accès au contrôle, à la configuration du site, l’interface cachée à l’internaute.

Rôle

C’est la partie administration du site, son rôle est d’en assurer la gestion, tant au niveau paramétrages, statistiques, ventes, utilisateurs (internautes et employés), qu’au niveau contenu (édition/publication des pages). Selon le type de site, le Back-Office permettra à son propriétaire des opérations telles que:

  • Gérer les utilisateurs de l’entreprise
    • ajouter/supprimer des utilisateurs
    • attribuer/révoquer des droits aux utilisateurs
    • ...
  • Pour un blog
    • gérer les sujets/catégories
    • ajouter/modifier/supprimer des publications
    • gérer les commentaires, tel que la modération
    • ...
  • Pour un e-commerce
    • ajouter/modifier/supprimer des produits
    • suivre les commandes
    • suivre les ventes
    • effectuer/consulter les statistique
    • gérer ses stocks
    • d’une manière générale
      • consulter et gérer tout ce qui concerne ses clients
      • consulter et gérer tout ce qui concerne son site
      • consulter et gérer tout ce qui concerne son entreprise au sein du site
    • ...
  • Pour un forum
    • gérer les sujets/catégories
    • modérer les messages
    • gérer/modérer les utilisateurs
    • configurer la plateforme
    • ...
  • ...
Dans la pratique

Par défaut, le Back-Office a une architecture d’ordre commune que l’on a tendance à retrouver partout, mais le maître d’ouvrage peut décider d’avoir quelque chose de totalement différent, selon ce qu’il souhaite en fonction de ce qu’il trouvera le plus pratique, le plus ergonomique et le plus adapté à ses méthodes de travail.

Le Back-Office permet au propriétaire du site de l’exploiter pleinement et d’en assurer la gestion en termes administration.

Capture d’écran d’un Back-Office: création de pages, statistiques...

Le développement du Back-Office est donc un mélange de développement Front-End, dans le sens partie Interface Graphique présentée à l’utilisateur de l’entreprise, et de développement Back-End, dans le sens interactions côté serveur pour l’administration du site

Le Back-Office n’est accessible qu’au propriétaire du site et aux utilisateurs auxquels il aura donné des droits d’accès. Selon ses droits, chaque utilisateur pourra effectuer les tâches qui lui seront permises

Le Front-Office

Ce que l’internaute voit et utilise

Définition

Par définition, le Front-Office, (Front-End pour ce qui se passe de front), est la partie publique du site, celle que tout le monde voit, il s'agit de l’Interface Graphique et de ce qui se passe dans le navigateur, publiquement, côté utilisateur.

Le Front-End se compose de la partie accessible à tous et de la partie à laquelle les internautes ayant un compte sur le site peuvent accéder, généralement un espace profile, ou un espace client, partie commune à tous les utilisateurs enregistrés et propre à chacun en fonction de ses données. Qu’il s’agisse de la partie qui ne demande pas d’inscription, ou de celle qui demande d’avoir un compte, ce qui est présenté aux internautes est de l’ordre du Front-End, la partie frontale. Cela correspond à la partie publique du site Web en opposition au Back-Office, qui lui est privé et n’est réservé qu’au maître d’ouvrage. Selon le type de site, le Front-Office peut donc se décliner en deux parties: la partie exploitation/consultation du site, et la partie gestion du profil utilisateur/utilisation des fonctionnalités mises à disposition.

Rôle

Dans un premier temps, il s'agit de l’exploitation de base du site, tout ce qui ne demande pas la création d’un compte

Dans un second temps, si le site offre la création d’un compte utilisateur, tel que pour un site e-commerce, un forum, un réseau social, un Webmail... il y aura la partie profil utilisateur qui sera, en quelque sorte, comme un Back-Office, mais de moindre ampleur puisqu’il ne sera axé QUE sur les données de l’utilisateur, sans possibilité d’accéder et de modifier d’autres données que celles qui sont les siennes. La page profil utilisateur pourra offrir des options telles que:

  • Modifier ses données personnelles
    • mettre à jour son adresse e-mail
    • mettre à jour son adresse postale
    • mettre à jour son adresse de livraison
    • réinitialiser son mot de passe
    • ... tout ce que l’on souhaitera permettre à l’utilisateur de contrôler
  • Consulter ses commandes
  • Gérer ses publications
  • Répondre à ses messages
  • Gérer ses paramètres de confidentialité
  • Télécharger ses données et publications
  • Accéder à sa boîte e-mails pour un Webmail
  • ...
Dans la pratique

Sans vouloir me répéter, le Front-End représente tout ce qui sera accessible par l’internaute, tant sur le plan informations que sur le plan fonctionnalités.

La partie profil peut être plus ou moins complexe, selon les options proposées. Ainsi, l’espace client d’un e-commerce proposera moins de fonctionnalités que pourra en proposer un site tel que Facebook.

Capture d’écran d’un Back-Office: création de pages, statistiques...

La notion de Back-End tient dans ce qui se passe en arrière plan, côté serveur, le Back-Office correspondant à l’Interface Graphique pour piloter ce qui se passe en arrière plan. Sans être accessible par l’internaute, le Back-Office sert à la gestion du site. La notion de Front-End tient en ce qui se passe côté internaute, le Front-Office étant l’Interface Graphique publique, celle de l’internaute. Le Back-Office permet donc d’interagir sur la gestion du site et le Front-Office sur le profil utilisateur/espace client en plus de la consultation de l’information

Back-Office et Front-Office (les environnements graphiques de Dos et de Face pourrait-on dire) sont tous deux affichés dans le navigateur, ayant donc tous deux cette notion de Front dans le sens de ce qui est face à l’utilisateur. L’adresse du Back-Office ne porte pas vocation à être connue du public, pour des raisons évidentes de sécurité, contrairement au Front-Office, qui lui, se doit d’être connu du plus grand nombre

Web Responsive

Adaptation aux différents écran

Définition

Le terme Web Responsive définit les techniques mises en œuvre pour qu’un Site Web s'adapte aux différentes tailles d’écrans.

Objectif

L’objectif est d’avoir un affichage optimisé pour chaque taille d’écran, sans perte de l’information tout en permettant les mêmes fonctionnalités: le but est de favoriser l’Expérience Utilisateur quelque soit le type d’écran.

Dans la pratique

Il s'agit d’adapter l’Interface Utilisateur en réorganisant tous les éléments graphiques visibles à l’écran en adaptant leur taille, leur disposition, voir leur ordre au besoin.

Le Web Responsive n’est pas une seconde version du site, tel qu’on peut le voir pour certaines plateformes qui construisent deux versions d’un même site, la version desktop (la version bureau) et la version mobile.

Il ne faut pas confondre un Site Web Responsive et un site avec différentes versions, même si servir une version allégée pour mobile est une bonne chose

On peut voir si un site est Web Responsive en redimensionant la fenêtre du navigateur: si le site s'adapte et se réorganise parfaitement à la taille du navigateur au fil du redimensionnement, c'est qu’il est Web Responsive. Si il ne s'adapte pas, mais que son affichage sur smartphone est adapté à l’écran du mobile, c'est que le site est conçue en plusieurs versions et qu’au chargement de la page, le type de matériel utilisé est détecté et, selon le matériel, le terminal utilisé (ordinateur, tablette ou smartphone), la version correspondante est renvoyée par le serveur. Cette technique était utilisée avant que l’évolution des langages informatiques, le CSS plus exactement, permettent d’adapter la page en fonction de la taille d’affichage et non en fonction du périphérique (écran)/terminal utilisé. - terminal représente le matériel informatique sur lequel le site est affiché -.

Il est cependant souvent nécessaire de détecter s’il s’agit d’un smartphone, d’une tablette ou d’un ordinateur afin de fournir des fonctionnalités adaptées, ne serait ce que pour un menu ou une barre de navigation particulère, mais le site ou l’application se doit d’être toujours responsive.

Il existe des cas particuliers où le développement d’une version mobile est nécessaire, pour une question d&optimisation (AMP par exemple), et pour une question de fonctionnalités particulières propres aux mobiles, mais pas pour une question de réponse au changement de taille de l’écran ou de redimensionnement du navigateur. Utiliser la détection du type de terminal ne se fait pas pour du Web Responsive, mais pour servir une version mobile, généralement pour proposer des fonctionnalités pour smartphones et/ou tablettes

Bien qu’il soit possible et souvent nécessaire d’avoir plusieurs versions des pages pour être compatible avec un maximum de périphériques et de technologies, la version desktop, bureau/ordinateur est censée être responsive pour les ordinateurs avec de petits écrans. C'est le cas de certaines associations, équipées d’ordinateurs âgés, de pays tels qu’en Afrique, ou encore de particuliers avec des écran à faible résolution. Le serveur détectera qu’il s'agit d’un ordinateur, et non pas d’un ordinateur avec un écran à faible résolution, et servira la page prévue pour un écran plus grand, prévue pour un ordinateur, sans qu’elle puisse s'adapter à l’écran, à la taille du navigateur. Cela aura pour effet de ne pas afficher la page correctement, amenant l’utilisateur à devoir faire défiler constamment la page de gauche à droite et de droite à gauche pour consulter l’information

Pages AMP

En 2015 Google a annoncé un nouveau format de pages, optimisées pour les portables, et qui a vue le jour début 2016: la technologie AMP. Les pages AMP sont des pages réécrites d’une manière allégée afin de garantir un affichage plus rapide sur les smartphones et tablettes, principalement pour la 3G et la 4G, et permet aux sites optimisés d’apparaitre en tête des résultats dans un carrousel, une liste de sites sous forme d’images réduites que l’on peut faire défiler de gauche à droite et vis-versa. Cela demande de créer une seconde version des pages avec le minimum de ressources, pour alléger la taille de la page, ce qui permet de ne charger que ce qui est nécessaire pour chaque page, avec des tailles basses pour les images, par exemple. Cela permet un transfert du serveur et un affichage dans le navigateur plus rapides: le temps de chargement. Mais, bien qu’une version d’un site en AMP soit prévue pour les plateformes mobiles, cela ne retire le fait qu’un site optimisé ergonomiquement se doit d’être développé de manière responsive en ce qui concerne la version traditionnelle des pages.

RETOUR SUR LE DEVELOPPEMENT

Développement Front-End

Bien que toute la structure d’un site et son fonctionnement d’une manière générale soient développés côté serveur, aujourd’hui, avec les performances des terminaux, que ce soit des ordinateurs, des tablettes ou des smartphones, les navigateurs ont les capacités de faire fonctionner des Sites avec des programmes qui leur permettent d’effectuer des opérations proches des logiciels, avec des rendus tout aussi bon. Ainsi, même si la partie serveur reste très importante, car c'est ce qui représente le cœur même du site, la partie navigateur est devenue, dans le temps, plus indépendante, de plus en plus sollicitée, sophistiqué et riche en fonctionnalités, des fonctionnalités toujours grandissantes.

Le HTML, la structure

La structure des pages est écrite en langage HTML comme dit dans l’Introduction au Web. Avec le langage HTML, pour Hyper Text Markup Language, il s'agit de définir, par ce qui est un langage de balisage, les diverses zones, les diverses sections de chaque page. Le HTML ne donne pas d’autre rendu que celui de la structure, il ne fait que placer d’une façon structurelle les zones et éléments des pages. Le HTML permet de définir si une zone sera du texte, une image, un menu ou encore un formulaire, mais il ne fait rien d’autre bien qu’il puisse aussi servir à donner quelque propriétés de l’ordre de la taille, de la couleur, ce qui n’est en soit pas son rôle. Tout ce qui parait sur une page Web est écrit, balisé, en HTML: c'est la structure du contenu des pages, sans mise en forme.

Le rendu d’un Site écrit qu’avec du HTML n’est pas très esthétique à l’oeil et pas du tout Responsive

Le CSS, l’UI et l’UX

Là où le HTML donne la structure du site, le CSS, pour Cascading Style Sheet, Feuille de Style en Cascade, donne le style graphique et une bonne partie de l’Expérience Utilisateur. C'est en CSS que l’on définira les polices d’écriture, les couleurs, les formes, une partie des effets, tel que le survol des éléments par la souris...

Le CSS permet de donner du style à une page. Ainsi, en changeant de style sans changer le HTML on change son design

Le JS, l’UX et les fonctionnalités

Le JS, pour JavaScript, est le langage qui gère les évènements. Les événements sont tout ce qui a attrait aux interactions de et avec l’utilisateur. Le JS permet de déclencher des fonctionnalités lors du click ou du touché sur un bouton, d’une zone, lors du défilement ou du redimensionnement de la page, au survol d’un élément... Le JS permet aussi d’effectuer tous types de calculs d’opérations que l’internaute ne voit pas, et permet aussi de modifier la structure des pages. Le JS se couple très bien avec le CSS pour augmenter ou améliorer l’Expérience Utilisateur. D’une manière générale JavaScript peut intéragir sur toute la page, que ce soit en modifiant la structure, le contenu, la mise en forme tout en communiquant avec le serveur.

JavaScript est un langage puissant qui permet d’effectuer tous types d’opérations, d’effets, de gérer tous types d’évènements et qui permet d’intéragir avec l’internaute au travers de ses actions

Dans une page Web, tout ce qui est de l’ordre de l’interaction sont des événements: chargement de la page, survol d’un élément, click, touché, frappe au clavier...chaque action est gérée par un événement et il existe des événements pour quasiment tout

Livraison du Produit Fini

Définition

La livraison correspond au moment où le Site sera totalement opérationnel, près à être ouvert au public. Il s'agit de la fin du développement. Les différents tests on été fait par le maître d’œuvre durant le développement et il ne reste plus qu’au maître d’ouvrage de décider le passage du Site en mode public une fois les tests d’acceptation réalisés et validés.

Validation

La validation, ou tests d’acceptation, correspond à faire tester le site par le maître d’ouvrage. Il s'agira donc de tester toute la partie client, ce qui sera mis à disposition des internautes, ce qui comprend la partie profil utilisateur, ainsi que la partie privée, le Back-Office avec ses fonctionnalités.

Dans la pratique

Au fil du développement, le maître d’ouvrage aura déjà prit connaissance de l’avancée du projet, du développement, et aura pu tester les différentes parties, notamment via l’accès privé. Ainsi, et notamment au travers des Brains Storming, les réunions régulières, le maître d’œuvre aura fait part des différentes avancées du projet, ce qui indique que le maître d’ouvrage aura déjà connaissance du produit au moment de sa finalisation.

Dans tous les cas, les tests d’acceptation devant être fait avant de lancer le Site en mode public/production, il s'agira de tester tout ce qui ne l’aura pas été, ou devra l’être à nouveau. Reprendre tout ce qui aura déjà pu être validé sans avoir changé durant l’élaboration des diverses pages, pendant la phase de développement, n’est pas toujours nécessaire quand le site doit être rapidement opérationnel et que les tests en amont du développement ont été fait pour raccourcir les délais de mise en production.

La communication régulière entre les deux parties pendant toute la phase de développement, permet d’avoir une validation en temps réel et d’avoir les principales parties, voir toutes, de validées au moment de la livraison, ce qui permet une mise en ligne plus rapide

En résumé

Tout type de site peut être développé sur mesure, ce qui a un coût mais permet d’avoir un contrôle sur tout en termes des programmes.

Une fois développé, avant même d’être livré, le site est testé intégralement, ce qui est déjà fait de bout en bout au fil du développement mais qui demande d’être refait en termes de tests de validation et d’acceptation. Une fois totalement opérationnel, le Site Sur Mesure n’est pas tributaire des mises à jour d’un système particulier. Bien entendu, toutes les fonctionnalités doivent être testées et mises à l’éppreuve, et particulièrement en termes de sécurité, afin de détecter la moindre anomalie, de façon à avoir un produit finit totalement opérationnel. Dans ce sens, le site est surveillé de près pendant son lancement et ses premiers temps d’utilisation, Google mettant des outils à disposition pour faire des statistique sur la première années et les suivantes, trimestres par trimestres, mois par mois, semaines par semaines, au jour le jour.

Un site sur mesure est un site développé selon les besoins et la volonté du maître d’ouvrage. Tout le site en lui même, tant sur le plan des programmes, en terme de fonctionnalités, que sur le plan du design, en terme de graphisme, sera propre au client.

Licences et droits d’utilisation

Une fois le site développé, le client en devient l’unique propriétaire. Bien que les droits diffèrent du logiciel, tout ce qui constitue le site et est issue de la création, programmes, photos, logos, textes, est protégé par les droits d’auteur et de propriété intellectuelle. En devenant propriétaire du site, il devient la propriété exclusive du client et toute reproduction peut être définie comme interdite, selon les termes des droits de licence sous laquelle le code est défini.

Développement d’Applications Web

Suite d’applications en hologrammes

Rappel

L’application Web tel que je tiens à la présenter a un caractère privé: les utilisateurs sans compte ne peuvent s'y inscrire librement et ne peuvent donc pas s'y connecter ; seuls les utilisateurs habilités à l’utiliser, les utilisateurs de l’entreprise, de l’organisation, de l’association, de la communauté y auront accès.

Tout ce qui a été abordé jusqu’à maintenant pour les différents sites Web, en termes de structure, de fonctionnement, d’hébergement, d’interface graphique s'applique à l’Application Web. C'est pourquoi certaines parties ne seront que survolées, d’autres non reprises. Tout comme pour le site Web, l’application est un ensemble de fichiers stockés dans un dossier sur serveur distant et est accessible par son URL, dans un navigateur. De même, la partie gestion/administration sera le Back-Office, la partie utilisateur final sera le Front-Office.

Présentation

Le principe de l’application Web reste le même que celui du site Web: une plateforme accessible de partout et en tous temps, d’un ordinateur, d’une tablette ou d’un smartphone, que ce soit du bureau, de chez soit, en vacances, en déplacement, ou sur le terrain.

Sous-domaines

L’adresse Web de l’Application ne sera pas systèmatiquement le nom de domaine principal, mais un sous-domaine, tel qu’expliqué dans la partie l’Introduction au Web, le domaine principal pouvant être conservé pour le site de l’entreprise.

Dans la pratique

Applications Web et référencement

L’application Web privée ne sera pas référencée, pas indexée par les moteurs de recherches, le but étant de la préserver.

Le Back-Office

L’administration de l’Application se fera via un Back-Office.

Les groupes

Comme pour un système, des groupes d’appartenance définiront les droits utilisateurs.

L’Application Web pourra aussi avoir un accès pour les clients de l’entreprise, tel que pour consulter leur dossier, leurs factures..., toujours en accès privé avec un compte utilisateur Client

Types d’Applications

D’une manière générale, le type d’application sera définie selon les besoins exprimés, en termes du rôle premier et des fonctionalités adjacentes, ainsi que des parties prenantes en termes d’utilisateurs interagissant avec.

Applications NFC
Définition

Le NFC, pour Near Field Communication, Communication en Champ Proche en français, est une technologie sans fil, dite sans contact et d’une portée maximum de 10cm, qui permet d’échanger de l’information entre un tag (une carte ou un badge par exemple) et un terminal NFC. Le NFC si on parle du principe du contact, la NFC si on parle de la technologie. Cet échange d’informations donne généralement suite à l’exécution de fonctionnalités, d’instructions au sein de l’application, et ce dans le but de déclencher une ou plusieurs actions. Le NFC est utilisé au quotidien, tel que pour le paiement en caisse, qui s’est démocratisés dans le début des années 2010, les premiers paiements NFC datant de 2005, par téléphone... On y est aussi habitué pour les parking, pour l’identification et le passage des portes en entreprises, la double authentification, les systèmes de pointage... Le champs d’application du NFC est vaste et permet, par exemple, de faire un lien entre un client, un prospect, ..., et l’application, permettant tant la connexion au système, le calcul du temps du passé à l’ouvrage, la fidélisation, que la commande... Une carte NFC peut être attachée à diverses fonctionnalités, contenir des données chiffrées... Le NFC doit être vue comme un utilitaire associé à l’application, de plus en plus de smartpones ayant cette technologie.

Technologie NFC, une main et un Smartphone
Dans la pratique

Un Tag NFC est une étiquette qui contient un circuit imprimé. Ces tags NFC peuvent être incorporé dans différents supports, tel qu’une carte, au même titre que votre carte de crédit, un badge, un porte clé... Il existe des tag NFC déjà conditionnés, tels que ceux précédemment cités, et d’autres sous forme d’étiquettes autocollantes à coller sur le support de votre choix. Les terminaux, quant à eux, peuvent être un smartphone équipé de cette technologie, ou tout type de terminal prévu à cet effet tel que le point de paiement sans contact d’une caisse enregistreuse.

Aujourd’hui, de plus en plus de smartphones possède cette technologie, il suffit juste de l’activer dans les paramètres du smartphone

Seuls les utilisateurs finaux ayant un smartphone avec cette technologie pourront l’utiliser, ce qui représente un coût pour l’entreprise souhaitant en équiper ses employés

Dessin de l’icone de la Technologie NFC

La technologie NFC peut être utilisée avec n'importe quel type d’application

Champ d’application

Le champ d’application de la technologie NFC est vaste et permet d’effectuer un grand nombre de choses.

Exemple de gestion des interventions

Une entreprise a des clients chez qui elle intervient (services à la personne, plombier, bâtiment...). Cette application permet de gérer les interventions des employés chez les clients de cette entreprise. Chaque client se voit attribué une carte NFC qui leur est associé au sein de l’application. Chaque employé est équipé d’un smartphone équipé de la technologie NFC. Lorsqu’un employé/intervenant arrive chez un client, il met en contact son téléphone avec le tag, la carte NFC, ce qui a pour effet de déclencher le début l’intervention, ainsi que la géolocalisation par exemple. Une fois l’intervention terminée, l’employé passe à nouveau le smartphone au-dessus du tag NFC, ce qui a pour effet de lancer la clôture de l’intervention. L’intervenant est invité à préciser les tâches réalisées, la durée de chaque tâche, ainsi que tous types d’informations complémentaires, rapport sur le déroulement, problèmes rencontrés, satisfaction du client... pour ensuite clôturer cette intervention. L’intervention réalisée est enregistrée dans la Base De Données, avec la durée de chaque tâche effectuée, toutes associées à un tarif, et un taux de TVA le cas échéant. Chaque intervention peut être consultée par la suite. Plus tard, les interventions sont utilisées pour la facturation, les calculs se faisant de manière automatisée, par client, selon de la durée des interventions et des tâches qui y auront été effectuées. La répartition des tâches selon des services est selon les méthodes de travail de l’entreprise, avec des taux horaires ou des prix fixes. Tout comme pour les interventions chez les clients, les intervenants peuvent aussi consulter leurs temps de travail sur diverses périodes.

Application GED
Définition

Une GED est une application de Gestion Electronique des Documents. C'est une application qui permet de centraliser tous les documents d’une entreprise sur un serveur, au même endroit, en les catégorifiant par types de documents avec des critères pour les filtrer, les afficher, leur accès étant réglementé par les droits d’utilisateur.

Schéma représentant un système de Gestion Electronique de Documents: divers types de documents sont reliés entre eux dans l’environnement de stockage

GED

Dans la pratique

Le fait de centraliser les divers documents de l’entreprise permet leur accessibilité de n'importe où, tous services confondus: transmission et mise à disposition des documents de l’entreprise, plans, pièces comptables, feuilles d’intervention, factures, dossiers clients, contrats de travail... Cela permet à chaque service une meilleure gestion des fichiers, une meilleurs communication: accès, échanges, dépos, modifications, sécurité, authenticité... Les arguments sont nombreux, notamment en termes de centralisation de l’information, des données.

  •  Intégrité des documents
  •  Unicité des documents
  •  Sécurité/protection des documents
  •  Standardisation des documents
  •  Versionnage des documents
  •  Réduction des coût
  •  Réduction des délais
  • ...

Pièces comptables, contrats de travail, photos prises sur le terrain de l’avancée des travaux, déclaration d’arrêt de travail, photos de prototypes, dossier clients, ou bénéficiaires pour une association... tous les documents de l’entreprise sont stockés dans la GED

Nombreuse sont les entreprises qui travaillent avec une GED

En résumé

Contrairement au logiciel qui est restreint à un système d’exploitation et est sujet à une installation sur chaque poste, l’Application Web, elle, est autonome en ce qu’elle ne demande pas d’être préalablement installée. De plus, elle reste accessible de partout, via tous types de terminaux, peut importe le type et la marque du terminal.

Les Application Web couvrent un large domaine. Il n’y a à vrai dire que peu de limites et ce qui n’existe pas est réalisable, tout ce qui peut vous permettre d’Informatiser vos traitements, d’automatiser vos tâches, et ce à quoi vous n’avez pas pensé. L’évolution des terminaux, en termes de performances, ainsi que des connexions Internet, en termes de débit, de rapidité de transmission fait qu’aujourd’hui il est possible de développer des Applications Web dans bien des domaines pour effectuer bien de tâches.

Dans le temps, une application peut être amenée à évoluer, selon ce que l’on souhaitera y ajouter, sous forme d’ajout de fonctionnalités, d’extensions, de modules, que ce soit en sous-domaine ou pas.

Tout comme pour le logiciel sur mesure, selon ce qui sera prévu initialement dans le Cahier des Charges et formalisé par contrat, une fois développée, le commanditaire de l’application, le maître d’ouvrage, en deveniendra l’unique propriétaire. Tout ce qui constitue l’application lui appartiendra, protégé par les droits de la propriété intellectuelle. Un contrat de confidentialité peut aussi être établie entre le maître d’ouvrage et le maître d’œuvre.

N'hésitez pas à me contacter pour que j'étudie avec vous ce dont vous avez besoin afin de trouver la solution adéquate en réponse à vos attentes.

Afin d’avoir un exemple avec la technologie NFC, vous pouvez regarder la vidéo suivante qui porte sur la présentation d’une Application Web de gestion des interventions, gestion des dossiers bénéficiaires, gestion des utilisateurs, gestion des congés payés et de facturation déclinable selon divers types d’activités. La déclinaison dans la vidéo est pour le service à domicile (cliquez sur la roue dentée Paramètres et choisissez la résolution HD pour une meilleure quatlité d’image):

Développement d’Applications Android

Logo Android au coin en bas à droite sur fond gris

Android, le système Linux pour smartphones

Qu’est ce qu’Android

Tout comme Windows ou iOs, Android est un système d’exploitation, c’est-à-dire un environnement prévu pour certains types de matériel, smartphones, tablettes, assistants personnels, montres et bracelets connectés... Cet environnement permet d’utiliser le matériel, au travers d’applications, et d’accéder à ses fonctionnalités natives, capteurs, GPS, appareil photo, micro... Android est un système développé par Google et qui est basé sur le système Linux. Android est un système simple d’utilisation et plus ouvert, plus libre, que iOs.

Qu’est-ce qu’une application Android

Une application Android est un logiciel développé pour Android, ce qui indique qu’elle ne pourra être installer que sur des appareils mobiles fonctionnant sous ce système, et selon la version minimale prévue. C’est une application qui permettra à l’utilisateur d’effectuer différentes tâches, tel que pour un logiciel pour PC ou une application Web, avec en plus tout ce que permet un smartphone en terme d’appareil mobile. Il sera donc possible d’utiliser les différents composants matériels de l’appareil (capteurs, gyroscope, appareil photo, GPS, micro...), allant de l’envoie et la consultation de mails à la prise de photos, en passant par l’envoie de SMS/MMS...tout ce que permet un appareil Android, et vous devez déjà connaître un bon nombre d’applications.

Une application écrite dans un langage de programmation pour Android pourra être « convertie » (compilée) pour iOs, et vis-versa, avec souvent des modifications

Rapport avec le site Web

La différence majeure entre une application Android et un site Web tient dans le fait que le site ne requiert aucune installation autre que le navigateur. Là où le site Web reste sur le serveur et renvoie des pages qu’il sert à l’internaute dans le navigateur, l’application mobile Android, elle, doit être installée sur le smartphone pour pouvoir fonctionner.

Principe

L’application prête à être installée est contenue dans un package que l’on appelle fichier APK. Pour être accessible au plus grand nombre, ce fichier est hébergé par Google dans leur espace de stockage d’applications, le Play Store que vous connaissez certainement. Les constructeurs de smartphones peuvent aussi avoir leur propre store, tel que le Galaxy Store de Samsung, et présenter eux aussi des applications. Cependant, il est aussi possible de distribuer au sein d’une entreprise, d’une organisation, d’une communauté le fichiers APK d’une application privée en le mettant à disposition sur l’un des serveurs de l’entreprise via un lien de téléchargement, ou sur tous types de support.

Logo Android APK

Pour installer une application via un fichier APK, il faudra au préalable avoir activé le mode developpeur qui active les options de développement pour ensuite autoriser l’installation des APK

APK et le Web

Robot Android qui tient un carton rempli d’apllictions prêtes à êter extraites

Bien qu’il existe des sites qui proposent les mêmes applications que sur le store au format APK, et d’autres qui n'y sont pas, pour des raisons de sécurité, il est déconseillé d’installer sur son smartphone une application sous cette forme provenant du Web dont on ignore la provenance. Non pas que tous les APK soient systématiquement des applications contenant des programmes malveillants, mais, dans bien des cas, l’utilisateur risque de se retrouver avec une application malveillante ou tout au moins incompatible avec son système, à moins de savoir ce qu’il fait. Il y a des cas bien particuliers où un utilisateur averti pourra installer une application venant d’une autre source que les stores, sur un site proposant une application particulière, telle qu’une appli qui n’est plus prise en charge avec la version actuelle d’Android sur le smartphone, ou encore tel que pour rooter son téléphone, mais il s’agit de cas bien précis qui échappent à l’utilisation normale et est aux risques et périls de l’utilisateur. Cela ne veut pas dire que quelqu’un qui sait ce qu’il fait et vous propose quelque chose de non malveillant et d’opérationnel mettra votre smartphone en danger, mais c’est ce que prétendront les sites falacieux qui proposeront des applications malveillantes. D’une manière générale, c’est à partir des Stores qu’il faudra installer une application, et bien entendu l’Application développée pour le maître d’ouvrage par le maître d’œuvre.

Il existe d’autres stores que le PlayStore de Google, tel que F-Droid ou encore Aptoide pour ne citer qu’eux, mais il s’agit de store, pas de sites aléatoires qui proposent des APK d’où l’utilisateur ne connait toujours la provenance et qui peuvent usurper les véritables applis. Après, il est intéressant de se renseigner sur la confidentialité des données que transmettent les applications Android du PlayStore, notamment par les Conditions Générales d’Utilisation au moment d’accepter, mais c’est un autre sujet...

Dans la pratique

Fonctionnement

Les applications accèdent elles aussi à un serveur pour stocker leurs données, bien qu’il existe des applications dite standalone, c'est à dire qui écriront toutes leurs données sur l’appareil et qui n'auront pas besoin d’accéder à un serveur pour fonctionner. Ainsi, à la différence d’un site Web, l’application Android étant installée sur le smartphone ou la tablette de l’utilisateur, elle n’aura pas toujours besoin d’une connexion pour fonctionner, si ce n’est pour récupérer des données et en transmettre pour se tenir à jour. Selon les fonctionnalités de l’application, certaines auront besoin à tout prix d’une connexion, c’est le cas des applications dites client-serveur et qui mettent en relation l’utilisateur avec ses données personnelles, telle que les banques en ligne, les organismes tel que la Sécurité Sociale, ou encore les lecteurs d’emails et les réseaux sociaux. C’est aussi le cas d’applications permettant d’écouter de la musique en ligne ou de consulter des vidéos, tel que pour Youtube, tout comme c’est le cas de l’application d’une entreprise qui demande une communication avec le serveur pour mettre à jour les données du terrain, bien qu’il est généralement prévue qu’une telle application continue de fonctionner si la connexion est perdue et de transmettre ses données dès que la connexion est rétablie.

Langages de programmation

Les Applications Android sont développées à l’origine avec l’environnement de développement Qt de Nokia et le langage C++. Puis Android Studio, permettant de développer avec le langage Java. Qt et Android Studio permettent de concevoir les interfaces graphiques, les accès aux Bases De Données et de développer tout le système de l’application d’une manière générale. Dans le temps, d’autres langages reconnus dans l’environnement Android Studio ont vue le jour, tel que le Kotlin et le Go, le Go étant un langage mis au point par Google. Xamarin, utilisant le C#, permet aussi le développement d’Application Android.

Ces langages de programmation étant ceux utilisés pour le développement Android, il est possible de convertir une application écrite avec l’un d’entre eux en application iOs, ou Windows Mobile. Ce n’est pas toujours une tâche des plus simples, mis à part pour le C++, mais cela permet de ne pas à avoir à réécrire tout le code d’origine. Cependant, Xamarin permet l’écriture de code multiplateformes.

Android utilise les langages Java, Kotlin et Go, et toujours C++ ; iOs utilise les langages Swift et Objective C

Il exsite des Applications Web qui permettent de créer rapidement des Applications Android, mais elles n'ont pas les mêmes performances qu’une Application développée avec Android Studio et ses langages de prédilection

Il exsite aussi des framework, principalement JavaScript, qui permettent de développer plus rapidement des Applications Android

Ne pas confondre langages de programmation et Framework JavaScript: ces Framework sont tous du JavaScript. Ainsi, les divers Framework JavaScript pour Android ne représentent pas plusieurs langages mais plusieurs cadre de travail offrant des fonctionnalités pour les développeurs

Développement

Tout comme pour un site ou une application Web, le développement sera fait selon le Cahier des Charges, avec des retours sur l’état du développement au travers une communication régulière et des tests après la finalisation de chaque partie, de chaque étape, chaque module, chaque fonctionnalité.

Communication

Element essentiel d’un projet bien conduit, la communication reste primordiale. Cependant, contrairement au Site et à l’Application Web, qui eux seront en ligne d’une manière privée pour effctuer des tests à distance, l’Application Android ne sera pas accessible par le maître d’ouvrage, bien qu’il puisse avoir accès à l’APK pour la télécharger et l’installer sur ses équipements. Il s'agira donc de lui faire tester l’Application lors des diverses réunions, tant pou lui faire voir l’avancée du projet que pour avoir son avis.

Applications Web Progressives

Main ouverte dans laquelle se trouve un mini pc portable duquel sortent un certain nombre d’applications

Les Applications Web qui utilisent les fonctionnalités natives du smartphone

Les PWA

Présentation
Histoire

Avec l’arrivée du Web Responsive en 2010, les sites ont commencé à pouvoir s’adapter, en termes d’interface graphique, à tous types d’écrans, de supports dirons nous, ce qui a permis de ne plus avoir à développer une version normale d’un site et sa version mobile. Cependant, les sites ne pouvaient toujours pas vraiment rivaliser avec les applications mobiles, du fait de ne pas pouvoir utiliser les fonctionnalités natives des smartphones et des tablettes, telles que l’accès à l’appareil photo, l’accès au GPS, l’accès aux différents capteurs...

En 2015, on a commencé à parler des Applications Web Progressives, les PWA, un principe qui consiste à utiliser les concepts du Web pour les mobiles tout en permettant une indépendance de la connectivité, le Web avec le couple expérience utilisateur mobile et installation locale: l’installation du site sur le mobile de l’utilisateur, smartphone ou tablette, permet de profiter de ses fonctionnalités, même en cas de perte de la connexion Internet. - Nous avons vue dans la partie Introduction au Web qu’un site est stocké sur un serveur et non sur le terminal de l’internaute. L’Application Web Progressive permet de conserver le site, ou une partie, en local, comme une application Android -

En 2018, l’annonce par Google du projet Fugu ouvre de nouvelles perspectives sur le développement Web, un projet mis en œuvre pour permettre aux Applications et Sites Web d’utiliser les fonctionnalités natives des appareils Android:

« Les applications Web devraient pouvoir faire tout ce que les applications natives peuvent faire. Nous voulons vous permettre de créer et de fournir des applications sur le Web ouvert qui n'ont jamais été possibles auparavant. » - Annonce Google -

Depuis, les API, Interface de Programmation d’Application, permettent de développer une application Web qui utilisera les fonctionnalités natives des appareils Android, ce qui permet d’exploiter pleinement tous ses composants, appareil photo, micro, capteurs, GPS...

Main ouverte dans laquelle se trouve un mini pc portable duquel sortent un certain nombre d’applications
Dans la pratique

Les PWA permettent à une Application Web de se comporter comme une Application Android, combinant le meilleur des nouvelles technologies web et des applications natives, donnant à l’utilisateur la même UX (Expérience Utilisateur) qu’une Application Android.

Les avantages
Une seule Application PWA pour tous

Une seule application est développée, c’est la même qui fonctionnera sur toutes les plateformes, Web, Android et aussi iOs. Ainsi, plus besoin d’avoir une version Android, une version iOs et une version Web d’une application: la même accessible et installable partout.

Le référencement de l’Application

Comme pour un site Web, l’application PWA pourra être référencée sur les moteurs de recherche, ce qui indique qu’elle sera accessible aussi par les internautes sur ordinateurs et non pas que dans les store.

L’Application PWA est disponible hors-ligne

Là où une application Web traditionnelle n’est accessible qu’en ligne, les données de la PWA peuvent être conservées sur l’appareil, qu’il soit Android, iOs ou Windows Mobile. Cela permet d’accéder à l’application sans être connecté à Internet: il faut bien sûr pour cela y avoir eu accès une première fois en étant connecté au Net. Lors de chaque reconnexion, les données stockées sur l’appareil seront automatiquement mises à jour.

La sécurité

Pour fonctionner, une PWA devra être accessible exclusivement en HTTPS, qui garantie une communication chiffrée, empêchant ainsi l’interception des communications par ceux que l’on appelle The Man of The Middle, ou The Middle Man, l’homme du milieu, ces gens mal intentionnés, et généralement compétant, qui détournent votre communication avec le site d’origine dans le but de vous pirater.

Exemple

Avant de devenir X, Twitter Lite est une Application Web Progressive offrant aux utilisateurs une meilleure Expérience Utilisateur depuis leur mobile.

Cette Application a concurencé l’application native origninelle de Twitter tout en prenant moins de place sur le smartphone ou la tablette de l’utilisateur. L’application a pu bénéficier d’une réelle augmentation d’utlisation sur mobiles comparé au site initial.

Deux téléphones avec chacun une application: à gauche la progressive et à droite la native, représentant la rivalité

En résumé

Une Application Android est développée exclusivement pour les systèmes Android.

On peut convertir une application Android en Application iOs, ce qui évite d’avoir à réécrire l’intégralité de l’Application.

Contrairement à une Application Web traditionnelle, l’Application Android aura accès à toutes les fonctionnalités natives du mobile, appareil photos, capteurs, micro... et proposera une Interface Utilisateur propre à l’appareil.

Cependant, il est maintenant possible de développer pour les smartphones une Application qui ne sera pas que pour les smartphones, une application dite Application Web Progressive, une Application Web qui pourra s'installer sur le smartphone, la tablette, et sera accessible sur les ordinateurs, PC ou Mac, et accédera aux fonctionnalités natives du smartphone, permettant de faire tout ce qu’une Application Android traditionnelle pourrait faire, mais avec la compatibilité et l’accès par le Web en plus.

Une Application Web Progressive aura l’avantage d’être accessible de n'importe quel type d’appareil, iOs, Windows, ordinateur, et Android.

Développement Logiciel Windows

Logo Microsoft en emprunte 3D sur fond gris

Qu’est ce qu’un logiciel ?

Avec l’arrivée des smartphones, la définition du logiciel a quelque peu été remplacé d’une manière générale par le terme application. Cependant, le terme application existait déjà et le logiciel, dans son ensemble, pourrait se cantonner à l’ordinateur, bien qu’il soit aussi possible de parler d’application pour Windows. Sur le fond, on pourrait considérer que la frontière entre logiciel et application est fine.

Sans entrer dans les détails, une application reste du domaine du logiciel

L’environnement de développement Delphi utilise le terme application pour parler des applications mobiles comme des logiciels ordinateur

Clavier d’ordinateur portable avec des icônes d’applications en hologrammes qui flottent au-dessus

La notion logiciel/application est bien souvent du domaine de l’abstraction

D’une manière générale, le logiciel représente tout ce qui est de l’ordre d’un ensemble de programmes, de fonctionnalités, permettant d’assurer une tâche principale avec les fonctionnalités qui en découlent: traitement de texte, logiciel de comptabilité, logiciel de gestion en tous genres, logiciel de retouche d’images, logiciel de création 3D, logiciel d’imprimante... même un jeu vidéo est un logiciel

Ainsi, et juste pour différencier, on parlera de logiciel lorsqu’il s’agira d’un ensemble de fonctionnalités sur un ordinateur, PC ou Serveur, et d’application lorsqu’il s’agira d’un ensemble de fonctionnalités sur smartphone ou accessible par le Web.

La suite bureautique Office de Microsoft est une suite logicielle, regroupant plusieurs logiciels, ayant chacun leur champ applicatif, leur fonction première, au sein desquels on peut développer des applications, avec le langage de programmation Visual Basic pour Application, VBA.

Il est donc possible de développer une application au sein d’un logiciel. Dans ce cas, c’est le logiciel qui fournira le contexte d’exécution pour l’application comme le navigateur le fourni pour un site Web

Contexte

Tout comme le site ou l’application Web ont besoin de leur environnement pour fonctionner, le logiciel a besoin lui aussi d’un environnement pour fonctionner, pour s'exécuter, le système d’exploitation, un ensemble de fonctionnalités regroupées et permettant au matériel de fonctionner.

Tout comme le navigateur est le logiciel au sein duquel s'exécute un site ou une application Web, le système d'exploitation (Windows, MacOS, Linux) est l'environnement au sein duquel s'exécute tout ce qui est du domaine applicatif, programmes, logiciels, applications

Exemple

Sous Excel, il est possible de développer des applications avec des formulaires, permettant de créer automatiquement des tableaux, d’y insérer des formules de calcul, entrer et modifier des données... automatiser les tâches d’une manière générale, tel que pour effectuer des recherches, récupérer les données d’une Base De Données pilotée par Access pour les exploiter dans les feuilles de calcul au sein d’un classeur et transmettre à Word celles nécessaires pour effectuer du publipostage...

Les logiciels Office ont fait leur application pour Android, l’application ayant moins de fonctionnalités que le logiciel Windows

Icones de la suite logicielle Office 365 avec les logiciels OneDrive, Excel, Outlook et PowerPoint

Avec Office 365, Microsoft offre la version logicielle, au format Windows, et la version Applications Web de ses logiciels avec aussi les applis smartphones

Dans la pratique

Droits d'auteur

D’une manière générale, les logiciels sont soumis à des droits d’auteur, les droits de propriété intellectuelle, qui reviennent au développeur, à l’entreprise qui développe le produit, ou à l’entreprise qui commandite le développement: ils indiquent à qui appartient l’applicatif, le code source intégral. L’utilisation d’un logiciel est réglementé par la ou les licences d’utilisation, qu’il s'agisse d’un logiciel libre ou pas, licences qui confèrent le droit d’utiliser le logiciel. C'est celui qui détient les droits d’auteur qui déterminera les types de licences d’utilisation.

Selon les accords déterminés dans le Cahier des Charges et formalisés par contrat, les droits d’auteur peuvent appartenir au maître d’ouvrage qui devient le propriétaire du logiciel, à moins qu’il en soit convenu autrement

  • La licence commerciale

    Dans ce cas, le logiciel est règlementé par une licence d’utilisation et les droits d’auteur. Cela indique que l’entreprise qui développe le logiciel, ou l’entreprise maîtresse d’ouvrage qui est à l’origine du produit, en est l’unique propriétaire et qu’elle concède des licences d’utilisation, généralement payantes. Ces licences sont par nombre de postes ou d’utilisateurs, et/ou par périodes, voir à vie, licences vendues à chaque entreprise, ou utilisateur, qui souhaite utiliser ce logiciel.

  • La licence free software et la licence freeware

    Ce sont les licences qui permettent d’utiliser le logiciel gratuitement. Le logiciel ne demande aucun achat mais peut tout de même être soumis aux droits d’auteur, le copyright, en ce qui concerne la reproduction.

  • La licence shareware

    Dans ce cas, la version de base du logiciel prévoit d’utiliser une partie des fonctionnalités gratuitement indéfiniment, voir toutes les fonctionnalités du logiciel mais pendant une durée de temps définie. Ce sont souvent des versions d’évaluation, des versions de démo qui demandent l’achat d’une licence pour bénéficier de la version complète sans limite de temps, ou selon une durée prédéfinie.

  • Le logiciel propriétaire

    C'est le logiciel propre à l’entreprise, développé en interne ou par un prestataire de service, et c’est de ce dernier dont il s’agit, le logiciel abordé ici.

Dès l’instant qu’une entreprise, ou un particulier en ayant les moyens, se fait développer un logiciel spécifique, un logiciel sur mesure, un logiciel qui ne sera que pour le maître d’ouvrage, les droits d’auteur lui reviennent: cela devient sa propriété, le code source lui appartient puisqu’il a payé le maître d’œuvre pour lui développer son produit selon sa vision. Le maître d’ouvrage n’est donc assujetti à aucune licence d’utilisation, que ce soit en termes de nombre de postes, d’utilisateurs, ou en termes de durée, puisque le produit lui appartient. De plus, le contrat peut prévoir de ne pas reproduire le même logiciel pour la concurrence, ou pour une entreprise du même domaine et n’ayant pas eu la pensée, l’idée d’un tel logiciel.

Dans des cas bien particulier, le maître d’œuvre peut signer un contrat de confidentialité et un contrat d’exclusivité entre lui et le maître d’ouvrage, ce qui indique que pendant un temps défini, il n’aura pas le droit de reproduire le même produit, ni même communiquer à ce sujet

Un plan de travail blan vue de profil trois quart dans un laboratoire. L’environnement est blanc, un homme, en costume sombre, porte un téléphone dans la main droite et tape sur le clavier de l’ordinateur portable posé est en face de lui sur le plan de travail. Un autre homme, en blouse blanche, au bout du plan de travail interagit avec son smartphone
Compatibilité

Nous avons vue précédemment qu’une application Android est écrite, et compilée, pour le système Android.

Pour le logiciel, il sera développé et compilé pour un type de machine, pour un type de processeur plus exactement, compatible avec plusieurs versions d’un système. C’est le cas des logiciels qui sont compilés pour les processeurs 32bits et compilé pour les processeurs 64bits, tout en étant compatibles avec les systèmes Windows, 7, 8, 10 et 11 ainsi que pour les versions Windows Serveur.

Langages de programmation

Sous Windows, les langages de programmation qui peuvent être utilisés pour développer un logiciel sont bien plus nombreux que pour Android, et certains, tel que c’est le cas pour le langage Java, permettent même de transcoder le code source dans un dans un langage intermédiaire, le bytecode, qui pourra fonctionner sur diverses plateformes, Windows, Linux, macOs, avec peu ou pas de modifications, en installant au préalable la machine virtuelle Java.

Les principaux langages de programmation sous Windows sont:
  • Le C et C++, avec un éditeur de texte, avec un IDE, ou avec l’environnement Qt
  • Le C#, avec un éditeur de texte ou avec l’IDE Visual Studio
  • Java avec un éditeur de texte ou avec un IDE tel qu’Eclipse ou Netbeans
  • Le Pascal Objet avec l’environnement Delphi
  • Visual Basic avec VB ou l’environnement VB.Net de Visual Studio

Ce ne sont que les principaux selon mes connaissances, mais il y a d’autres langages, les plus performants étant le C++, le C#, Java et Delphi (Pascal Objet).

Java, bien que puissant en soit et utilisé dans de nombreux secteurs d’activités, tel que la banque, est un langage qui reste à part du fait de devoir nécessairement l’installation de la Machine Virtuelle Java pour s’exécuter, la JVM, ce qui n’est pas un runtime, une suite de programmes et bibliothèques mais bien une machine virtuelle.

Avant même d’être un langage, Java est une machine, tel qu’un PC est une machine. Pour Java, c’est sous la forme d’une machine virtuelle que la machine existe, du fait qu’il n’existe pas d’ordinateur Java. Il faut donc installer la JVM, Java Virtual Machine, pour pouvoir exécuter le code précompilé en bytecode, ce qui peut représenter un certain avantage quand on sait que le même code source fonctionnera indépendamment sur n’importe quel système sur laquelle la JVM est installée

L’IDE, pour Integrated Development Environment, Environnement de Développement Intégré en français, est un logiciel de création d’applications qui rassemble des outils de développement fréquemment utilisés par un langage au travers une seule interface utilisateur. Un IDE peut généralement prendre en charge plusieurs langages de programmation

Les RAD

Un RAD, pour Rapid Application Development, Application de Développement Rapide en français est un environnement propre à un ou plusieurs langages de programmation qui permettent de développer rapidement une application, un logiciel, avec la construction des Interfaces Graphiques en déposant les contrôls à la souris, avec des connexions simplifiées aux Base De Données et une assistance intelligente du code. Cela demande toujours de savoir développer, mais beaucoup de choses sont simplifiées et permettent de gagner du temps.

C'est le cas de Qt, Delphi, RAD Studio ou encore Visual Basic.

Logiciels vs Applications dans le navigateur

Les logiciels développés avec les langages précédemment cités ont leur propre environnement d’exécution. Un logiciel, qu’il soit sous la forme d’un exécutable traditionnel, un fichier « exe », ou qu’il soit un exécutable Java, un fichier « jar », aura son environnement d’exécution, sa fenêtre principale.

A contrario, une application Web aura besoin de l’environnement du navigateur pour fonctionner. C’est le navigateur qui sera la fenêtre d’exécution de l’Application. NodeJS, là encore, permet des choses supplémentaires, mais ce n’est pas le sujet...

Types de logiciels

En termes de Systèmes d’Information, il est possible de développer tous types de logiciels, bien qu’il existe déjà sur le marché certainement un logiciel qui répondra à vos attentes. Cependant, un logiciel peut avoir trop de fonctionnalités qui ne vous serviraient pas ou, au contraire, ne pas avoir les fonctionnalités dont vous avez besoin.

C’est là que le développement sur mesure entre en jeu pour vous faire développer le logiciel qui vous conviendra exactement, client-serveur ou standalone, et l’intégrer à votre Système déjà en place.

Dans bien des cas on parlera de Progiciel.

Manuel utilisateur

Tout logiciel qui se respecte se doit d’avoir un manuel utilisateur afin que chacun puisse s’y référer afin de savoir comment effectuer telles ou telles tâches, utiliser telle ou telle fonctionnalité. De plus, l’assistance utilisateur est primordiale et est une chose à prendre en compte.

Livraison du produit finit

Tout comme pour les autres types de développement, les Brain Storming auront leur importance. De plus, dès que validées par le maître d’œuvre, les parties développées sont présentées et faites testées par les futurs utilisateurs, les divers acteurs que représentent les parties prenantes.

Durant toute la durée dû projet, que ce soit par des tests de faisabilité ou des tests d’acceptation, les tests réalisés par le maître d’œuvre font partie intégrante du développement.

En fin de projet, bien que les différentes parties déjà été testées auront toutes été validées par le maître d’œuvre durant le développement, les tests d’acceptations par le maître d’ouvrage porteront sur l’ensemble du produit. Un accompagnement durant la phase d’installation, de transition et de prise en main sera prévue, le but étant d’accompagner les utilisateurs dans la découverte et l’apprentissage de leur nouveau logiciel, tout en ne pénalisant pas la production de l’entreprise.

Le développement d’un logiciel étant une aventure à long terme, l’assistance utilisateur est omniprésente.

Cycle de tests TDD en mode agile. Chaque phase de développement est comprit dans un cycle de tests

Les test durant les phases de développement par les développeurs reste un sujet à traiter à part entière: il ne peut y avoir de bons résultats de développement sans tests

En résumé

On distingue le logiciel Windows de l’application Smartphone principalement par ses fonctionnalités propres au système, la version application smartphone d’un logiciel ayant généralement moins de fonctionnalités, ce qui n’est pas systématique. Tout comme l’application Android est prévue pour les plateformes mobiles, le logiciel est conçu pour les ordinateurs, avec la possibilité de le rendre portable pour divers systèmes, 32bits, 64bits, Linux, ARM...

Le logiciel est fait pour répondre à des attentes et un besoin spécifique, il fonctionne généralement lui aussi en client-serveur, stockant ses données de fonctionnement en local, sur la machine où il est installé, et accédant aux données partagées de l’entreprise via le serveur où est stockée la Base De Données.

Un logiciel peut être de diverses natures, gestion des stocks, facturation, planification, congés payés, logiciels RH..., utilisant la visioconférence, ou pas, ..., en lien avec l’application smartphone, ..., et ce toujours à l’image et selon les besoins de l’entreprise, selon les méthodes de travail et le fonctionnement interne du maître d’ouvrage.

Le logiciel appartiendra au maître d’ouvrage et il en sera le seul propriétaire, à moins qu’il ne s’agisse d’un projet destiné à être diffusé.

Développement Logiciel Linux

Ecusson Linux style FBI avec Tux, le pingouin mascotte du système

Tux, la mascotte de Linux

Qu’est ce qu’un logiciel Linux ?

Mise à part des différences et caractéristiques propres au système d’exploitation Linux, tant par rapport à son noyau qu’à son système de fenêtrage, les gestionnaire de fenêtres (Windows Manager en anglais) et aux différentes interfaces graphiques que l’on peut choisir, le logiciel Linux reste en soit de la même nature que le logiciel Windows, bien qu’il existe des différences notables, notamment sur le mode de distribution et d’installation, voir de conception.

Tux, la mascotte Linux en version Jeidi

Les principes de développement d’un logiciel Linux sont plus ou moins les mêmes que le logiciel Windows. Il existe bien sur des différences fondamentales, tel que pour le multitâche, la gestion de la mémoire, le système de fichiers... qui sont propres à l’environnement Linux en lui-même et au niveau des langages utilisés, selon les bibliothèques, mais dans le fond, le processus de gestion de projet restera la même et les phases de développement aussi. Ce qui pourra changer c’est l’environnent de travail pour le concepteur, ou les équipes de développeurs, les bibliothèques des langages et les outils utilisés, mais d’une manière générale, bien que pouvant être plus complexe à mettre en œuvre, ce qui est réalisable pour Windows l’est aussi pour Linux.

Il existe des particularités et des différences, mais cela restera du domaine des développeurs et de l’administrateur réseau

Sous Linux, on pourrait considérer que plus de choses puissent être réalisable, ou, au contraire, que moins le pourraient, mais en fait non, bien que Linux ait des avantages certains. Le sujet n’étant pas le système en lui-même mais le logiciel, les différences entre ces systèmes ne seront pas abordées, différences qui font que, dans bien des cas, Linux est un système bien plus performant, plus stable lorsqu’il est correctement paramétré, mais qui peut dérouter, offrant plus de possiblités dans certains domaines en sachant que les environnements graphiques ont plutôt bien évolués dans le temps et n’ont rien à envier aux systèmes Microsoft.

Noyau Linux et distributions

Bien que ce ne soit pas le sujet, il faut distinguer le système en lui même que l’on appelle le noyau Linux, le coeur même du système, et la distribution qui sera construite par dessus, faisant ce que l’on pourrait appeler une version mais est une distribution, sur laquelle peuvent se greffer des systèmes de fenêtrage. Ainsi, Linux en tant que noyau ne prend quasiment pas de place et peut être embarqué dans tout type de matériel demandant de l’informatique de pointe et les applications embarquées.

Les langages

Linux prend en charge quasiment tous les principaux langages de programmation, la plupart nativement, tel que le C, le C++, Pearl, Lisp pour l'IA.... Niveau environnant de développement, on retrouvera Qt pour le C++, Lazarus (le Delphi Linux) pour le Pascal Objet, Mono pour le C#, Gambas pour VB, Java étant lui aussi présent sous Linux.

Logo Linux gris foncé sur fond gris clair avec des héxagones

Les logiciels gratuits

Une particularité de Linux tient dans sa gratuité, dans ses nombreuses distributions (on ne parle pas de versions mais de distributions, bien que le noyau ait lui même des versions) et de sa large étendue. Il existe cependant des distributions de ce système pour entreprise, tel que la Red Hat, et qui offrent un support professionnel, ou encore openSuse. Sous Linux on retrouve tous type de logiciels, souvant en ligne de commandes, c'est à dire sans interface graphique, bien que, le temps faisant, beaucoup d’environnements graphiques pour ces programmes/logiciels ont été développés. Sous Linux, tout est gratuit, enfin c'est souvent ce que l’on pense, car il existe de logiciels qui sont en version d’évaluation et demandent un achat pour avoir la version complète, ou sont gratuits pour un usage personnel et deviennent payants pour un usage professionnel. Dans l’ensemble, Linux ne demande pas autant d’investissement que Windows, mais les coûts de développement peuvent être plus élevés.

Qu’ils soient libres, gratuits, OpenSource, on retrouve un peu tout sous Linux, et généralement sans avoir à débourser une quelconque somme, mais vous aurez aussi peut être besoin d’un logiciel qui n'existe pas, ou qui existe mais pas de la façon qui vous convient. Vous le faire développer est possible.

Logiciels propriétaires

Du fait que Linux n’ait pas connu l’essort, la même notoriété que Windows, les utilisateurs et les entreprises ayant eu souvent du mal à faire la transition vers un système au départ d’utilisation complexe, gardant cette réputation pendant longtemps, aujourd’hui, les éditeurs de logiciels payant, tel que Microsoft, l’ont délaissé pendant un temps, n’ayant pas le même retour. La démocratisation de Linux, notamment par des distributions rendues accessibles aux utilisateurs néophytes via des interfaces et des procédures d’installation simplifiées, tel qu’Ubuntu, Debian, ..., a fait que, dans le temps, Linux s’est de plus en plus retrouvé utilisé.

En résumé

Bien qu’il y ait des particularités et des différences notables entre ces deux systèmes, le développement logiciel sous et pour Linux reste de la même nature que pour Windows.

On retrouve tous types de logiciels gratuits pour Linux, et d’autres payants, mais tout ce que l’on retrouve sous Windows ne l’est pas toujours sous Linux, du fait que les éditeurs de logiciels commerciaux développent généralement plus facilement pour Windows, une question de public à toucher. Windows reste le choix de la majorité des utilisteurs, les entreprises découvrant Linux et son potentiel s'y mettent de plus en plus quand elles en comprennent les avantages. Cependant, il existe des émultateurs, tel que Wine, qui permettent de lancer sous Linux des logiciels Windows. Utiliser Linux n’est pas encore totalement entré dans mœurs, bien qu’il soit plus performant et sûr que Windows, et le manque de logiciels adaptés en est un peu la raison.

L’efficacité de Linux se comprend quand on constate que la plupart des appareils et objets connectés fonctionnement sous ce systèmes, smartphones, tablettes, TV (Android est un système Linux), machines à laver, four micro-ondes, domotique, ..., tout comme pour des super calculateurs, tel que pour la NASA, et dans de nombreux domaines, recherche, finance... Linux est omniprésent.

Outils CMS

Logos des principaux CMS, Prestashop, Drupal, Wordpress, Joomla

Content Management System

Qu’est ce qu’un CMS ?

Un CMS est un Système de Gestion de Contenu, c’est à dire un environnement qui permet de construire des pages, un site, sans avoir à les développer, bien qu’il soit possible d’y écrire des programmes et donc de le personnaliser. Le CMS permet d’avoir toute la structure du site déjà pré-établie, et notamment le back-Office. Selon le type de CMS utilisé, il sera possible ou pas de le personnaliser, d’y ajouter des programmes, de développer au sein de l’environnement le thème et/ou les fonctionnalités demmandées. Selon qu’il soit dit propriétaire, c’est à dire avec un code source fermé qui ne pourra pas être retouché, ou dit opensoucre, c’est à dire avec un code source qui pourra être modifié et auquel des fonctionnalités pourront être ajoutées, au sein du CMS pourra s’ajouter un développement personnalisé, se rapprochant du site sur mesure. Les CMS vont de la simple création de blog au réseau social, en passant par le e-commerce. Des CMS restent spécialisés dans un domaine particulier, d’autres permettent d’étendre leur portabilité à divers domaines, tel que pour WordPress dont le but initial était le blog et auquel se sont rajoutés, dans le temps, tout un lot de modules étendant ses fonctionnalités, permettant ainsi de l’utiliser pour un nombre varié de types de sites, y compris le e-commerce. Certains CMS sont conçus pour fonctionner nativement pour le e-commerce, ce qui permet un gain considérable en termes de coût comparé au sur mesure intégral, tout en pouvant aussi être utilisé pour créer un site vitrine, tel que PrestaShop à partir duquel il est possible de créer un site vitrine élaboré. Prestashop est un CMS puissant pour le e-commerce.

Aujourd’hui, les CMS représentent 70% de l’Internet pour seulement 30% de sites intégralement développés sur mesure

Histoire

Avec l’arrivée du Web, et surtout du Web 2.0, beaucoup se sont improvisés développeurs, du fait qu’écrire une page en HTML n’est pas aussi complexe que d’écrire des programmes avec des langages de programmation utilisés pour créer des logiciels pour un système d’exploitation, que ce soit Windows, Linux, macOS. De là, on a vue fleurir sur la toile, sur le Web, des tas de sites pas toujours très bien réalisés, avec des design laissant souvent à désirer et des fonctionnalités pas toujours au point. De plus, la surcharge de couleurs et d’effets de première génération faisaient de ces sites des systèmes plutôt lourds et pas toujours agréables à l’œil, avec de mauvaises Expérience Utilisateur.

Il existait bien sûr des outils qui permettaient de créer des pages HTML avec un minimum de connaissances, mais il fallait toujours connaitre un minimum le développement, ce qui n'empêchait pas non plus l’amas de couleurs et d’effets superflus et de mauvais goût.

Les politiques de Google et le SEO

Le SEO, acronyme de Search Engine Optimisation, pour optimisation pour les moteurs de recherche, est une suite des règles qui permettent d’avoir des sites optimisés selon les critères des moteurs de recherche tel que Google. Google, leader des bonnes pratiques du Web, est devenu de plus en plus restrictif dans le temps sur la qualité des sites, en imposant des normes, voir des obligations, tant en termes de structure, ce que l’on appelle la sémantique, qu’en termes de contenu, de réactivité, le tout formant ce que l’on appelle les bonnes pratiques du Web. Les CMS existant déjà, cela a propulsé leur évolution et leur utilisation, donnant par la m$ême occasion naissance à d’autres de ces outils permettant de mettre en place des sites sans connaître le développement. L’évolution des CMS a permis d’avoir des sites avec une bonne sémantique et des designs de qualités. De base, les sites créés avec un CMS seront cependant tous conçus de la même façon, hormis ce qui forme les thèmes, Layout/Template, construits selon la même architecture et se repérant souvent au premier coût d’oeil. Un CMS permet donc de mettre en place un site Internet d’une façon simplifiée, bien qu’il soit aussi possible d’y faire du développement personnalisé, sur mesure, tel que pour WordPress et Prestashop, ce qui limite le coût final... Mais dire que les CMS sont nés pour être propre à Google ne serait pas juste, mais leur utilisation s’est de plus en plus démocratisé, ce qui n’est pas un mal en soit, amenant WordPress, par exemple, à évoluer d’outil de création de blogs à outil pour sites en tous genres via l’ajout de modules, appelés plug-in, donnant des sites en tous genres.

La sémantique correspond à la structure des pages HTML, la façon dont elles sont construites/organisées à travers leur code source. Mieux le code d’un site sera organisé, plus les robots de Google pourront l’évaluer comme bon et meilleure sera sa note. Par exemple, il y a un principe de hiérarchisation des titres: les titres sont hiérarchisés en 6 niveaux, le 1 étant le plus haut et le 6 le plus bas. Ainsi, un titre de niveau élevé ne devra pas se retrouver sous un titre de niveau inférieur dans un même bloc, une même section...une page où les titres seraient désordonnés influencerait sur la note générale du site

Bien qu’un site CMS de base se reconnaîsse souvent au premier coup d’œil, du fait de suivre une suite de modèles, il est possible, en le retravaillant d'en faire quelque chose de disctinct, notamment en créant un théme. L’avantage d’un CMS est que toute la partie d'administration du site, le Back-Office, est déjà développée, incluant la partie publication des pages, gestion des utilisateurs, ainsi que la gestion des ventes et les statistiques dans le cas d'un e-commerce...mais tous les CMS ne permettent pas d’y effectuer des développements personnalisés et certains restent très fermés...

Wix

Wix est une plateforme en ligne qui permet de concevoir un site sans connaitre la programmation. J’ai pu constater en étudiant le comportement de sites élaborés avec Wix qu’ils ne sont pas tous Web Responsive, c’est à dire ne s’adaptant pas aux changement de tailles écran, pour tous ceux que j’ai pu tester. Ces sites possèdent au moins deux versions des pages: la version desktop, version pour ordinateur, et la version mobile, version pour smartphone (chose normale quand on veut adapter des fonctionnalités propres aux appareils mobiles, mais le Web Responsive est indispensable, mis à part cas particuliers). Pour rappel, dans un tel cas, le serveur sur lequel le site est hébergé interrogera le navigateur pour savoir s’il est sur un ordinateur ou un mobile, et renverra la page prévue pour le type de matériel détecté (ordinateur, smartphone, tablette), le problème étant que quelqu’un ayant un vieil ordinateur avec un écran de faible résolution n’aura pas le site adapté à son affichage, car le serveur lui renverra la page pour ordinateur, sans pour autant s’adapter à la taille de son écran. Pour vérifier cela, il suffit d’ouvrir un site fait avec Wix à partir de son ordinateur, ou d’aller sur ce site pour tester les sites proposés construits avec Wix, en cliquant sur les liens d’exemples, puis en redimensionnant le navigateur: au partir d’une taille minimale, la page ne s’adapte plus à la largeur du navigateur, ou de l’écran. Le site ne s’adaptera donc pas aux plus petites tailles d’écrans (voir la partie Web Responsive). Maintenant, l’affichage minimum pour les pages Wix non responsive sont de 1024 pixel de largeur, les écran en dessous cette résolution encore utilisés se faisant rare, il faut le reconnaitre, mais existant toujours, notamment sur de petits PC portables telque j’ai encore pu en recontrer. S’adapter à toutes les tailles d’écrans est important.

Wordpress: le blogging

Wordpress est le CMS le plus utilisé dans le monde. Il s’agit à l’origine d’une plateforme pour créer des blogs. On le retrouve autant pour des entreprises, des associations que des particuliers. Pour les entreprises, il est souvent arrivé qu’elles ne savaient pas quelles payaient, souvent au prix fort, un site qui restait un blog sophistiqué et dont l’auteur ne développait rien, à part peut-être quelques modifications au niveau de la mise en forme (ce que l’on appel le style), mais la plupart du temps sans rien faire d’autre que d’ajouter des plugins, payant ou pas. D’autres entreprises choisissent Wordpress pour ne pas avoir à payer cher leur site, et WordPress est pratique pour cela, ou pour le faire soit même sans avoir les connaissances techniques, mais cela peut aussi être pour avoir une base à partir de laquelle travailler et développer sur cette base pour construire quelque chose de vraiment personnel. Et puis il y a des entreprises qui ont leur application et qui utilise Wordpress pour une question de gain de temps, ou juste parce qu’elles n’ont besoin que d’un blog, ou d’un site WordPress avec les plug-in apportant les fonctionnalités souhaitées pour avoir un site complet. Mais c’est aussi des fois parce que l’entreprise a déjà investi son budget Web dans le développement de son application et que le WordPress est là en tant qu’un outil, site, de communication. Bien que quelque peu réfractaire à WordPress pendant un temps, de par son côté préfabriqué, c’est une solution à envisager quand le budget est léger, ou quand on veut faire les choses soit même sans savoir développer, ou pour ne pas développer, pour un gain de temps, le Back-Office.

Première victimes d’attaques

Du fait que les CMS soient tous conçus de la même façon (100 sites Wordpress différents restent toujours 100 Wordpress) ce sont toujours les premières cibles des attaquants, des pirates et autres hackeurs, du fait que ces plateformes, ces CMS, ont un code commun à tous (hormis les différences entre versions et les parties que peuvent développer des développeurs). Le fait d’être en OpenSource, les programmes formant l’architecture du système sont consultablent par tout le monde: pas de secret de fabrication, chaque site utilise la même architecture, les mêmes modes de fonctionnement, les mêmes programmes, des plugins en commun et trouver un bug, une faille de sécurité sur l’un permet de les retrouver sur tous. Du fait qu'il soit facile de les reconnaitre, ils sont donc facilement identifiables et pas simplement qu’à l’oeil nu: il existe des outils qui permettent de détecter toutes les technologies utilisées pour le développement d’un Site ou d’une Application Web. Ces outils permettent d’avoir la liste des technologies utilisées, langages de programmation, et CMS s'il y a lieu. Ainsi, on peut savoir si un site est conçut à partir d’un CMS: si c'est le cas, le nom du CMS figure dans les technologies utilisées, y compris les plugins. Une fois qu'un CMS identifé, il est plus simple d’y trouver des failles que sur un site sur mesure, qui lui ne donnera que les informations que le webmaster aura décidé concernant les langages utilisé et sans donner d’informations mettant en danger l’installation.

Certains renomment certains dossiers propres à Wordpress et changes certaine variable et partie de code du CMS afin d’empêcher de le faire reconnaitre, mais, souvent, n'étant pas développeurs, ils utilisent un thème et des plugins qui ne peuvent être utilisés que par ce CMS, ce qui permet encore de l’identifier comme tel

Sécurité et Wordpress

En 2018, 90% des sites fait avec des CMS qui ont été piratés étaient des sites Wordpress. Sur ces sites, seulement 36% n'étaient pas à jour, ce qui indique que, même à jour, Wordpress a plus de chance de se faire pirater qu’un autre. Et si ceux qui mettent en place des sites CMS retardent souvent les mises à jour, c'est pour éviter de casser la structure des plugins, ces add-on qui ajoutent des fonctionnalités que l’auteur du site ne développe pas lui-même et dont la mise à jour peut être incompatible avec le reste du site en lui même. Ces infos viennent de cet article: ZDnet. Cependant WordPress reste une solution viable et abordable.

Certains prétendent que des plateformes tel que Spotify ou encore le site de la BBC America sont fait avec Wordpress, mais ce n’est pas le cas. Il suffit de taper l’addresse de ces sites sur le site builtwith.com, ou d’installer l’extension navigateur Wappalyzer pour se rendre compte qu’ils ne sont pas fait ainsi... Wappalyzer existe aussi en application Mobile, Android et iPhone

Le site du gouverment sur la sécurité des Systèmes d’Information a plublié cet article sur les failles trouvées sur la version de Wordpress de mars 2022: Failles de sécurité de mars 2022.

Les CMS sur lesquels des failles sont découvertes, et exploitées, sont généralement rapidement mis à jour quand l’équipe de développeurs et la communauté sont actives, résolvant rapidement la faille. Le problème est le temps entre la découverte, l’exploitation et la résolution des problèmes. Cependant, WordPress reste une bonne solution

Apparté

Contrairement à ce que l’on pourrait penser à ce niveau de lecture sur Wordpress, je n’ai rien contre ce CMS qui a justement permis à des non développeurs de mettre en place des sites agréables à utiliser, ainsi qu’à des développeurs d’utiliser toute une structure, qui a sû bien évoluer avec le temps, pour développer des sites plutôt sérieux avec une bonne Expérience Utilisateur. Et je tiens à souligner que Wordpress, comme les autres, est mis au point et sans cesse amélioré par des développeurs. Ce avec quoi j'ai du mal, c'est avec ceux qui vendent un site Wordpress comme étant un site sur mesure, sans même avoir développée la moindre ligne de code, mais c’est un autre sujet...

Plugin des CMS

Fonctionnalités ajoutées

Là où un CMS de base possède ce que l’on pourrait appeler un tronc commun, pour avoir des fonctionnalités supplémentaires il faut ajouter ce que l’on appelle des plugins, des parties sous forme de modules qui viennent se greffer sur l’architecture principal du CMS. Et là où le CMS lui même a un besoin sans cesse de mise à jour, tant pour palier aux failles de sécurité dont il peut être sujet que pour les évolutions de ses fonctionnalités, il en est de même avec les plugins. Les plugins ne sont pas toujours compatibles entre eux dans leurs mises à jour, que ce soit avec d’autres plugins ou avec les mises à jour des versions de Wordpress. Certaines mises à jour de plugins peuvent en désactiver ou en saboter d’autres. Mais d’une manière générale, quelqu’un de sérieux s’informera avant en ce qui concerne les correctifs.

Constructeurs de page

Les constructeurs de pages permettent d'élaborer des thèmes pour des sites WordPress, de le personnaliser. Il existe de bons outils pour construire un site WordPress.

Développement au sein de Wordpress

De la personnalisation au sur mesure

Wordpress offre la possibilité de développer son propre thème, sans passer par un constructeur de page, ainsi que des fonctionnalités supplémentaires, des plugins/modules. Wordpress offre un bon cadre de travail pour y développer un Site ou une Application Web avec un back-office prédéfinis. Cela demande bien entendu de connaitre le développement, et plus exactement les langages PHP, JavaScript, HTML et CSS, et de connaitre le fonctionnement interne de Wordpress.

Thème enfant

Un thème Wordpress correspond à la structure du site, aux styles visuels des pages et des différents éléments, couleurs, effets, interactions, positions des diverses zones...la structure des pages et leur agencement d’une manière générale... Il est possible prendre un thème que l’on choisira pour le modifier, ou de prendre le thème de base et de construitre à partir de celui-ci: c'est ce que l’on appelle un thème enfant, en développant.

Thème sur mesure

Il est possible de développer un thème Wordpress en partant de rien, Layout, Templates, et de développer non plus un thème enfant mais un thème redistribuable. Cela permet d’avoir une plus grande maîtrise de l’architecture des pages, de l’interface graphique, des fonctionnalités et de l’expérience utilisateur en développant tout soit même.

WordPress, qui a beaucoup évolué dans le temps, permet de développer des fonctionnalités sous forme de modules, des plugins et des thèmes personnalisés. Cela offre un système déjà établie sur la partie Back-Office. Sur le plan conception, je serai d’avis à dire que son utilisation doit être un choix de dernier recourt, soit parce que le maître d’ouvrage n’a pas le budget pour un développement purement sur mesure, soit par manque de temps, parce qu’il a besoin d’un site opérationnel rapidement, soit parce que les connaissances pour tout développer ne sont pas présentes. Dans de tels cas ce CMS reste une bonne solution, bien qu’il en existe d’autres, tel que pour e-commerce

Les CMS e-commerce

Il existe des cas particuliers où l’utilisation d’un CMS peut s’avérer utile et nécessaires: les e-commerce. Dans le cas où l’entreprise n’a pas les moyens de se faire développer un e-commerce sur mesure, ce qui va de 15 000 à 175 000€, voir au-delà, l’utilisation d’un CMS spécialisé est une bonne solution.

De plus, tout comme pour Wordpress, il est possible d’améliorer l’environnement et d’y apporter des fonctionnalités personnelles, développer un thème, des layout/templates.

Un Layout est la structure de base d’un modèle de page, et les Templates sont les divers contenus propres aux pages qui seront insérés au sein du Layout

Il est possible de greffer un CMS e-commerce à un site sur mesure et vis-versa, d’intégrer l’un à l’autre. Intégrer à un CMS une autre architecture, un autre MVC au sein du CMS, est possible, tel qu’avec Prestashop

Prestashop

Là où Wordpress est au départ spécialisé dans le blog, Prestashop, lui, est expressément spécialisé dans le e-commerce.

Prestashop offre tout un environnement sécurisé et optimum fait pour le e-commerce, avec tout ce qu'il faut pour gérer une boutique en ligne, suivre les ventes, préparer des commandes, gérer ses stocks, faire des statistiques... Les utilisateurs qui mettent en place des solutions Wordpress, et qui utilisent le plugin Woocommerce pour le transformer en site de vente en ligne, considèrent souvent que Prestashop est une usine à gaz, souvent trop complexe à assimiler, ce qui n’est pas faux en soit.

Le Back-Office de PrestaShop est configurable de sorte qu’il possible de ne rendre acessible en production au maître d'oeuvre seulement ce qu’il sera amené à utiliser.

Les points sur lesquels Prestashop est bien plus sérieux et performant que Wordpress sont nombreux et les traiter n’est pas prioritaire dans l’immédiat, mais il faut savoir que, quitte à prendre un CMS pour un e-commerce, autant en prendre un qui soit spécialisé dans le domaine.

Le Back-Office de Prestashop est plus complet, puissant, y compris au niveau des droits d’accès des utilisateurs, donnant des droits aux divers employés de l’entreprise devant interagir avec afin que chacun n’accède qu’aux parties devant lui être accessibles, selon les droits de chacun, pour gérer la boutique, les commandes, les clients, les stocks, voir les statistiques..., ce qui est fait d’une manière moins étendue sous WordPress.

Le choix du CMS, même s’il est conseillé par le maître d'oeuvre, peut être un choix final du maîte d'ouvrage s’il en exprime les raisons

En résumé

Les CMS permettent de faire des sites qui ont un coût moins élevés que des sites sur mesure, avec génértalement de bons desgin au travers l’achat d’un thème, ou la construction ou le développement de ce dernier.

Les CMS restent les premiers sites à être victimes d’attaques en tous genres, Wordpress en tête de liste, ce qui est compréhensible du fait que ce que l’on retrouve sur l’un se retrouve sur les autres. Mais un Webmaster avisé saura le sécuriser et le maintenir.

Pour un e-commerce, il est préférable de choisir un CMS spécialisé dans le domaine, il saura réponre à tout d’une meilleure façon.

Le CMS n’est pas une mauvaise solution et permet d’avoir, à moindre coût, un site de bon goût dans le court actuel. Mais si le choix du sur mesure est possible, principalement au niveau budget et solution proposée, le développement intégral sur mesure est à privilégier.

Pour plus d’informations contactez moi via la page contact.

Refonte de site

Amélioration ou redéveloppement

Divers objets du monde: loupe, marteau, sacoche, ampoule, calculatrice, tablette...indiquant un chantier, une réflexion, la prise de décisions

Refonte

Vous avez déjà votre site Web et vous souhaitez le modifier, lui ajouter des fonctionnalités, donner un coup de frais au design, l’améliorer, le faire évoluer ? Selon que votre site soit un site sur mesure ou un CMS, il faudra étudier votre cas. Pour cela remplissez le formulaire de la page Contact en choisissant « Projet de développement » puis « Refonte Site Web » ou téléphonez-moi au 07-69-68-80-83

Il est toujours possible d’améliorer un site, lui donner un coup de jeune et corriger ses éventuels bugs et défauts

Redéveloppement

Vous avez déjà votre site Web et vous souhaitez le refaire complètement tout en conservant vos données, vos historiques, vos clients ? Il nous faudra, vous et moi, étudier votre cas ensemble. Pour cela, remplissez le formulaire de la page Contact en choisissant « Projet de développement » puis « Refonte Site Web » ou téléphonez-moi au 07-69-68-80-83, ou encore au 02-59-16-20-51