Tous les guides de démarrage Premiers pas

Comment obtenir un certificat SSL gratuit (guide étape par étape)

Un certificat SSL gratuit chiffre la connexion entre vos visiteurs et votre site web — protégeant les mots de passe, les paiements et les données personnelles. Vous pouvez en obtenir un en environ 5 minutes sans dépenser un centime.

TL;DR — Version rapide :

  1. Ouvrez gethttps.com/app/setup — aucune installation, aucun compte
  2. Entrez votre nom de domaine
  3. Vérifiez la propriété du domaine (placez un fichier sur votre serveur ou ajoutez un enregistrement DNS)
  4. Téléchargez vos fichiers de certificat
  5. Installez sur votre serveur (Nginx, Apache, cPanel, WordPress, IIS)

Lisez la suite pour le guide complet avec tous les détails.


Pourquoi vous avez besoin d’un certificat SSL

Avant de commencer — si vous vous demandez si votre site a vraiment besoin de SSL :

  • Les navigateurs marquent les sites HTTP comme « Non sécurisé » — Chrome, Firefox et Edge affichent un avertissement dans la barre d’adresse. Les visiteurs partent.
  • Google utilise HTTPS comme signal de classement — depuis 2014. Les sites HTTP sont moins bien classés.
  • Les formulaires et connexions transmettent les données en clair sans HTTPS — n’importe qui sur le réseau peut lire les mots de passe, numéros de carte de crédit et données personnelles.
  • Les pages HTTP peuvent être modifiées en transit — les FAI et les attaquants peuvent injecter des publicités, du tracking ou des malwares dans vos pages.
  • HTTPS est gratuit — il n’y a aucune raison de ne pas l’utiliser.

Si votre site est déjà en HTTPS, vous pouvez passer directement au renouvellement.

4 façons d’obtenir un certificat SSL gratuit

MéthodeIdéal pourInstallationRenouvellement autoDurée
GetHTTPS (navigateur)Tout le monde — pas d’installation, pas d’accès serveur requisManuelNon5 min
Votre hébergeurHébergement mutualisé avec cPanel/PleskAutomatiqueGénéralement oui2 min
Certbot (CLI)Administrateurs système avec accès rootAutomatiqueOui10 min
Cloudflare (CDN)Sites utilisant déjà CloudflareAutomatiqueOui5 min

Ce guide se concentre sur la Méthode 1 (GetHTTPS) car elle fonctionne partout — hébergement mutualisé, VPS, serveur dédié, ou toute plateforme où vous pouvez déposer des fichiers. Pour les autres méthodes, consultez les liens ci-dessus.


Méthode 1 : GetHTTPS (recommandé — fonctionne partout)

Prérequis

  • Un nom de domaine enregistré pointant vers un serveur que vous contrôlez
  • Accès à l’un des suivants (pour la vérification du domaine) :
    • Le système de fichiers de votre serveur web — pour placer un fichier de vérification (challenge HTTP-01)
    • Les paramètres DNS de votre domaine — pour ajouter un enregistrement TXT (challenge DNS-01)
  • Un navigateur moderne — Chrome, Firefox, Edge ou Safari

Quel type de challenge choisir ? HTTP-01 est plus simple pour la plupart des gens. DNS-01 est requis pour les certificats wildcard (*.example.com). Consultez notre guide HTTP-01 et guide DNS-01 pour des explications détaillées.

Étape 1 : Ouvrir GetHTTPS

Allez sur gethttps.com/app/setup.

GetHTTPS génère automatiquement deux paires de clés dans votre navigateur :

  • Clé de compte — Une paire de clés ECDSA P-256 qui identifie votre compte Let’s Encrypt. Signe toutes les requêtes ACME.
  • Clé de certificat — La paire de clés pour votre certificat SSL. ECDSA P-256 par défaut (recommandé) ou RSA 2048.

Les deux clés sont créées à l’aide de la Web Crypto API intégrée à votre navigateur. Elles n’existent que dans la mémoire du navigateur et ne sont jamais envoyées à un serveur — même pas le nôtre. C’est l’avantage clé en matière de confidentialité par rapport à des outils comme SSL For Free (qui génère les clés sur leur serveur) ou ZeroSSL (qui peut générer les clés côté serveur selon la méthode).

