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 :
- Ouvrez gethttps.com/app/setup — aucune installation, aucun compte
- Entrez votre nom de domaine
- Vérifiez la propriété du domaine (placez un fichier sur votre serveur ou ajoutez un enregistrement DNS)
- Téléchargez vos fichiers de certificat
- 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éthode | Idéal pour | Installation | Renouvellement auto | Durée |
|---|---|---|---|---|
| GetHTTPS (navigateur) | Tout le monde — pas d’installation, pas d’accès serveur requis | Manuel | Non | 5 min |
| Votre hébergeur | Hébergement mutualisé avec cPanel/Plesk | Automatique | Généralement oui | 2 min |
| Certbot (CLI) | Administrateurs système avec accès root | Automatique | Oui | 10 min |
| Cloudflare (CDN) | Sites utilisant déjà Cloudflare | Automatique | Oui | 5 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 voulez | Ce qu’il faut entrer | Notes |
|---|---|---|
| Domaine unique | example.com | Configuration la plus basique |
| Domaine + www | example.com + www.example.com | Recommandé pour la plupart des sites |
| Wildcard | *.example.com | Couvre tous les sous-domaines ; nécessite DNS-01 |
| Domaines multiples | example.com + blog.example.com + shop.example.com | Certificat 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.
- GetHTTPS vous affiche un nom de fichier et un contenu de fichier (une longue chaîne de jeton)
- Créez le fichier sur votre serveur :
http://votredomaine.com/.well-known/acme-challenge/NOM_FICHIER_TOKEN - Le fichier doit être accessible via HTTP (port 80) — même si votre site utilise déjà HTTPS
- 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 :
- Allez dans File Manager → naviguez vers
public_html - Créez le dossier
.well-known→ à l’intérieur, créezacme-challenge - Créez un nouveau fichier avec le nom du fichier token, collez le contenu du token
- Assurez-vous que le fichier est lisible par tous (permissions 644)
FTP :
- Connectez-vous par FTP à la racine de votre site
- Naviguez vers (ou créez)
.well-known/acme-challenge/ - 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-knownpar défaut. Si vous obtenez une erreur 404, vérifiez la configuration de votre serveur. Nginx peut nécessiterlocation ~ /\.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.
- GetHTTPS vous affiche un nom d’enregistrement (ex :
_acme-challenge.example.com) et une valeur d’enregistrement (un long hash) - Allez chez votre fournisseur DNS et ajoutez l’enregistrement TXT
- Attendez la propagation DNS (généralement 1 à 5 minutes)
- Cliquez sur Verify dans GetHTTPS
Référence rapide par fournisseur DNS :
| Fournisseur | Où ajouter l’enregistrement TXT | Paramètre TTL |
|---|---|---|
| Cloudflare | DNS → Records → Add record → Type : TXT | Auto |
| AWS Route 53 | Hosted zones → votre domaine → Create record → TXT | 300 |
| GoDaddy | DNS Management → Add → Type : TXT | 1 Hour |
| Namecheap | Domain List → Manage → Advanced DNS → Add new record → TXT | Automatic |
| Google Domains | DNS → Custom records → Manage → Create new record → TXT | Auto |
| DigitalOcean | Networking → Domains → votre domaine → Add record → TXT | 30 |
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 :
| Fichier | Ce que c’est | Quand vous en avez besoin |
|---|---|---|
privkey.pem | Votre clé privée — gardez-la secrète ! | Tout serveur |
cert.pem | Votre certificat SSL (entité finale uniquement) | Apache, certaines configurations |
chain.pem | Le certificat CA intermédiaire de Let’s Encrypt | Apache, certaines configurations |
fullchain.pem | cert.pem + chain.pem combinés | Nginx, 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.pemen 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 :
| Plateforme | Guide | Fichiers clés nécessaires |
|---|---|---|
| Nginx | Guide complet → | fullchain.pem + privkey.pem |
| Apache | Guide complet → | cert.pem + chain.pem + privkey.pem |
| cPanel | Guide complet → | Collez le contenu des trois fichiers |
| WordPress | Guide complet → | Dépend de l’hébergement (cPanel/Nginx/Apache) |
| Windows IIS | Guide complet → | Convertir d’abord en PFX |
| Docker | Guide complet → | Monter fullchain.pem + privkey.pem |
| Plesk | Guide complet → | Collez le contenu des trois fichiers |
| AWS | Guide complet → | Télécharger sur EC2 ou importer dans ACM |
| Node.js | Guide 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 :
- Visitez
https://votredomaine.com - Cliquez sur l’icône de cadenas → « Certificat » ou « La connexion est sécurisée »
- 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) :
- Retournez sur gethttps.com/app/setup
- Entrez à nouveau votre/vos domaine(s) et complétez une nouvelle challenge
- Remplacez les fichiers de certificat sur votre serveur
- 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ébergeur | Comment activer | Renouvellement auto |
|---|---|---|
| Hostinger | hPanel → Security → SSL | ✅ AutoSSL |
| SiteGround | Site Tools → Security → SSL Manager | ✅ |
| Bluehost | My Sites → Security → SSL | ✅ |
| Namecheap | cPanel → SSL/TLS Status | ✅ AutoSSL |
| GoDaddy | cPanel → SSL/TLS (si hébergement cPanel) | ✅ |
| DigitalOcean | Pas de SSL intégré — utilisez Certbot ou GetHTTPS | ❌ |
| AWS | ACM 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-knownn’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
- Certificat non installé : Vérifiez que la configuration de votre serveur pointe vers les bons fichiers
- Contenu mixte : Votre page charge des ressources HTTP. Guide de correction →
- Redirection non active : Le trafic HTTP n’est pas redirigé vers HTTPS. Guide de redirection →
- 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é | GetHTTPS | ZeroSSL | SSL For Free | Certbot |
|---|---|---|---|---|
| Installation | Aucune (navigateur) | Aucune (web) | Aucune (web) | Installation CLI requise |
| Clé privée | Générée dans le navigateur (Web Crypto) | ⚠️ Peut être générée côté serveur | ⚠️ Générée côté serveur | Générée côté serveur |
| Limite de certificats gratuits | Illimité | 3 | 3 | Illimité |
| Wildcard (gratuit) | ✅ | ❌ (payant) | ❌ | ✅ |
| Renouvellement auto | ❌ | ❌ | ❌ | ✅ |
| Vérification préalable | ✅ | ❌ | ❌ | ❌ |
| Open source | Non | Non | Non | Oui (Apache 2.0) |
| Direct vers Let’s Encrypt | ✅ | Via ZeroSSL | Via 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.