Skip to content

Etat des lieux

Lorsqu'on me demande de prendre en charge la gestion d'une application web (ou d'un site web - il y a de moins en moins de différence), je pose toujours la question suivante :

Quels sont les points d'attention et quel est leur degré d'importance ?

C'est vrai qu'il y a de (très) nombreux points à vérifier mais, même si la plupart sont importants, certains sont plus critiques que d'autres et, en fonction du type de business considéré, ce ne sont pas toujours les mêmes.

Sur cette page, je reprends les aspects auxquels il faut généralement porter une attention particulière lors d'un état des lieux d'une application web.

Performance

La performance d'une site correspond à son temps de réponse : c'est à dire le temps écoulé entre la requête faite par l'utilisateur pour accéder au site et le moment où le contenu s'affiche à l'écran.

Ce temps de réponse est un facteur déterminant car il a une influence directe sur le comportement des utilisateurs. A partir de 2.5 secondes, un site est considéré trop lent. En fait, au delà de 3 secondes d'attente, des études comportementales montrent que près de 40% des visiteurs quittent le site.

La performance d'un site a donc un impact important sur l'expérience utilisateur.

De ce fait, la vitesse de chargement d'un site est désormais un des critères pris en compte par Google (et d'autres moteurs de recherche) dans la manière d'ordonner les résultats de recherche.

Les principaux facteurs qui vont influencer la performance d'un site sont:

  • l'hébergement du site (configuration logicielle et ressources allouées)
  • le poids de la page principale (et des ressources dont elle dépend: images, polices de caractères, scripts, ...)
  • le temps nécessaire pour l'exécution des scripts influençant l'affichage sur le navigateur client

Certains indicateurs comme Apdex (Application Performance Index) permettent la classification des sites selon leur résultat.

Sécurité

SSL

Un accès sécurisé en HTTPS (pour HyperText Transfer Protocol Secure) devient incontournable pour maintenir son positionnement dans les moteurs de recherche et rassurer ses visiteurs.

Par ailleurs, tous les navigateurs modernes alertent désormais l'utilisateur lorsqu'une page contenant un formulaire n'est pas sécurisée en HTTPS.

Pour qu'un site fonctionne en HTTPS, il faut "simplement" commander et installer un certificat SSL (permettant le chiffrement de bout en bout en utilisant une couche Secure Socket Layer).

Les prix des certificats SSL varient en fonction des procédures administratives requises, des garanties offertes et de la durée de validité.

Il existe trois types de certificats offrant chacun un niveau de garantie spécifique:

  • certificat DV (domain validation) : le nom de domaine est vérifié lors de la demande du certificat mais sans pour autant vérifier l'identité du propriétaire du site (que ce soit une personne morale ou physique)

  • certificat OV (organization validation) : en plus du nom de domaine, l'identité de l'organisation est validée en demandant de produire des documents justificatifs

  • certificat EV (extended validation) : en plus du nom de domaine et de l'identité de l'organisation, l'identité du responsable de l'organisation est également validée

Pour en savoir plus:

https://fr.wikipedia.org/wiki/Certificat_electronique

https://fr.wikipedia.org/wiki/Transport_Layer_Security#Protocole_SSL

Sécurisation

Il n'est pas rare de trouver des failles de sécurité liées à une configuration trop permissive d'un serveur web: listing des dossiers autorisés, accès FTP en écriture pour tous les utilisateurs, nombre de tentatives de connexion illimitées, ...

D'autre part, en fonction des différents logiciels utilisés, il existe souvent des recommandations de "bonnes pratiques".