Étape 2 : Ajouter vos noms de domaine

Entrez le(s) domaine(s) que vous souhaitez sécuriser :

Ce que vous voulezCe qu’il faut entrerNotes
Domaine uniqueexample.comConfiguration la plus basique
Domaine + wwwexample.com + www.example.comRecommandé pour la plupart des sites
Wildcard*.example.comCouvre tous les sous-domaines ; nécessite DNS-01
Domaines multiplesexample.com + blog.example.com + shop.example.comCertificat SAN

Conseil : Si vous entrez example.com, GetHTTPS vous suggère d’ajouter aussi www.example.com (et vice versa). La plupart des sites devraient sécuriser les deux.

Étape 3 : Compléter la vérification du domaine

Let’s Encrypt doit vérifier que vous contrôlez le domaine. Choisissez l’une des deux méthodes :

Option A : Challenge HTTP-01 (plus simple, pour la plupart des gens)

Let’s Encrypt fournit un jeton. Vous placez un fichier sur votre serveur web à une URL spécifique.

  1. GetHTTPS vous affiche un nom de fichier et un contenu de fichier (une longue chaîne de jeton)
  2. Créez le fichier sur votre serveur :
    http://votredomaine.com/.well-known/acme-challenge/NOM_FICHIER_TOKEN
  3. Le fichier doit être accessible via HTTP (port 80) — même si votre site utilise déjà HTTPS
  4. Cliquez sur Verify dans GetHTTPS

Comment créer le fichier — par plateforme :

Accès SSH (Nginx/Apache sur Linux) :

# Créer le répertoire (s'il n'existe pas)
mkdir -p /var/www/html/.well-known/acme-challenge/

# Créer le fichier de challenge — utilisez les valeurs EXACTES de GetHTTPS
echo "TOKEN_CONTENT_SHOWN_IN_GETHTTPS" > /var/www/html/.well-known/acme-challenge/TOKEN_FILENAME

# Vérifier qu'il est accessible
curl http://yourdomain.com/.well-known/acme-challenge/TOKEN_FILENAME

cPanel File Manager :

  1. Allez dans File Manager → naviguez vers public_html
  2. Créez le dossier .well-known → à l’intérieur, créez acme-challenge
  3. Créez un nouveau fichier avec le nom du fichier token, collez le contenu du token
  4. Assurez-vous que le fichier est lisible par tous (permissions 644)

FTP :

  1. Connectez-vous par FTP à la racine de votre site
  2. Naviguez vers (ou créez) .well-known/acme-challenge/
  3. Déposez un fichier texte avec le nom du fichier token contenant le contenu du token

Problème courant : Certains serveurs web ne servent pas les fichiers depuis .well-known par défaut. Si vous obtenez une erreur 404, vérifiez la configuration de votre serveur. Nginx peut nécessiter location ~ /\.well-known { allow all; } dans la configuration.

Option B : Challenge DNS-01 (requis pour les wildcards)

Vous ajoutez un enregistrement TXT aux paramètres DNS de votre domaine.

  1. GetHTTPS vous affiche un nom d’enregistrement (ex : _acme-challenge.example.com) et une valeur d’enregistrement (un long hash)
  2. Allez chez votre fournisseur DNS et ajoutez l’enregistrement TXT
  3. Attendez la propagation DNS (généralement 1 à 5 minutes)
  4. Cliquez sur Verify dans GetHTTPS

Référence rapide par fournisseur DNS :

FournisseurOù ajouter l’enregistrement TXTParamètre TTL
CloudflareDNS → Records → Add record → Type : TXTAuto
AWS Route 53Hosted zones → votre domaine → Create record → TXT300
GoDaddyDNS Management → Add → Type : TXT1 Hour
NamecheapDomain List → Manage → Advanced DNS → Add new record → TXTAutomatic
Google DomainsDNS → Custom records → Manage → Create new record → TXTAuto
DigitalOceanNetworking → Domains → votre domaine → Add record → TXT30

