fix: paginer les records DNS Cloudflare pour recuperer tous les enregistrements

src/Service/CloudflareService.php - getDnsRecords():
- La zone esy-web.dev contient plus de 100 records DNS (26 TXT +
  MX + CNAME + A + AAAA etc.), la requete per_page=100 sans
  pagination ne retournait pas les TXT (SPF, DMARC, _mta-sts)
- Ajout d'une boucle de pagination: recupere page par page
  jusqu'a total_pages via result_info.total_pages
- Les colonnes Cloudflare du rapport affichaient "Non trouve"
  alors que les records existaient bien dans la zone

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Serreau Jovann
2026-04-02 21:59:01 +02:00
parent b36c4169e5
commit 8ef9711179

View File

@@ -30,11 +30,30 @@ class CloudflareService
*
* @return list<array<string, mixed>>
*/
/**
* Recuperer tous les enregistrements DNS d'une zone (avec pagination).
*
* @return list<array<string, mixed>>
*/
public function getDnsRecords(string $zoneId, int $perPage = 100): array
{
$data = $this->request('GET', '/zones/'.$zoneId.'/dns_records', ['per_page' => $perPage]);
$allRecords = [];
$page = 1;
return $data['result'] ?? [];
do {
$data = $this->request('GET', '/zones/'.$zoneId.'/dns_records', [
'per_page' => $perPage,
'page' => $page,
]);
$records = $data['result'] ?? [];
$allRecords = array_merge($allRecords, $records);
$totalPages = $data['result_info']['total_pages'] ?? 1;
++$page;
} while ($page <= $totalPages);
return $allRecords;
}
/**