Serreau Jovann c666e0db65 feat: enrichir le rapport DNS avec colonnes attendu/dig/cloudflare + envoi a monitor@siteconseil.fr
src/Service/DnsCheckService.php:
- Methode check() enrichie avec 4 nouveaux champs: expected (valeur attendue),
  dig (valeur actuelle trouvee par dig), cloudflare (valeur dans la zone CF),
  cf_status (statut de la colonne CF: ok/error/vide)
- checkSpf(): expected = "include:X dans le SPF", dig = contenu SPF complet
- checkDmarc(): expected = "p=reject ou p=quarantine", dig = contenu DMARC
- checkDkim(): expected = "FQDN CNAME/TXT", dig = cible CNAME ou debut TXT
- checkMx(): expected = MX attendu, dig = liste des MX trouves avec priorite
- checkBounce(): expected = "feedback-smtp.*.amazonses.com", dig = valeur trouvee

src/Command/CheckDnsCommand.php:
- Nouveau champ MONITOR_EMAIL = 'monitor@siteconseil.fr' pour l'envoi du rapport
- loadCloudflareRecords(): charge les records CF une seule fois par domaine
  au debut de l'execution, retourne un array indexe par domaine
- enrichWithCloudflare(): apres chaque check DNS, parcourt les records CF
  pour trouver l'enregistrement correspondant et remplir les colonnes
  cloudflare et cf_status dans chaque check
- checkAwsSes(): utilise DnsCheckService::check() avec expected/dig
  (ex: expected="Success", dig="Absent" pour la verification domaine)
- checkMailcow(): utilise DnsCheckService::check() avec expected/dig
  (ex: expected="Cle Mailcow: abc...", dig="Cle DNS: xyz..." pour DKIM)
- sendReport(): envoie a MONITOR_EMAIL au lieu de l'admin email

templates/emails/dns_report.html.twig:
- Tableau par domaine avec 6 colonnes: Type, Check, Attendu, Dig (actuel),
  Cloudflare, Statut (OK/erreur/warning)
- Colonne Dig coloree en vert/rouge/jaune selon le statut du check
- Colonne Cloudflare coloree selon cf_status
- Colonnes avec word-break: break-all pour les longues valeurs DNS
- Bandeau resume en haut avec compteurs succes/erreurs/warnings
  avec bordures laterales colorees
- Pied de mail: "Rapport par Esy-Infra - Service de monitoring d'infra"

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 21:35:46 +02:00
2026-03-30 18:52:03 +02:00
2026-04-01 15:42:52 +02:00
2026-03-30 18:52:03 +02:00
2026-03-30 18:51:57 +02:00
2026-03-30 18:51:57 +02:00
2026-03-30 18:52:03 +02:00
2026-04-01 15:42:52 +02:00
2026-04-01 15:42:52 +02:00
2026-04-01 15:42:52 +02:00
2026-04-01 15:42:52 +02:00
2026-04-01 15:42:52 +02:00
2026-04-01 15:42:52 +02:00
2026-04-01 15:42:52 +02:00
2026-04-01 15:42:52 +02:00
2026-04-01 15:42:52 +02:00
2026-04-01 15:42:52 +02:00
2026-04-01 15:42:52 +02:00
2026-04-01 15:42:52 +02:00
2026-04-01 15:42:52 +02:00
2026-04-01 15:42:52 +02:00
2026-04-01 15:42:52 +02:00
2026-04-01 15:42:52 +02:00
Description
No description provided
9.6 MiB
Languages
PHP 66.2%
Twig 28.7%
JavaScript 4%
Jinja 0.5%
Makefile 0.3%
Other 0.2%