HTTPS/SSL et sécurité du site
Qu'est-ce que le HTTPS/SSL ?
HTTPS (HTTP Secure) est un protocole qui crypte les échanges de données entre un site web et le navigateur du visiteur. Ce cryptage est assuré par un certificat SSL/TLS dont dispose le site ; ce certificat fonctionne comme un document numérique qui atteste de l'identité du site auprès du navigateur. L'icône en forme de cadenas qui apparaît dans la barre d'adresse du navigateur indique que la connexion est chiffrée et que le certificat est valide.
Les données envoyées via HTTP sont transmises en clair (plaintext) ; cela signifie qu’un tiers se trouvant sur le même réseau (par exemple, un réseau Wi-Fi public) peut lire ces données. HTTPS crypte ces données, les rendant ainsi lisibles uniquement par l’expéditeur et le destinataire.
Les certificats SSL sont généralement valables pour une durée déterminée (par exemple un an) et doivent être renouvelés à leur expiration ; aujourd’hui, de nombreux hébergeurs automatisent ce processus afin que le certificat soit renouvelé automatiquement, ce qui réduit la nécessité d’un suivi manuel.
Pourquoi est-ce important ?
Le protocole HTTPS garantit la protection des données des utilisateurs (saisies dans les formulaires, informations de connexion, informations de paiement) contre les attaques de type « man-in-the-middle ». Google considère l’utilisation du protocole HTTPS comme un léger facteur de classement, et les navigateurs affichent un avertissement « Non sécurisé » pour les sites HTTP, ce qui affecte directement la confiance des utilisateurs.
Un site non sécurisé dissuade les visiteurs de rester sur le site ; en particulier, les utilisateurs qui remplissent un formulaire ou effectuent un paiement peuvent quitter le site sans finaliser leur opération lorsqu’ils voient l’avertissement « Non sécurisé ». Il s’agit là d’un problème de confiance qui affecte directement le taux de conversion.
De plus, la plupart des fonctionnalités des navigateurs modernes (par exemple, les services de localisation, les notifications, certaines API de paiement) ne fonctionnent que via HTTPS ; un site qui reste en HTTP ne peut pas du tout bénéficier de ces fonctionnalités et devient de plus en plus limité d’un point de vue technique.
Comment y remédier ?
- Installez un certificat SSL valide sur votre site et mettez en place un renouvellement automatique pour éviter qu’il n’expire.
- Redirigez toutes les requêtes HTTP vers la version HTTPS à l’aide d’une redirection 301.
- Éliminez les avertissements de contenu mixte (mixed content) : assurez-vous que tous les fichiers images, scripts et CSS de la page sont chargés via HTTPS ; sinon, le navigateur pourrait marquer la page comme « partiellement sécurisée ».
- Si possible, ajoutez l’en-tête HSTS (HTTP Strict Transport Security) pour obliger le navigateur à toujours se connecter au site via HTTPS.
- Réduisez les chaînes de redirection (HTTP → HTTPS → www → non-www, etc., c'est-à-dire plusieurs redirections successives) à une seule étape ; chaque redirection supplémentaire ajoute un léger retard au temps de chargement de la page.
- Vérifiez que les ressources fournies par des services tiers (CDN d’images, fournisseur de formulaires, widget de chat, etc.) sont également servies via HTTPS ; celles-ci constituent souvent la source méconnue du problème de contenu mixte.
Exemple
# Exemple de fichier .htaccess
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Mauvais exemple : après être passé à HTTPS, oublier de mettre à jour les anciennes <img src="http://exemple.com/logo.png"> liens HTTP absolus dans la page ; cela entraîne l’affichage d’un avertissement de contenu mixte dans le navigateur, même si la page semble globalement sécurisée.
Erreurs courantes
- Laisser la version HTTP active sans la désactiver ; le site reste ainsi accessible à la fois via HTTP et HTTPS, et le contenu est dupliqué sur deux adresses différentes.
- Laisser sur la page des images ou des scripts chargés via HTTP alors que la page est sous HTTPS (contenu mélangé).
- Laisser expirer le certificat SSL ; dans ce cas, le navigateur peut afficher le site comme étant totalement inaccessible.
- Créer des chaînes de redirection inutiles comportant plusieurs étapes.
- Obtenir le certificat uniquement pour le nom de domaine principal et exclure les sous-domaines (par ex. blog.exemple.com).
- Continuer à utiliser les anciennes adresses HTTP dans les liens internes (menu, pied de page, liens internes) ; cela déclenche une redirection 301 inutile à chaque clic et ralentit légèrement le chargement de la page.
- Continuer à référencer les anciennes adresses HTTP dans le plan du site et les balises canoniques ; cela envoie des signaux contradictoires aux moteurs de recherche.
- Transférer par erreur le certificat auto-signé utilisé dans l’environnement de développement local (localhost) vers la configuration de l’environnement de production ; les navigateurs ne considèrent pas ce type de certificats comme fiables.
- Le rapport de Seoraporu.co signale en priorité l’absence de HTTPS ou les avertissements de contenu mixte dans la section des constatations techniques, car cela affecte à la fois la confiance et les performances.