Nom de l’enregistrement : _acme-challenge (certains fournisseurs ajoutent automatiquement votre domaine, d’autres non — vérifiez l’aperçu) Valeur de l’enregistrement : La chaîne hash affichée dans GetHTTPS (copier-coller exactement)

Vérification préalable (fonctionnalité exclusive de GetHTTPS)

Avant de soumettre à Let’s Encrypt, GetHTTPS vérifie préalablement votre configuration de challenge depuis l’internet public via l’API DNS-over-HTTPS de Google. Cela détecte des erreurs comme :

  • Mauvais contenu ou permissions du fichier
  • Fichier non accessible sur le port 80
  • Enregistrement DNS pas encore propagé
  • Pare-feu bloquant la requête
  • Proxy Cloudflare interceptant la challenge

Si la vérification préalable échoue, GetHTTPS vous montre exactement ce qui ne va pas — pour que vous puissiez corriger avant de consommer une tentative de limite de débit.

C’est une fonctionnalité que les autres outils dans le navigateur n’ont pas. SSL For Free et ZeroSSL soumettent directement à la CA, et vous ne découvrez les erreurs qu’après coup.

Étape 4 : Télécharger vos fichiers de certificat

Une fois toutes les challenges réussies, Let’s Encrypt émet votre certificat. GetHTTPS vous donne quatre fichiers :

FichierCe que c’estQuand vous en avez besoin
privkey.pemVotre clé privée — gardez-la secrète !Tout serveur
cert.pemVotre certificat SSL (entité finale uniquement)Apache, certaines configurations
chain.pemLe certificat CA intermédiaire de Let’s EncryptApache, certaines configurations
fullchain.pemcert.pem + chain.pem combinésNginx, la plupart des serveurs

Téléchargez les quatre fichiers. Différents serveurs nécessitent différentes combinaisons — avoir les quatre vous couvre. Voir les formats de certificats expliqués pour plus de détails.

Sécurité : Stockez privkey.pem en lieu sûr. Quiconque possède ce fichier peut usurper l’identité de votre site web. Ne l’envoyez pas par e-mail, ne le committez pas dans Git, ne le placez pas dans un dossier public.

Étape 5 : Installer sur votre serveur

Choisissez votre plateforme :

PlateformeGuideFichiers clés nécessaires
NginxGuide complet →fullchain.pem + privkey.pem
ApacheGuide complet →cert.pem + chain.pem + privkey.pem
cPanelGuide complet →Collez le contenu des trois fichiers
WordPressGuide complet →Dépend de l’hébergement (cPanel/Nginx/Apache)
Windows IISGuide complet →Convertir d’abord en PFX
DockerGuide complet →Monter fullchain.pem + privkey.pem
PleskGuide complet →Collez le contenu des trois fichiers
AWSGuide complet →Télécharger sur EC2 ou importer dans ACM
Node.jsGuide complet →fullchain.pem + privkey.pem dans le code

Installation rapide — Nginx :

server {
    listen 443 ssl http2;
    server_name example.com www.example.com;

    ssl_certificate     /etc/ssl/fullchain.pem;
    ssl_certificate_key /etc/ssl/privkey.pem;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers off;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 1d;

    add_header Strict-Transport-Security "max-age=63072000" always;

    root /var/www/html;
    index index.html;
}
sudo nginx -t && sudo systemctl reload nginx

Installation rapide — Apache :

<VirtualHost *:443>
    ServerName example.com
    ServerAlias www.example.com

    SSLEngine on
    SSLCertificateFile      /etc/ssl/cert.pem
    SSLCertificateKeyFile   /etc/ssl/privkey.pem
    SSLCertificateChainFile /etc/ssl/chain.pem

    SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
    SSLHonorCipherOrder off

    DocumentRoot /var/www/html
</VirtualHost>
sudo apachectl configtest && sudo systemctl reload apache2

Étape 6 : Rediriger HTTP vers HTTPS

Forcez tout le trafic à utiliser la connexion chiffrée. Sans cela, les visiteurs en http:// ne bénéficient pas de votre certificat.

