[{"uuid":"b1d4d4ef-13c7-4a23-9ce0-b5317721a20a","slug":"maintenance-2","title":"Maintenance","category":"Informatique","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2023-02-16 00:49:13","created_at":"2023-02-16 00:49:13","updated_at":"2023-02-16 00:49:13","tags":[],"plain":"Table des matières\nLes pages\n Les sous-catégories\n"},{"uuid":"14881210-68fb-412e-9900-55d2e39ec241","slug":"structure-des-dossiers-d-un-projet-php","title":"Programmer un site Internet en PHP","category":"Informatique","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2023-12-26 19:50:41","created_at":"2023-12-26 19:50:41","updated_at":"2023-12-26 19:50:41","tags":[],"plain":"Avertissements\nBien que Composer soit un outil puissant pour les dépendances et les classes externes, certaines personnes préfèrent toujours créer leurs propres classes pour des raisons telles que :\nContrôle sur le code : En créant ses propres classes, on peut contrôler le code source et le personnaliser pour répondre à ses besoins spécifiques.\nMeilleure compréhension : En créant ses propres classes, on peut mieux comprendre comment elles fonctionnent et les adapter à ses propres projets.\nPrise en charge des anciens projets : Si on a déjà utilisé ses propres classes pour la gestion de la base de données ou d'autres tâches dans d'autres projets, il peut être plus facile de les utiliser dans un nouveau projet plutôt que d'adopter un nouvel outil.\nExigences personnalisées : Certaines personnes peuvent avoir des exigences spécifiques qui ne sont pas prises en charge par les bibliothèques externes existantes. La création de leurs propres classes leur permet de satisfaire ces besoins. Le choix entre l'utilisation de Composer et la création de ses propres classes dépend des besoins et des préférences individuelles. en cours de rédaction Structure des dossiers d un projet php\nDans la plupart des cas, il est recommandé de créer un dossier public pour séparer les fichiers publics du code source. Le dossier public devrait contenir les fichiers accessibles directement via un navigateur web, tels que les fichiers HTML, JavaScript, CSS et images. Les autres fichiers, tels que les classes PHP, les fichiers de configuration et les fichiers d'enregistrement, devraient être placés dans un dossier séparé pour une meilleure sécurité. Pour structurer un projet PHP avec des classes, JavaScript et CSS, voici une structure de dossiers suggérée : Dans un projet PHP, les dossiers classes, css et js peuvent être utilisés pour organiser les fichiers associés à ces technologies.\n: ce dossier peut contenir toutes les classes PHP utilisées pour la logique de l'application.\n: ce dossier peut contenir tous les fichiers CSS pour la mise en forme de l'interface utilisateur.\n: ce dossier peut contenir tous les fichiers JavaScript pour la logique client-side et l'interaction utilisateur.\n: ce dossier devrait être placé dans le dossier public pour être accessible directement via un navigateur web. Il contient les images. Il est courant de placer les fichiers de configuration dans un dossier nommé et les fichiers d'enregistrement dans un dossier nommé . Cependant, la structure de dossiers dépend fortement des besoins spécifiques de chaque projet, il n'y a donc pas de solution universelle. Il est important de choisir une structure de dossiers qui facilite la maintenance et la compréhension de votre projet pour vous et les autres développeurs qui peuvent travailler dessus. Créer un autoloader pour les classes\nUn autoloader est une fonction en PHP qui charge automatiquement les classes nécessaires à l'exécution du code. Vous pouvez créer un autoloader en définissant une fonction qui inclura le fichier associé à une classe spécifique lorsque cette classe est utilisée pour la première fois. Voici un exemple d'implémentation d'un web/autoload : Cet exemple utilise la fonction de PHP pour définir l'autoloader. La fonction accepte une fonction anonyme qui sera appelée chaque fois qu'une classe non trouvée sera utilisée. La fonction anonyme convertit le nom de la classe en un nom de fichier en remplaçant les antislashs (\\) par des slashs (/) et ajoute l'extension pour former le nom du fichier associé à la classe. Enfin, le fichier associé est inclu en utilisant précédé du chemin pour accéder au classes (). Ce code suppose que les noms de classes correspondent aux noms de fichiers et que les classes sont rangées dans des dossiers hiérarchiques correspondant à leur namespace. Il peut être nécessaire de personnaliser cette implémentation en fonction de la structure de dossiers de votre projet. Créer un fichier de configuration\nCréer des fichiers de log\nCréer une connexion à la base de données"},{"uuid":"da1b3cec-980d-458c-9d2b-0c950d278f22","slug":"domotique-les-vrais-problemes-en-domotique-zigbee-home-assistant","title":"Domotique : les vrais problèmes en domotique Zigbee & Home Assistant","category":"domotique","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2026-05-22 18:00:00","created_at":"2026-05-22 18:00:00","updated_at":"2025-05-01 06:11:58","tags":{"logiciels":["Home Assistant"]},"plain":"Je suis en train de préparer une vidéo un peu différente de celle que j’ai faite sur Zigbee, Zigbee2MQTT et Home Assistant. Cette fois, je veux parler des problèmes concrets que je rencontre au quotidien, dans une installation domotique qui fonctionne… mais pas toujours comme prévu.\r\n\r\nPar exemple, mon antenne Zigbee — une clé que j’utilise avec Zigbee2MQTT — se déconnecte régulièrement, toutes les 5 à 15 minutes. C’est intermittent, difficile à diagnostiquer, et surtout très frustrant. Parfois, elle réapparaît toute seule. D’autres fois, elle oblige à redémarrer le service ou la machine. Et évidemment, quand le Zigbee tombe, toute la chaîne domotique en dépend : capteurs inaccessibles, automatisations qui ne se déclenchent plus, etc.\r\n\r\nJe parlerai aussi des problèmes côté serveur, comme certaines mises à jour de Home Assistant ou d’addons qui ne se passent pas bien : dépendances cassées, redémarrages partiels, ou intégrations qui ne répondent plus comme avant. Ce sont des situations qu’on rencontre tôt ou tard quand on auto-héberge, surtout dans un système évolutif et modulaire comme Home Assistant.\r\n\r\nProblèmes coté objets connectés : \r\n pile HS\r\n valeurs incomplètes : il manque par exemple la puissance instantanée\r\n valeurs incorrectes : la valeur retournée n'est plus du tout correcte (il fait 9°C dehors et la capteur indique -1°), l'energie totale consommée passe de 1234 kW à 950 kW\r\n répondant de l'objet connecté : l'action n'est pas transmise ou avec avec beaucoup de retard à l'objet connecté quand l'objet de perd pas le réseau. Résolu avec la configuration de Zigbee2MQTT.\r\n perte de réseau : peut poser des problème lorsqu'on pilote des radiateurs\r\n\r\nOutils nécessaires :\r\n ssh\r\n multimètre\r\n\r\nL’objectif de cette vidéo, ce n’est pas de me plaindre ni de critiquer les outils que j’utilise. Au contraire. J’ai choisi cette approche justement parce qu’elle me laisse la main. Mais je veux montrer aussi la réalité terrain, au-delà des démonstrations propres et des installations idéales. Parce que ce sont dans ces moments-là — quand on cherche, qu’on teste, qu’on tâtonne — qu’on apprend vraiment comment tout fonctionne.\r\n\r\nEt si je partage ça, c’est aussi pour que d’autres qui rencontrent les mêmes soucis puissent comparer, proposer, ou tout simplement se rassurer**. Ce n’est pas parfait, mais ça tourne. Et parfois, savoir qu’on n’est pas seul à rencontrer un bug, c’est déjà beaucoup."},{"uuid":"1363f454-ca59-4264-a8f0-a2446d645ebc","slug":"installation-et-mise-en-service-d-une-borne-de-recharge-murale-goneo-7-4-kw","title":"Installation et mise en service d'une borne de recharge murale GONEO 7,4 kW","category":"","author":"cedric@abonnel.fr","cover":"cover.jpg","published":true,"published_at":"2026-05-13 11:04","created_at":"2026-05-13 11:23:38","updated_at":"2026-05-13 15:17:04","tags":{"logiciels":["Home Assistant"]},"plain":"Une borne de recharge murale GONEO a été récemment acquise (référence Amazon B0FP288GM7). Il s'agit d'une wallbox monophasée 7,4 kW (32 A, 230 V), équipée d'un connecteur Type 2, d'un lecteur RFID, et pilotable via Wi-Fi, Bluetooth. La gamme constructeur est documentée sur le site officiel GONEO Global et son catalogue EV Charger sur it.goneoglobal.com.\r\n\r\nCaractéristiques techniques\r\n\r\nD'après les fiches constructeur et revendeurs, le modèle présente les caractéristiques suivantes :\r\nPuissance : jusqu'à 7 kW en monophasé (annoncée 7,4 kW selon le réglage de courant)\r\nCourant réglable : 8 A à 32 A\r\nTension : 230 V monophasé\r\nConnecteur : Type 2 (IEC 62196-2)\r\nProtection : IP65, IK10, ignifuge UL94 V-0, plage -30 °C à +55 °C\r\nDétection de défaut intégrée : protection de fuite Type A 30 mA + DC 6 mA\r\nConnectivité : Wi-Fi, Bluetooth, compatible OCPP et Home Assistant\r\nApplication : Goneo EV Charger (Android / iOS)\r\n\r\nCâblage et raccordement\r\n\r\nLe câble d'alimentation a été tiré soi-même, en s'appuyant sur les règles de dimensionnement détaillées dans cet article. La section retenue est conforme aux préconisations constructeur : câble 3G6 mm² pour un courant maximum de 32 A, avec en amont un disjoncteur 40 A et un interrupteur différentiel type A 40 A.\r\n\r\nUn soin particulier a été apporté au serrage des borniers : un serrage insuffisant entraîne une résistance de contact accrue, source d'échauffement et de chute de tension sous charge — risque non négligeable compte tenu des intensités mises en jeu (jusqu'à 32 A en continu pendant plusieurs heures).\r\n\r\nVérifications avant mise sous tension\r\n\r\nUne fois le raccordement effectué, les mesures suivantes ont été réalisées au multimètre :\r\nPhase – Neutre : 230 V (tension nominale du réseau)\r\nPhase – Terre : 230 V (confirme la continuité de la phase et de la terre)\r\nNeutre – Terre : 0 V (idéalement quelques volts maximum ; une valeur significative trahirait un défaut de neutre ou de mise à la terre)\r\n\r\nÀ noter : la protection différentielle intégrée à la borne couvre la composante DC (6 mA), ce qui permet en théorie de se contenter d'un différentiel type A en amont — là où une borne sans détection DC interne exigerait un type B beaucoup plus onéreux. La vérification de la valeur de la prise de terre au telluromètre et le test du déclenchement du différentiel restent recommandés.\r\n\r\nMise en service\r\n\r\nLa mise en service s'effectue via le Wi-Fi de l'appareil et l'application propriétaire Goneo EV Charger. Points à anticiper :\r\nTélécharger l'application avant de commencer la procédure.\r\nCréer un compte utilisateur.\r\nS'assurer que le téléphone est connecté à un réseau Wi-Fi 2,4 GHz et que le Bluetooth est activé ; la borne doit être à portée du signal Wi-Fi.\r\nAssocier la borne au compte (un appui court sur le bouton règle l'alimentation, un double appui lance la configuration Wi-Fi).\r\n\r\nLa borne ayant été achetée d'occasion, elle n'avait pas été dissociée du compte du précédent propriétaire — situation fréquente sur ce type d'achat. Un message au SAV par mail (info@goneoglobal.com) a suffi : la réponse a été rapide et la dissociation effectuée sans difficulté. Réflexe à prendre lors d'un achat d'occasion : demander au vendeur de procéder à la dissociation avant l'expédition.\r\n\r\nUsage au quotidien\r\n\r\nDeux modes d'utilisation cohabitent :\r\nProfil horaire programmé via l'application : pratique pour caler les sessions sur les heures creuses.\r\nBadge RFID** fourni avec la borne : démarrer ou arrêter une session par simple présentation du badge, sans passer par l'application.\r\n--\r\n\r\nÀ noter sur le plan réglementaire : depuis 2017, l'installation d'une borne de recharge d'une puissance supérieure à 3,7 kW à domicile relève en principe d'un électricien qualifié IRVE. Le fait de procéder soi-même au tirage du câble et au raccordement reste possible techniquement, mais sort du cadre permettant de prétendre aux aides publiques (crédit d'impôt, prime ADVENIR) et peut avoir des conséquences en matière d'assurance."},{"uuid":"104a8694-4268-4e0a-99c7-e7ecfd47af1e","slug":"auto-heberger-son-serveur-mail-en-2026","title":"Auto-héberger son serveur mail en 2026","category":"informatique","author":"cedric@abonnel.fr","cover":"cover.svg","published":true,"published_at":"2026-05-12 08:35","created_at":"2026-05-12 08:38:14","updated_at":"2026-05-12 08:40:06","tags":[],"plain":"Survivre aux règles de Gmail, Outlook et consorts\r\nContexte — Cet article de Clubic (lien) rappelle une vérité technique : SMTP date de 1982, n'a aucune sécurité native, et toutes les \"rustines\" (SPF, DKIM, DMARC, MTA-STS, DANE) ont été conçues par Yahoo, Cisco, Microsoft, Google. Depuis février 2024 (Google) et mai 2025 (Microsoft), tout expéditeur dépassant 5000 mails/jour vers Gmail/Outlook doit configurer SPF + DKIM + DMARC, maintenir un taux de spam < 0,1 %, et fournir un lien de désinscription en un clic.\r\nMais même en dessous de 5000/jour, ces règles s'appliquent en pratique : sans elles, ton mail finit en spam ou est rejeté. Ce dossier décrit comment monter son propre serveur mail tout en passant à travers ces filtres.\r\n--\r\n\r\nSommaire\r\n\r\n1. Avant de commencer : est-ce vraiment une bonne idée ?\r\n2. Prérequis techniques\r\n3. Architecture cible\r\n4. Choix du fournisseur et de l'IP\r\n5. Configuration DNS complète\r\n6. Installation du stack mail\r\n7. SPF, DKIM, DMARC : les rustines obligatoires\r\n8. MTA-STS, TLS-RPT, DANE : aller plus loin\r\n9. PTR (reverse DNS) et HELO\r\n10. Warmup d'IP : la phase la plus délicate\r\n11. Postmaster Tools, SNDS, FBL\r\n12. Liste de désinscription en un clic (RFC 8058)\r\n13. Anti-spam entrant et hygiène\r\n14. Monitoring, logs, alertes\r\n15. Que faire quand Gmail rejette quand même ?\r\n16. Checklist finale avant mise en prod\r\n17. Annexes : commandes utiles\r\n--\r\n\r\n1. Avant de commencer : est-ce vraiment une bonne idée ?\r\n\r\nL'auto-hébergement mail est techniquement possible, mais c'est probablement le service le plus pénible à maintenir en 2026. Avant de te lancer, lis ça :\r\n\r\nCe qui marche bien en auto-hébergé :\r\nRecevoir du mail (presque tout le monde te livre).\r\nEnvoyer vers d'autres serveurs auto-hébergés ou pros bien configurés.\r\nGarder le contrôle sur tes données, tes alias, tes domaines.\r\n\r\nCe qui est dur :\r\nEnvoyer vers Gmail / Outlook / Yahoo / iCloud sans atterrir en spam.\r\nSortir d'une blacklist une fois dedans.\r\nMaintenir un score de réputation IP correct sur la durée.\r\nSurvivre à un changement unilatéral des règles côté gros acteurs (cf. février 2024 et mai 2025).\r\n\r\nStratégie réaliste recommandée :\r\nRéception entrante : auto-hébergée à 100 %. Aucun risque, full contrôle.\r\nEnvoi sortant : deux options, selon ton volume et ton tolérance au risque.\r\nOption A — Pure auto-hébergée : tu envoies directement depuis ton serveur. Faisable, mais demande un warmup, une IP propre, et un suivi continu.\r\nOption B — Smart host sortant : tu envoies via un relais réputé (un autre de tes serveurs avec une IP qui a déjà sa réputation, ou un service type Mailjet/Sendgrid/SMTP2GO en bas volume gratuit). Tes mails sortent depuis l'IP du relais, qui a déjà sa réputation faite. C'est un compromis : tu perds une partie de la souveraineté technique, mais tu gagnes énormément en délivrabilité.\r\n\r\nLe reste du dossier suit l'option A — tout en t'expliquant comment basculer en B si nécessaire.\r\n--\r\n\r\n2. Prérequis techniques\r\nÉlément | Détail |\r\n---|---|\r\nDomaine | À toi, registrar peu importe, mais avec DNSSEC activable (cf. §8 pour DANE). |\r\nServeur | VPS ou dédié, 2 vCPU / 4 Go RAM minimum, Debian 12+ ou Ubuntu 24.04 LTS. |\r\nIP fixe v4 | Indispensable. IP \"résidentielle\" ou IP de datacenter récemment recyclée = exclues. |\r\nIP fixe v6 | Recommandée, mais désactivable si l'IPv6 du fournisseur est blacklistée. |\r\nPTR / reverse DNS | Modifiable par toi. Si l'hébergeur ne te le permet pas, change d'hébergeur. |\r\nPorts | 25, 465, 587, 993, 4190 ouverts sortants ET entrants. Le port 25 sortant est bloqué chez beaucoup d'hébergeurs grand public (OVH résidentiel, Free, etc.) : vérifie avant. |\r\nTLS | Certificat valide (Let's Encrypt suffit). |\r\n\r\nCompétences attendues : Linux en ligne de commande, DNS (champs A/AAAA/MX/TXT/SRV/CAA/TLSA), notion de TLS, lecture de logs et .\r\n--\r\n\r\n3. Architecture cible\r\n\r\nUn stack standard, éprouvé, en logiciels libres :\r\n\r\n\r\n\r\nComposants :\r\nPostfix : MTA. Reçoit, route, envoie le SMTP.\r\nDovecot : serveur IMAP/POP3, livraison locale (LMTP), authentification SASL pour Postfix, gestion Sieve (filtres).\r\nRspamd : antispam moderne, fait aussi la vérification SPF/DKIM/DMARC entrante, le greylisting, et — option recommandée — la signature DKIM sortante (en remplacement d'OpenDKIM).\r\nLet's Encrypt (certbot) : TLS.\r\n(Optionnel) Roundcube ou SnappyMail : webmail.\r\n\r\nAlternative tout-en-un : Mailcow ou Mailu, basés sur Docker, qui empaquètent tout ça avec une interface admin. Si tu préfères ne pas tout configurer à la main, c'est légitime — la majorité des règles DNS et de délivrabilité de ce dossier restent identiques.\r\n--\r\n\r\n4. Choix du fournisseur et de l'IP\r\n\r\nLe choix de l'hébergeur conditionne la moitié de ta délivrabilité. Avant de prendre un VPS :\r\n\r\n1. Le port 25 sortant est-il ouvert ? Beaucoup d'hébergeurs le bloquent par défaut pour limiter le spam (Hetzner l'ouvre sur demande, OVH l'ouvre selon le produit, Scaleway l'ouvre selon le compte). Pose la question au support avant de payer.\r\n2. Le PTR est-il configurable ? Si non, change.\r\n3. L'IP a-t-elle été utilisée par un spammeur ? Avant d'acheter le VPS, demande l'IP qu'on te donnera. Vérifie sur :\r\nmxtoolbox.com/blacklists.aspx\r\nmultirbl.valli.org\r\ntalosintelligence.com (Cisco)\r\nsenderscore.org\r\n \r\n Si l'IP est listée sur Spamhaus, Barracuda, SORBS, SpamCop, demande à l'hébergeur de te l'échanger ou prends un autre VPS. Une fois listée, tu vas y passer des semaines.\r\n4. Réputation du subnet (). Même si ton IP est propre, si le est pourri (beaucoup de spammeurs voisins), Gmail va te traiter avec méfiance. Vérifie sur senderscore.org en saisissant ton IP — le score du subnet apparaît.\r\n\r\nHébergeurs réputés corrects pour le mail : Hetzner, OVH (gamme dédiée, pas SoYouStart), Scaleway, Infomaniak (en VPS), Netcup. À éviter pour de l'envoi : DigitalOcean (subnets souvent grillés), Linode/Akamai (idem), AWS EC2 (le port 25 est limité par défaut, et la rate-limit est costaude).\r\n--\r\n\r\n5. Configuration DNS complète\r\n\r\nPour un domaine avec un serveur mail sur à l'IP (et en v6) :\r\n\r\n\r\n\r\nDétails dans les sections dédiées plus bas.\r\n\r\nÀ ne pas oublier : l'enregistrement PTR (reverse DNS) se configure chez ton hébergeur, pas dans ta zone DNS. Il doit pointer . C'est traité au §9.\r\n--\r\n\r\n6. Installation du stack mail\r\n\r\nSur Debian 12. Ce qui suit est volontairement condensé — pour une configuration ligne par ligne, suis le tutoriel de référence de Workaround.org qui est l'étalon depuis 20 ans.\r\n\r\n\r\n\r\nPostfix : configuration minimale-mais-saine\r\n\r\n\r\n\r\nDovecot, Rspamd\r\n\r\nCes composants demandent leurs propres fichiers de configuration. Renvoi explicite vers les tutos qui font autorité :\r\nWorkaround.org / ISPmail : https://workaround.org/ispmail/ — référence francophone et anglophone, mise à jour à chaque version Debian.\r\nRspamd quickstart : https://www.rspamd.com/doc/tutorials/quickstart.html\r\nDovecot wiki : https://doc.dovecot.org/\r\n\r\nSi tu veux gagner du temps, Mailcow () est aujourd'hui la solution clé-en-main la plus fiable.\r\n--\r\n\r\n7. SPF, DKIM, DMARC : les rustines obligatoires\r\n\r\nSans ces trois enregistrements correctement configurés, Gmail et Outlook rejetteront ou marqueront en spam la majorité de tes messages — peu importe ton volume.\r\n\r\nSPF (Sender Policy Framework)\r\n\r\nDéclare qui a le droit d'envoyer du mail pour ton domaine.\r\n: autorise les serveurs listés dans le MX du domaine.\r\n: rejet strict de tout le reste. Indispensable pour la réputation. Ne jamais utiliser (softfail) en prod : Gmail aujourd'hui considère comme un signal faible.\r\n\r\nSi tu envoies aussi via un relais externe (smart host) : ajoute son , ex. .\r\n\r\nLimite : un enregistrement SPF doit tenir en 10 lookups DNS maximum. Au-delà, il est invalide. Vérifie avec https://www.kitterman.com/spf/validate.html.\r\n\r\nDKIM (DomainKeys Identified Mail)\r\n\r\nSigne chaque mail sortant avec une clé privée. Le destinataire vérifie la signature via la clé publique publiée en DNS.\r\n\r\nGénération de la clé (Rspamd, sélecteur , clé 2048 bits) :\r\n\r\n\r\n\r\nLe fichier contient l'enregistrement DNS à publier :\r\n\r\n\r\n\r\nConfiguration Rspamd () :\r\n\r\n\r\n\r\nRecharge : .\r\n\r\nVérification : envoie un mail à check-auth@verifier.port25.com, tu reçois un rapport complet SPF/DKIM/DMARC en retour. Ou utilise https://www.mail-tester.com/ (note sur 10).\r\n\r\nDMARC (Domain-based Message Authentication, Reporting and Conformance)\r\n\r\nDit aux serveurs distants quoi faire en cas d'échec SPF/DKIM, et te renvoie des rapports sur ce qui passe et ce qui rate.\r\n: surveillance seule, à utiliser pendant 2-4 semaines en démarrage pour collecter les rapports sans pénaliser.\r\n: mise en spam des mails non authentifiés. Cible normale.\r\n: rejet pur. À atteindre en cible finale, après avoir vérifié 4 semaines de rapports propres.\r\n: adresse pour les rapports agrégés (quotidiens).\r\n: rapports forensiques (par message). Optionnel.\r\n: alignement strict — le domaine de signature DKIM et le domaine SPF doivent exactement correspondre au domaine .\r\n\r\nLecture des rapports DMARC : ils arrivent en XML, illisibles. Utilise un parseur :\r\nPostmark DMARC Monitoring (gratuit, agrège les rapports dans une UI).\r\nparsedmarc (auto-hébergeable, envoie dans Elasticsearch/Splunk/Grafana).\r\n--\r\n\r\n8. MTA-STS, TLS-RPT, DANE : aller plus loin\r\n\r\nCes standards sécurisent le transport entre serveurs (chiffrement TLS forcé). Gmail les regarde, Microsoft aussi. Pas obligatoires, mais ils boostent ta réputation.\r\n\r\nMTA-STS\r\n\r\nForce les serveurs distants à utiliser TLS pour t'envoyer des mails. Trois éléments :\r\n\r\n1. Enregistrement DNS TXT :\r\n\r\n\r\n2. Sous-domaine servant un fichier en HTTPS à :\r\n\r\n\r\n est la cible. En démarrage, mets pendant 1-2 semaines.\r\n\r\n3. Certificat TLS valide sur ce sous-domaine (déjà fait via certbot au §6).\r\n\r\nTLS-RPT\r\n\r\nDemande aux serveurs distants de t'envoyer des rapports en cas d'échec TLS.\r\n\r\n\r\n\r\nDANE (DNS-based Authentication of Named Entities)\r\n\r\nEncore plus solide que MTA-STS, mais nécessite DNSSEC activé sur ton domaine. Si ton registrar ne supporte pas DNSSEC, oublie DANE.\r\n\r\nDANE publie un hash du certificat TLS dans un enregistrement TLSA :\r\n\r\n\r\n\r\nOu plus simplement avec https://www.huque.com/bin/gentlsa :\r\n\r\n\r\n\r\nVérification globale de tout ton setup TLS+DANE : https://internet.nl/mail/ (excellent, recommandé).\r\n--\r\n\r\n9. PTR (reverse DNS) et HELO\r\n\r\nLe PTR est probablement la cause la plus fréquente de rejet par Gmail/Outlook chez les nouveaux auto-hébergés.\r\n\r\nRègle absolue : , et tout doit être un FQDN cohérent.\r\n\r\nConfigure le PTR dans le panneau de ton hébergeur (chez OVH : \"IP\" → \"Reverse DNS\") :\r\n\r\n\r\nVérifie :\r\n\r\n\r\nDans Postfix, et c'est ce qui est annoncé en HELO. Cohérence garantie.\r\n--\r\n\r\n10. Warmup d'IP : la phase la plus délicate\r\n\r\nUne IP neuve = pas de réputation = défiance maximale des gros acteurs. Tu ne peux pas envoyer 1000 mails le jour 1 sans te griller.\r\n\r\nPlan de warmup sur 4 à 6 semaines\r\nSemaine | Volume max/jour vers Gmail+Outlook | Volume max/jour total | Contenu |\r\n---|---|---|---|\r\n1 | 20-50 | 100 | Mails à toi-même, comptes test sur Gmail/Outlook/Yahoo. Réponds-y, marque \"non spam\" si en spam. |\r\n2 | 100 | 300 | Cercle proche qui sait répondre / interagir. |\r\n3 | 300 | 1000 | Élargissement progressif. |\r\n4 | 800 | 3000 | Ouvre aux usages normaux. |\r\n5+ | 2000+ | volume cible | Stable. |\r\n\r\nRègles d'or pendant le warmup :\r\nPas de mailing list, pas de notifs automatiques en masse. Privilégie des mails 1-à-1 conversationnels.\r\nDemande aux destinataires de répondre — un mail avec réponse a 100x le poids d'un mail ouvert silencieusement.\r\nAucun lien raccourci, aucun pixel de tracking, aucune image lourde.\r\nStop net si ton score Senderscore baisse ou si Gmail Postmaster Tools (cf. §11) montre du rouge.\r\n\r\nSi tu as un volume immédiat à envoyer\r\n\r\nBascule en option B (smart host) le temps du warmup, puis rapatrie progressivement en interne en répliquant les volumes ci-dessus.\r\n--\r\n\r\n11. Postmaster Tools, SNDS, FBL\r\n\r\nLes gros acteurs te donnent des dashboards dédiés. Inscris-toi à tous, dès la création du domaine.\r\nService | Acteur | Usage |\r\n---|---|---|\r\nGoogle Postmaster Tools | Gmail | Réputation IP+domaine, taux de spam, authentification, encryption. Indispensable. |\r\nMicrosoft SNDS | Outlook/Hotmail | Smart Network Data Services, qualité de l'IP. |\r\nMicrosoft JMRP | Outlook | Junk Mail Reporting Program, FBL Microsoft. |\r\nYahoo CFL | Yahoo | Complaint Feedback Loop. |\r\nValidity Sender Score | Indépendant | Score sur 100, à surveiller. |\r\n\r\nConfigure les feedback loops (FBL) : quand un destinataire clique \"spam\", tu reçois une notification. Ça te permet de désinscrire l'utilisateur avant qu'il ne dégrade ta réputation.\r\n--\r\n\r\n12. Liste de désinscription en un clic (RFC 8058)\r\n\r\nExigence Google/Microsoft pour les expéditeurs en volume, mais à mettre en place dès le début même en bas volume.\r\n\r\nAjoute deux en-têtes à tous les mails non-strictement-personnels :\r\n\r\n\r\n\r\nL'URL HTTPS doit accepter une requête POST (pas seulement GET) avec dans le corps, et désinscrire immédiatement et silencieusement sans demander de confirmation.\r\n--\r\n\r\n13. Anti-spam entrant et hygiène\r\n\r\nUn serveur mail mal configuré côté entrée devient vite un relais de spam ou une cible. Configuration Rspamd minimale :\r\n\r\n\r\n\r\n\r\n\r\nActive aussi :\r\nVérification SPF/DKIM/DMARC entrante (par défaut activée dans Rspamd).\r\nRBL (Realtime Blackhole Lists) : Spamhaus ZEN, Barracuda. Attention à ne pas multiplier — 2 ou 3 RBL fiables suffisent.\r\nGreylisting : refuse temporairement les premiers contacts, ce qui élimine 80% du spam basique. Ne pas activer sur un domaine à fort volume transactionnel (gêne les notifs).\r\nBayes : laisse Rspamd apprendre via le dossier de Dovecot (signal / ).\r\n\r\nMises à jour : activé, redémarrage planifié, lecture des annonces sécu Postfix/Dovecot.\r\n--\r\n\r\n14. Monitoring, logs, alertes\r\n\r\nSans monitoring, tu découvres les problèmes par les utilisateurs. À mettre en place :\r\nLecture des logs : , , web UI de Rspamd sur .\r\nMétriques : exporter Postfix/Dovecot vers Prometheus + Grafana (, ).\r\nAlertes sur :\r\nFile d'attente Postfix > 50 messages ().\r\nScore Senderscore qui chute.\r\nApparition sur une RBL : surveillance automatisée par https://multirbl.valli.org/ ou via un script qui interroge plusieurs DNSBL en cron.\r\nÉchec TLS-RPT (rapport entrant signalant une connexion non chiffrée).\r\nRapports DMARC parsés régulièrement (cf. §7).\r\n--\r\n\r\n15. Que faire quand Gmail rejette quand même ?\r\n\r\nÇa arrive. Diagnostic dans l'ordre :\r\n\r\n1. Lis le code de rejet SMTP dans . Gmail renvoie des codes très explicites :\r\n→ contenu jugé spammy. Revois le contenu, ajoute du texte conversationnel, retire les liens douteux.\r\n→ tu as dépassé un seuil. Ralentis immédiatement, attends 24-48h, reprends doucement.\r\n→ ton DMARC ne passe pas. Revérifie SPF/DKIM/alignement.\r\n→ tu es sur une RBL. Va sur spamhaus.org/lookup/ pour vérifier et demander la sortie.\r\n2. Va dans Postmaster Tools (§11). Si \"IP reputation\" est rouge ou orange, regarde le contenu et le timing de tes envois récents.\r\n3. Test mail-tester : envoie à une adresse fournie par mail-tester.com, obtiens une note sur 10. Vise 10/10. Toute case manquante doit être corrigée.\r\n4. Sortie de blacklist : la plupart des RBL (Spamhaus, Barracuda) ont un formulaire de retrait. Spamhaus retire en quelques heures si tu corriges la cause. SORBS est plus lent. UCEPROTECT exige souvent de payer — ignore-la, peu de serveurs sérieux la consultent.\r\n5. Si rien ne marche, change d'IP. C'est parfois la seule issue. Demande à ton hébergeur une IP fraîche, refais un warmup.\r\n--\r\n\r\n16. Checklist finale avant mise en prod\r\n\r\nAvant d'envoyer le premier vrai mail :\r\n[ ] Domaine avec DNSSEC activé.\r\n[ ] IP testée sur 5+ blacklists, propre.\r\n[ ] Port 25 sortant ouvert et testé ().\r\n[ ] PTR configuré et cohérent avec le HELO.\r\n[ ] MX, A, AAAA, SPF, DKIM, DMARC publiés et validés via mxtoolbox.com.\r\n[ ] MTA-STS publié (mode au démarrage).\r\n[ ] TLS-RPT publié.\r\n[ ] DANE/TLSA publié (si DNSSEC OK).\r\n[ ] CAA publié.\r\n[ ] Test envoyé à : tout en .\r\n[ ] Test mail-tester.com : 10/10.\r\n[ ] Test internet.nl/mail/ : 100%.\r\n[ ] Inscription Postmaster Tools, SNDS, JMRP, Yahoo CFL.\r\n[ ] DMARC au démarrage, parser de rapports en place.\r\n[ ] List-Unsubscribe + List-Unsubscribe-Post implémentés.\r\n[ ] Plan de warmup affiché et respecté.\r\n[ ] Monitoring file d'attente + RBL en place.\r\n[ ] Backup chiffré des Maildir.\r\n\r\nAu bout de 4 semaines de rapports DMARC propres : passage à . Au bout de 8-12 semaines : .\r\n--\r\n\r\n17. Annexes : commandes utiles\r\n\r\n\r\n\r\nOutils web à mettre en favoris\r\nhttps://www.mail-tester.com/ — score sur 10\r\nhttps://internet.nl/mail/ — audit complet\r\nhttps://mxtoolbox.com/SuperTool.aspx — DNS, blacklists\r\nhttps://dmarcian.com/dmarc-inspector/ — vérif DMARC\r\nhttps://www.kitterman.com/spf/validate.html — vérif SPF\r\nhttps://postmaster.google.com/ — Google Postmaster\r\nhttps://senderscore.org/ — réputation IP\r\n\r\nDocumentation de référence\r\nISPmail / Workaround.org — https://workaround.org/ispmail/ — le tutoriel le plus complet et tenu à jour, par version Debian.\r\nMailcow docs — https://docs.mailcow.email/ — pour la version conteneurisée clé-en-main.\r\nPostfix officiel — https://www.postfix.org/documentation.html\r\nRspamd docs — https://www.rspamd.com/doc/\r\nRFCs essentielles** : 5321 (SMTP moderne), 7208 (SPF), 6376 (DKIM), 7489 (DMARC), 8461 (MTA-STS), 8460 (TLS-RPT), 7672 (DANE-SMTP), 8058 (One-Click Unsubscribe).\r\n--\r\n\r\nL'auto-hébergement mail en 2026 reste possible, mais c'est devenu un sport : les règles changent, les gros acteurs durcissent leurs critères, et l'écosystème pousse vers la centralisation. Si tu réussis le warmup et tiens 6 mois sans incident, tu as gagné — mais ne baisse pas la garde, un changement unilatéral de Google peut survenir à tout moment, comme en février 2024."}]