L'idéal est que le site ne permette que ce qui est strictement nécessaire à son utilisation, en révélant le moins d'informations possible sur son fonctionnement interne (CMS utilisé, appels API, points d'entrée, structure, ...).

Légalité

Utilisation de données personnelles

Depuis 2018, le Règlement Général sur la Protection des Données ou RGPD (en anglais General Data Protection Regulation ou GDPR) définit un cadre pour l'usage des données personnelles des utilisateurs, y compris pour les cookies et toute forme de stockage dans le navigateur, qui se traduit par l'obligation légale, pour l'éditeur d'un site, d'afficher une notice demandant le consentement explicite de l'utilisateur de conserver ces données.

En outre, tout éditeur de site web est tenu de présenter ces aspects dans un document de "Notice sur la Protection des Données personnelles". En cas de service impliquant le traitement de données sur sa propre infrastructure ou sur une infrastructure tierce, l'éditeur est tenu d'établir une "Convention de Traitement de Données à Caractère Personnel", qui le lie (en tant que "sous-traitant" des données) avec le client ("responsable du traitement" des données) et établit les droits et obligations de chacune des parties.

https://fr.wikipedia.org/wiki/Reglement_general_sur_la_protection_des_donnees

En résumé, les principales obligations légales sont les suivantes:

  • nommer et renseigner un délégué à la protection des données;
  • tenir un registre de traitement des données à caractère personnel;
  • garantir la protection de la vie privée à la conception et par défaut;
  • sécuriser les données à caractère personnel;
  • s’assurer du consentement clair, libre et informé de l'utilisateur quant à la collecte et au traitement de ses données;
  • donner la possibilité à l'utilisateur de consulter, modifier et supprimer les données qui le concerne.

Adaptabilité

L'adaptabilité relève des aspects liés à la compatibilité: s'assurer que le site s'affiche correctement quel que soit l'appareil ou le navigateur utilisé.

Le score d'adaptabilité renseigne donc à la fois le niveau de conformité des derniers standards web et le support pour les différents types d'appareils susceptibles d'être utilisés pour la consultation.

Standards

Respect des standards du WEB (syntaxe du code source contenu dans les pages) : code HTML, feuilles de styles et scripts embarqués.

HTML & CSS

On rencontre fréquemment des erreurs de syntaxe dans la déclarations de balises HTML (DOCTYPE, META, hreflang, ...) ou simplement des omissions de certaines balises obligatoires.

La plupart des navigateurs sont tolérants et compensent de telles erreurs.

Toutefois, selon les cas, ces erreurs peuvent impacter certains utilisateurs ou certains moteurs de recherche. De plus, la tolérance des navigateurs est susceptible d'évoluer au fil du temps et, pour garantir une longévité optimale, il est préférable de respecter les standards (https://www.w3.org/).

Scripts

La majorité des sites a recours à des services externes pour l'intégration de fonctionnalités telle que l'analyse de fréquentation, l'utilisation de formulaires connectés, ou la génération automatique de HTML en fonction des actions de l'utilisateur.

Certains services externes (Facebook, Google maps, Global Site Tag, Universal Analytics, Analytics Classic, Analytics Remarketing) sont invoqués grâce à l'ajout de scripts dans le code source des pages.

Un erreur d'inclusion peut rendre impossible l'utilisation des données statistiques du site ou encore empêcher les utilisateurs d'interagir avec les réseaux sociaux depuis le site.

Vérifier l'exactitude des inclusions des scripts des services externes permet de garantir que les interactions fonctionnent comme elles le doivent.

Cross-Platform

Pour garantir une bonne expérience utilisateur (UX), il est important que le site s'affiche correctement sur tout format d'écran, c'est-à-dire qu'il soit compatible avec les petits affichages (appareils mobiles) comme avec des écrans Ultra Haute Définition (UHD). Lorsque c'est le cas, on parle de Responsive Web Design (RWD).

La largeur d'un écran se caractérise par le nombre de pixels (noté px) disponibles pour l'affichage.

Pour vérifier la compatibilité multi-plateforme (Responsive-ness), il faut tester les formats d'affichage les plus répandus (< 576px, >= 576px, >= 768px, >= 992px, >= 1200px) mais il est parfois nécessaire de les tester également sur les principaux appareils mobiles modernes (HTC, iPhone, Samsung).

Lorsqu'un site est nativement conçu pour la navigation sur tout support, on ne parle plus de site, mais plutôt de Progressive Web App (PWA).

Le poids des pages (quantité de données nécessaires à l'affichage) peut également avoir un impact pour les appareils mobiles à faible bande passante ou avec une connexion facturée à la quantité de données téléchargées.

Intégrabilité

Configuration DNS

Cette étape consiste à énumérer la configuration liée à un nom de domaine via les registres DNS (Domain Name System).

La réservation d'un nom de domaine doit se faire par l'intermédiaire d'un registrar (une entreprise accréditée par l'ICANN, l'autorité responsable de l'attribution des noms de domaine sur Internet).

C'est donc auprès de ce registrar qu'est conservée la configuration DNS.

En première instance, cette étape n'est pas obligatoire, mais elle deviendra incontournable si vous devez un jour changer de registrar.

Mail eXchange

Certains enregistrements permettent de configurer les services de messagerie emails et de définir quels sont les serveurs autorisés à envoyer des emails de la part du domaine. Ces enregistrements sont appelés "Mail eXchanger" ou MX.

Si n'est pas configuré (ou mal configuré) un grand nombre de messages envoyés depuis une adresse du domaine risque de se retrouver dans les SPAM.

Pour éviter ceci, il est possible de vérifier la configuration DNS liée à un nom de domaine afin de s'assurer qu'elle soit bien conforme avec les standards liés aux services d'envois d'emails:

SPF

Le Sender Policy Framework consiste en un enregistrement DNS qui permet de vérifier qu'un email reçu de la part d'un nom de domaine a bien été envoyé à partir d'un serveur autorisé par l'administrateur de ce domaine. En savoir pus

DKIM

DKIM : (DomainKeys Identified Mail est un mécanisme qui ajoute des informations (une signature) à un message email permettant au destinataire de vérifier à la fois l'authenticité de l'émetteur et l'intégrité du contenu en validant ceux-ci grâce à la clé publique du domaine émetteur. En savoir plus

DMARC

Domain-based Message Authentication, Reporting and Conformance est un standard qui permet à un administrateur d'indiquer à la fois les mesures de protection mises en place et les actions à prendre en cas d'échec de validation (y compris des retours d'information). En savoir plus

PTR

Un enregistrement DNS inverse ou Pointer Record (ou encore Reverse DNS record) est un enregistrement DNS qui permet de déterminer un nom de domaine sur base d'une adresse IP. Lorsque qu'un tel enregistrement existe pour le serveur SMTP utilité, il permet de valider qu'un email a bien été envoyé à partir du serveur SMTP défini dans l'enregistrement SPF. En savoir plus

RBL

Les listes RBL : (Realtime Blackhole Lists) sont des listes qui reprennent des adresses IP de serveurs SMTP par lesquelles ont transités des messages ayant été rapportés comme SPAM (courrier indésirable).

Visibilité

Certains aspects de votre site sont susceptibles d'avoir un impact sur la position à laquelle les moteurs de recherche (comme Google) vont afficher le nom de votre site lors d'une recherche.

La vérification systématique de ces aspects s'appelle l'optimisation du référencement ou "Search Engine Optimisation" (SEO).

Etat du référencement

Pour pouvoir être affiché parmi les résultats d'une recherche, il est indispensable qu'un site soit "indexé", c'est-à-dire qu'il ait été analysé par le moteur de recherche concerné.

Ensuite, plus le nombre de pages indexées est important, plus souvent le site apparaîtra dans les résultats de recherche.

Des outils comme Google Search Console permettent de connaître le niveau d'indexation d'un site.

BlackLists

Certains moteurs de recherche ou logiciels de protection proposent un service de référencement de contenus malicieux: c'est-à-dire des listes de sites web sur lesquels des malwares ont été détectés ou signalés. De telles listes se nomment des listes-noires (black lists en anglais).

Parmi les services les plus connus, on retrouve : Google Safe Browsing, Norton Safe Web, McAfee, Spamhaus. La présence d'un nom de domaine dans une de ces listes diminue considérablement son trafic entrant puisque la plupart des moteurs de recherche cessent de le présenter dans les résultats et que les anti-virus en bloquent l'accès.

Ces listes sont librement consultables et il est donc simple de vérifier que le site n'y est pas renseigné.

Ceci est particulièrement important lorsque le site a été victime d'une attaque et que du code malicieux y a été injecté.

Pages et liens référencés

Afin de maintenir au fil du temps la résilience des liens ayant été indexés par les moteurs de recherche, c'est-à-dire de pouvoir faire en sorte qu'ils continuent d'être reconnus par les futures versions du site, il est nécessaire d'en maintenir une liste exhaustive.

Ceci concerne :

  • tous les contenus pertinents : pages et documents
  • la gestion des erreurs de ressource non-trouvée pour les contenus non pertinents (catégories, illustrations, information obsolète, ...)
  • la redirection générique 404 : UX
  • les redirections intelligente (suggestion de contenu similaire ou page de remplacement)

Sitemap

Les moteurs d'indexation recherchent la présence d'un sitemap, un type de fichier particulier qui liste les ressources disponibles sur le site.

La présence d'un fichier sitemap n'est pas indispensable mais permet de faciliter le référencement des contenus et de s'assurer de la visibilité des ressources.

Idéalement, pour un référencement optimal, tout site web doit comporter :

  • un fichier robot.txt (facultatif)
  • un sitemap
    • sous un des noms autorisés : sitemap.xml.gz, sitemap.xml, sitemap.txt, sitemap
    • encodé dans un des formats autorisés : XML, Atom, RSS, TXT

Meta informations

Pour compléter l'analyse automatique du contenu par les moteurs de recherche, il est possible d'intégrer certaines meta-informations (Schema.org, OpenGraph) dans la structure des pages. Des contenus ainsi bien étiquetés, permettent aux moteurs de recherche d'être davantage pertinents et d'accroître la précision du ciblage.

Qualité des URL

Le nom des pages ou des ressources (URL) doit faciliter le référencement et son identification.

Les URL doivent idéalement être lisibles par les humains sans être trop longues.

D'autre part, les caractères non supportés dans les noms de fichier ou les URL (espaces ou caractères accentués) peuvent impacter négativement le référencement du site.