Nginx :

server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;
}

Apache (.htaccess) :

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Guide complet de redirection avec www/non-www, scénarios de proxy et dépannage →

Étape 7 : Vérifier que tout fonctionne

Vérification navigateur :

  1. Visitez https://votredomaine.com
  2. Cliquez sur l’icône de cadenas → « Certificat » ou « La connexion est sécurisée »
  3. Vérifiez : émis par « Let’s Encrypt », expire dans ~90 jours, le domaine correspond

Vérification en ligne de commande :

# Afficher les détails du certificat
echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null \
  | openssl x509 -noout -subject -issuer -dates

# Sortie attendue :
# subject=CN=example.com
# issuer=C=US, O=Let's Encrypt, CN=R10
# notBefore=May  8 00:00:00 2026 GMT
# notAfter=Aug  6 00:00:00 2026 GMT

Vérification en ligne : Entrez votre domaine sur SSL Labs Server Test pour un rapport complet couvrant la chaîne de certificats, le support des protocoles, les suites de chiffrement et les vulnérabilités connues.

Vérifier le contenu mixte : Ouvrez les DevTools de votre navigateur (F12) → onglet Console. Cherchez les avertissements « Mixed Content » — ce sont des ressources HTTP sur votre page HTTPS. Comment corriger le contenu mixte →


Renouvellement

Les certificats Let’s Encrypt expirent après 90 jours. Renouvelez avant le jour 60 pour vous donner une marge de sécurité.

Avec GetHTTPS (manuel) :

  1. Retournez sur gethttps.com/app/setup
  2. Entrez à nouveau votre/vos domaine(s) et complétez une nouvelle challenge
  3. Remplacez les fichiers de certificat sur votre serveur
  4. Rechargez votre serveur web (sudo systemctl reload nginx)

Avec Certbot (automatique) : Si vous voulez un renouvellement automatique, installez Certbot sur votre serveur. Beaucoup d’équipes utilisent GetHTTPS pour le premier certificat et Certbot pour le renouvellement automatique continu.

Guide complet de renouvellement →

Bientôt disponible : certificats de 47 jours. Le CA/Browser Forum a voté pour réduire la durée maximale de validité des certificats à 47 jours d’ici 2029. Ce que cela signifie pour vous →


Méthode 2 : Votre hébergeur (le plus simple si disponible)

Beaucoup d’hébergeurs incluent un SSL gratuit :

HébergeurComment activerRenouvellement auto
HostingerhPanel → Security → SSL✅ AutoSSL
SiteGroundSite Tools → Security → SSL Manager
BluehostMy Sites → Security → SSL
NamecheapcPanel → SSL/TLS Status✅ AutoSSL
GoDaddycPanel → SSL/TLS (si hébergement cPanel)
DigitalOceanPas de SSL intégré — utilisez Certbot ou GetHTTPS
AWSACM pour les load balancers, Certbot pour EC2✅ (ACM)

Si votre hébergeur fournit un SSL gratuit, utilisez-le — c’est le chemin le plus simple. Sinon (ou si vous voulez plus de contrôle), utilisez GetHTTPS.

Méthode 3 : Certbot (pour les administrateurs de serveurs)

Certbot est un outil CLI qui automatise les certificats Let’s Encrypt sur votre serveur. Nécessite un accès root.

# Installation (Ubuntu)
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot

# Obtenir le certificat + configurer automatiquement Nginx
sudo certbot --nginx -d example.com -d www.example.com

# Le renouvellement automatique est configuré automatiquement
sudo systemctl list-timers | grep certbot

Comparaison complète GetHTTPS vs Certbot →

Méthode 4 : Cloudflare (SSL basé sur le proxy)

Si vous utilisez Cloudflare comme CDN, Universal SSL est inclus gratuitement. Mais comprenez bien : le SSL Cloudflare signifie que votre trafic est déchiffré à la périphérie de Cloudflare, pas sur votre serveur. Est-ce acceptable pour vous ? →


Dépannage

