Aller au contenu

Paramètres des cookies

Choisissez, par catégorie, les cookies que vous autorisez. Vous pouvez modifier votre choix à tout moment via Paramètres des cookies, en bas de chaque page. Politique de confidentialité

Nécessaires

Toujours activés

Indispensables pour vous connecter, conserver votre panier et mémoriser vos choix. Ils sont toujours activés.

Quels cookies ?
  • weboke_sessie, weboke_klant, weboke_remember: votre session et le maintien de la connexion
  • weboke_basket: votre panier
  • wkBtwIncl: l'affichage des prix TTC ou HT
  • wok_cookies: votre choix concernant les cookies, 12 mois

Mesure quelle publicité mène à une visite ou à une commande, pour que nous ne payions pas des publicités inefficaces.

Quels cookies ?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), jusqu'à 90 jours
  • OpenAI Ads, publicités dans ChatGPT
  • wok_aff: le partenaire qui vous a orienté vers nous (programme d'affiliation), 60 jours

4,6

Pays et langue

Chaque pays a son propre site, avec les prix et la TVA de ce pays.

Afficher

Module 3 · 3.1

Https et le certificat

Module 3: Adresse, https et utilisateurs · Temps de lecture : 8 minutes

Objectif d'apprentissage : après cette leçon, vous pourrez passer entièrement un site WordPress en https et vous saurez à quoi servent l'adresse WordPress et l'adresse du site.

Notions clés : TLS, certificat, Let's Encrypt, renouvellement automatique, adresse WordPress (siteurl), adresse du site (home), WP_HOME et WP_SITEURL, HSTS, être exclu de l'administration

Ce que fait https

Avec https, tout ce qui circule entre le navigateur et le serveur est chiffré : mots de passe, formulaires, cookies, mais aussi les pages ordinaires. Sans https, n'importe qui sur le même réseau (un wifi public, un routeur piraté) peut lire les échanges et même modifier la page. Les navigateurs signalent un site sans https comme « non sécurisé » et certaines fonctions (comme la localisation ou la caméra) ne fonctionnent qu'avec https.

Ce chiffrement s'appelle TLS. Pour prouver que le navigateur communique réellement avec example.com et non avec un intermédiaire, le serveur possède un certificat : une preuve numérique, signée par un émetteur de confiance pour les navigateurs. Le certificat indique les noms pour lesquels il est valable et jusqu'à quand.

Certificats gratuits et renouvellement

Let's Encrypt délivre des certificats gratuits. Presque tous les hébergeurs les demandent automatiquement et les renouvellent aussi automatiquement. Un certificat de Let's Encrypt est actuellement valable 90 jours, et Let's Encrypt a annoncé qu'il allait progressivement raccourcir cette durée à 45 jours. Le renouveler manuellement n'est donc pas une option : cela doit se faire automatiquement.

Un certificat payant ne chiffre pas mieux. La différence réside dans un contrôle supplémentaire de l'organisation (et parfois une garantie). Pour la plupart des sites, un certificat gratuit convient parfaitement.

Points d'attention :

  • Le certificat doit couvrir chaque nom qu'un visiteur peut saisir : example.com et www.example.com. Y compris le nom qui ne fait que rediriger, car le navigateur vérifie le certificat avant la redirection.
  • Le renouvellement automatique ne fonctionne que si le DNS pointe vers votre serveur. Si vous avez migré votre DNS ou mis en place un proxy (comme Cloudflare) devant votre site, vérifiez que le renouvellement fonctionne toujours.
  • Un enregistrement CAA dans le DNS peut déterminer quels émetteurs sont autorisés à créer des certificats. Si Let's Encrypt n'y figure pas, la demande échoue (cours DNS, leçon 5.2).

Deux adresses dans WordPress

Sous Réglages > Général figurent deux adresses. Elles semblent faire double emploi, mais elles ont des rôles différents :

ChampDans la base de donnéesSignification
Adresse WordPress (URL)siteurlL'emplacement des fichiers de WordPress (wp-admin, wp-includes)
Adresse du site (URL)homeL'adresse utilisée par les visiteurs

En général elles sont identiques, par exemple toutes les deux https://example.com. Elles diffèrent uniquement lorsque WordPress se trouve dans un sous-dossier mais que le site doit apparaître à la racine.

WordPress construit tous les liens à partir de ces adresses : vers les pages, les feuilles de style, les images, l'administration. Si l'une d'elles contient http://, WordPress construira des pages avec des liens en http://, même si le visiteur arrive en https. Cela provoque du contenu mixte (leçon 3.2) et des redirections dans les deux sens.

Faire passer un site en https

Si vous avez un site existant en http, voici les étapes à suivre :

  1. Demander un certificat pour les deux noms et vérifier que https://example.com fonctionne (vous verrez alors une page WordPress, peut-être encore sans mise en forme).
  2. Faire une sauvegarde (leçon 8.1).
  3. Mettre les deux adresses sous Réglages > Général en https:// et enregistrer. Vous serez déconnecté ; reconnectez-vous via https.
  4. Convertir les anciens liens dans le contenu de http://example.com vers https://example.com. Faites-le avec un outil qui comprend les données sérialisées, comme wp search-replace ou une extension de recherche et remplacement (leçon 3.2), jamais avec une simple commande SQL.
  5. Rediriger : faites en sorte que le serveur web renvoie toutes les requêtes en http vers https avec un code 301 (leçon 3.2). Beaucoup d'hébergeurs proposent une case à cocher pour cela ; sinon, quelques lignes dans .htaccess.
  6. Vérifier avec l'exercice de cette leçon et celui de la leçon 3.2.

Exclu : si l'adresse est incorrecte

Si vous faites une faute de frappe dans les adresses (htps://, un domaine erroné), WordPress vous renverra après l'enregistrement vers cette adresse incorrecte. Vous ne pourrez plus accéder à l'administration. Pas de panique, il existe deux solutions :

Via wp-config.php. Placez au-dessus de la ligne « stop d'édition » :

define( 'WP_HOME', 'https://example.com' );
define( 'WP_SITEURL', 'https://example.com' );

Ces lignes prennent le pas sur les valeurs de la base de données. Les champs sous Réglages > Général deviennent alors grisés. Connectez-vous, saisissez les bonnes valeurs dans la base de données, puis supprimez ces lignes (ou laissez-les volontairement, ainsi personne ne pourra modifier les adresses par erreur via l'administration).

Via phpMyAdmin. Ouvrez la table wp_options et modifiez les valeurs de siteurl et home.

HSTS : faire en sorte que le navigateur s'en souvienne

Avec l'en-tête HSTS (Strict-Transport-Security), le serveur indique au navigateur : « pendant un certain temps, ne vous connectez plus ici qu'en https ». Le navigateur convertira ensuite lui-même chaque http:// en https://, sans d'abord envoyer de requête non sécurisée.

Strict-Transport-Security: max-age=31536000; includeSubDomains

HSTS est une bonne étape supplémentaire, mais avec un avertissement : un navigateur qui a déjà vu HSTS refusera ensuite d'ouvrir le site sans certificat valable, même en cliquant sur « continuer quand même ». Avec includeSubDomains, cela s'applique à chaque sous-domaine. Si vous avez un sous-domaine sans certificat (par exemple un ancien système interne), il devient inaccessible après activation de HSTS. Commencez donc par une courte max-age (par exemple un jour, 86400), vérifiez tout, puis allongez-la.

En pratique : à quoi cela ressemble dans un panneau

À titre d'exemple, nous utilisons DirectAdmin. Dans cPanel, cette fonction s'appelle SSL/TLS Status (AutoSSL), dans Plesk SSL/TLS Certificates.

  1. Ouvrez Certificats SSL pour votre domaine et choisissez Certificat gratuit et automatique de Let's Encrypt.
  2. Cochez example.com et www.example.com et demandez le certificat.
  3. Dans les réglages du domaine, cochez l'option pour toujours rediriger les visiteurs vers https (chez DirectAdmin : Forcer SSL avec redirection https). N'utilisez qu'une seule méthode de redirection : deux méthodes différentes en même temps peuvent créer une boucle (« trop de redirections »).
  4. Dans WordPress, allez dans Réglages > Général et mettez les deux adresses en https://.

Résumé

  • https chiffre tout ce qui passe entre le navigateur et le serveur ; le certificat prouve l'identité du serveur.
  • Les certificats gratuits de Let's Encrypt ont une courte durée de validité et sont renouvelés automatiquement ; ils doivent couvrir chaque nom qu'un visiteur peut saisir.
  • L'adresse WordPress (siteurl) et l'adresse du site (home) doivent toutes deux être en https://.
  • Si vous êtes exclu de l'administration à cause d'une adresse erronée, corrigez-la avec WP_HOME et WP_SITEURL dans wp-config.php ou dans phpMyAdmin.
  • HSTS est une bonne étape supplémentaire ; commencez par une courte durée de validité.

Quiz

1. Votre site fonctionne en https, mais dans Réglages > Général les deux adresses sont encore en http://. Que constatez-vous ?



2. Vous avez enregistré par erreur une faute de frappe dans l'adresse du site et vous n'avez plus accès à l'administration. Que faire ?



3. Pourquoi le certificat doit-il aussi couvrir www.example.com si ce nom se contente de rediriger vers example.com ?



4. Quel est le risque de HSTS avec une max-age longue et includeSubDomains ?



Exercice

Exercice A3.1 : Votre certificat est-il correct ? Indiquez l'adresse de votre site. Le programme établit une connexion TLS avec le nom sans www et avec www (s'il existe) et vérifie : le certificat est-il valable et de confiance, couvre-t-il les deux noms, est-il valable plus de 14 jours, et le site envoie-t-il un en-tête HSTS ? Si HSTS est absent, c'est signalé en orange avec une explication, ce n'est pas une erreur.

Exercice A3.1: Votre certificat est-il correct ?


Nous ne conservons pas ce que vous saisissez ni ce que nous trouvons. Votre navigateur mémorise vos réponses et si l'exercice est réussi. Si vous êtes connecté, nous enregistrons uniquement dans Mes formations que l'exercice était (presque) correct ; vous pouvez aussi le supprimer à cet endroit.

Pour aller plus loin

Ces articles décrivent les étapes dans les panneaux de WebOké ; dans d'autres panneaux, le fonctionnement est comparable.

Un instant…

Configurez vos domaines

Pour chaque domaine, réglez les serveurs de noms, l'association à votre hébergement et le futur titulaire.

Chargement de vos domaines…