Le fichier de challenge retourne une erreur 404

  • Vérifiez le chemin : Le fichier doit être exactement à /.well-known/acme-challenge/TOKEN — pas dans un sous-répertoire
  • Vérifiez les permissions : Le fichier doit être lisible par le serveur web (chmod 644)
  • Nginx : Ajoutez location ~ /\.well-known { allow all; } si votre configuration bloque les dotfiles
  • Cloudflare : Passez temporairement le DNS en « DNS only » (nuage gris) pendant la challenge HTTP-01
  • cPanel : Assurez-vous que .well-known n’est pas masqué — certains gestionnaires de fichiers masquent les répertoires commençant par un point

Enregistrement DNS non trouvé

  • Attendez plus longtemps — certains fournisseurs DNS prennent 5 à 15 minutes pour propager
  • Vérifiez le nom de l’enregistrement : Il devrait être _acme-challenge (avec ou sans votre domaine ajouté — cela dépend du fournisseur). La vérification préalable de GetHTTPS confirme.
  • Vérifiez le type d’enregistrement : Doit être TXT, pas CNAME ou A
  • Vérifiez manuellement :
    dig TXT _acme-challenge.yourdomain.com +short

Erreur « Too many requests » / limite de débit

Let’s Encrypt autorise 50 certificats par domaine enregistré par semaine. Si vous atteignez cette limite :

  • Attendez une semaine et réessayez
  • Utilisez l’environnement de staging pour les tests (GetHTTPS utilise le staging par défaut en développement)
  • Vérifiez vos challenges avant de les soumettre pour éviter les tentatives gaspillées

Le navigateur affiche « Non sécurisé » après l’installation

  1. Certificat non installé : Vérifiez que la configuration de votre serveur pointe vers les bons fichiers
  2. Contenu mixte : Votre page charge des ressources HTTP. Guide de correction →
  3. Redirection non active : Le trafic HTTP n’est pas redirigé vers HTTPS. Guide de redirection →
  4. Certificat expiré : Vérifier l’expiration →

Erreur « chaîne de certificats incomplète »

Vous utilisez cert.pem au lieu de fullchain.pem (Nginx) ou il manque SSLCertificateChainFile (Apache). Le serveur a besoin du certificat intermédiaire pour prouver la chaîne de confiance.


Pourquoi GetHTTPS plutôt que d’autres outils gratuits ?

FonctionnalitéGetHTTPSZeroSSLSSL For FreeCertbot
InstallationAucune (navigateur)Aucune (web)Aucune (web)Installation CLI requise
Clé privéeGénérée dans le navigateur (Web Crypto)⚠️ Peut être générée côté serveur⚠️ Générée côté serveurGénérée côté serveur
Limite de certificats gratuitsIllimité33Illimité
Wildcard (gratuit)❌ (payant)
Renouvellement auto
Vérification préalable
Open sourceNonNonNonOui (Apache 2.0)
Direct vers Let’s EncryptVia ZeroSSLVia ZeroSSL

Comparaison complète de tous les fournisseurs SSL gratuits →


Questions fréquentes

Puis-je vraiment obtenir un certificat SSL gratuitement ?

Oui. Let’s Encrypt est une autorité de certification à but non lucratif soutenue par Mozilla, Google, l’EFF et d’autres. Elle émet des certificats gratuits validés par domaine (DV) — le même type que beaucoup d’entreprises paient 50 à 200 $/an. Plus de 300 millions de sites web utilisent Let’s Encrypt, avec 63,9 % de part de marché mondiale des CA.

Un certificat SSL gratuit est-il aussi sécurisé qu’un payant ?

Oui. Tous les certificats SSL — gratuits ou payants — utilisent le même chiffrement TLS. Un certificat DV gratuit de Let’s Encrypt offre une force de chiffrement identique à un certificat EV à 500 $ de DigiCert. La seule différence est le niveau de validation (ce que la CA vérifie sur votre identité), pas le chiffrement. Comparaison détaillée →

Combien de temps dure un certificat SSL gratuit ?

Les certificats Let’s Encrypt sont valides pendant 90 jours. Cette courte durée de validité est intentionnelle — elle limite les dégâts en cas de compromission de clé et encourage l’automatisation. Renouvelez au jour 60 pour une marge de sécurité. Note : d’ici 2029, tous les certificats seront limités à 47 jours.

Ai-je besoin d’un accès SSH/root à mon serveur ?

Pas avec GetHTTPS. Vous avez juste besoin de pouvoir :

  • Placer un fichier sur votre serveur web (via FTP, cPanel File Manager ou toute autre méthode) — pour HTTP-01
  • Ajouter un enregistrement DNS (via votre registraire de domaine ou fournisseur DNS) — pour DNS-01

Si vous n’avez aucun accès, vérifiez si votre hébergeur offre un SSL gratuit via son panneau de contrôle.

Puis-je obtenir un certificat wildcard gratuitement ?

Oui. GetHTTPS prend en charge les certificats wildcard (*.example.com) en utilisant la challenge DNS-01. C’est une fonctionnalité que beaucoup de concurrents (ZeroSSL, SSL For Free) réservent aux plans payants. Vous aurez besoin d’accéder aux paramètres DNS de votre domaine.

Puis-je sécuriser plusieurs domaines avec un seul certificat ?

Oui. Entrez tous vos domaines dans GetHTTPS — jusqu’à 100 noms par certificat. Cela crée un certificat SAN (multi-domaine). Chaque domaine nécessite sa propre vérification de challenge.

Quelle est la différence entre les challenges HTTP-01 et DNS-01 ?

HTTP-01 : Vous placez un fichier sur votre serveur. Plus simple, fonctionne pour les domaines uniques. Nécessite l’accès au port 80. DNS-01 : Vous ajoutez un enregistrement TXT dans votre DNS. Requis pour les wildcards. Fonctionne même si le port 80 est bloqué. Guide détaillé HTTP-01 → | Guide DNS-01 →

Que se passe-t-il si mon certificat expire ?

Les navigateurs affichent un avertissement de sécurité pleine page (« Votre connexion n’est pas privée »). Les visiteurs ne peuvent pas accéder à votre site en toute sécurité, et les moteurs de recherche peuvent désindexer vos pages. Vérifier l’expiration → | Comment renouveler →

Puis-je passer de GetHTTPS à Certbot (ou vice versa) ?

Oui. Les fichiers de certificat sont au format PEM standard. Vous pouvez générer le premier certificat avec GetHTTPS et installer ensuite Certbot pour le renouvellement automatique. Ou utiliser Certbot initialement et passer à GetHTTPS quand vous avez besoin d’une réémission rapide sans accès serveur. Les outils ne sont pas en conflit.

Articles connexes

Comparer 2026-05-08
GetHTTPS vs Certbot : quel outil SSL choisir ?
Comparaison detaillee de GetHTTPS et Certbot pour obtenir des certificats SSL gratuits de Let's Encrypt. Comparez l'installation, le workflow, la confidentialite, l'automatisation, le renouvellement et les cas d'utilisation.
Comparer 2026-05-08
Les meilleurs fournisseurs de certificats SSL gratuits en 2026 (comparaison)
Comparez 9 fournisseurs de certificats SSL gratuits sur la confidentialite, les limites, le support wildcard et l'automatisation. Inclut des CA autonomes, des hebergeurs et des CDN -- avec une analyse de confidentialite qu'aucune autre comparaison ne couvre.
Premiers pas 2026-05-08
Challenge HTTP-01 : fonctionnement et mise en place
HTTP-01 est le moyen le plus simple de prouver la propriété d'un domaine pour un certificat SSL. Placez un fichier sur votre serveur, Let's Encrypt le vérifie, et votre certificat est émis.
Premiers pas 2026-05-08
Challenge DNS-01 : fonctionnement et mise en place
La validation DNS-01 prouve la propriété du domaine en ajoutant un enregistrement TXT dans votre DNS. Requise pour les certificats wildcard. Configuration pour Cloudflare, Route 53, GoDaddy, Namecheap et plus.
Obtenez un certificat SSL gratuit dans votre navigateur
Aucune installation, aucun compte. Votre clé privée ne quitte jamais votre appareil.
Obtenir un certificat