Ce guide s’applique à Symfony 6.4 LTS et à PHP 8.1 ou plus récent. Il faut disposer d’un compte live24h, d’un Workspace et d’une clé API avec droits d’écriture – voir les étapes communes .
Installer
Installation via Composer :
composer require live24h/symfony-adapter
Enregistrez le Bundle dans config/bundles.php :
// config/bundles.php
return [
// ...
Live24h\SymfonyAdapter\Live24hMonitorBundle::class => ['all' => true],
];
Importez ensuite le routage du Bundle, par exemple dans config/routes/live24h.yaml :
# config/routes/live24h.yaml
live24h_monitor:
resource: '@Live24hMonitorBundle/Resources/config/routes.php'
Créez config/packages/live24h_monitor.yaml pour la configuration de l’hôte ; il contient api_base (par défaut https://api.live24h.eu), site_url (l’URL publique de l’application à analyser) et cache_pool (par défaut cache.app) :
# config/packages/live24h_monitor.yaml
live24h_monitor:
api_base: 'https://api.live24h.eu'
site_url: 'https://exemple.com'
cache_pool: 'cache.app'
La clé API n’est pas une clé de configuration : vous la saisissez à l’exécution dans l’interface des Paramètres sous /admin/live24h/settings (elle s’affiche masquée). Le référencement sur le marketplace Packagist suivra.
Sécuriser le chemin
Le Bundle est monté sous /admin/live24h et doit être sécurisé par l’hôte derrière un rôle et un pare-feu. Restreignez le chemin dans la Security de Symfony via access_control :
# config/packages/security.yaml
security:
access_control:
- { path: ^/admin/live24h, roles: ROLE_ADMIN }
Vous accédez ensuite au Health Center sous /admin/live24h/health.
Pas à pas
Vous trouverez le déroulement complet et illustré dans l’aperçu . Voici les étapes pour Symfony :
- Ouvrez le Health Center sous
/admin/live24h/health. - Vérifiez dans les Paramètres la clé API enregistrée et testez la connexion.
- Lancez l’analyse de votre application.
- Examinez le Website Health Score et les recommandations.
- Sélectionnez les checks – les suggestions verrouillées sont marquées « À partir de Pro » et restent visibles.
- Créez les checks en un clic dans live24h.
En variante via une commande Console
Pour des déploiements headless et reproductibles, la commande Console est disponible :
# Dry-run : affiche scan, modules, score et suggestions sous forme de rapport
php bin/console live24h:scan
# Création : crée les suggestions par défaut
php bin/console live24h:scan --apply
La commande convient aux pipelines de déploiement et au Cron, car elle met à jour le scan sans interface backend. Sans --apply, elle s’exécute en dry-run.
Dépannage et conseils
Le Health Center sous /admin/live24h/health est inaccessible.
Vérifiez que le Bundle est enregistré dans config/bundles.php et que le routage est importé, puis videz le cache avec php bin/console cache:clear. Assurez-vous en outre que votre entrée access_control autorise l’accès pour votre rôle.
L’accès à /admin/live24h n’est pas sécurisé.
La protection relève de l’hôte. Ajoutez une entrée access_control pour ^/admin/live24h dans config/packages/security.yaml et placez la route derrière votre pare-feu.
Le « test de connexion » échoue.
Vérifiez l’api_key (droits d’écriture requis), l’api_base (https://api.live24h.eu) et la possibilité pour le serveur d’établir des connexions sortantes. Les pare-feu d’hébergement bloquent parfois les requêtes sortantes.
Les Messenger Workers ou les tâches Scheduler n’apparaissent pas.
Les tâches en arrière-plan sont découvertes au moment du build du conteneur. Après des modifications de transports ou de plannings, videz le cache avec php bin/console cache:clear pour que la découverte soit mise à jour. Le Heartbeat des Workers est en opt-in.
Un check Heartbeat reste sur « En attente ». C’est normal et ce n’est pas une erreur : un Heartbeat attend le premier signal du Worker surveillé (le ping vers l’URL du Heartbeat). Tant que le Messenger Worker ou la tâche Scheduler ne s’est pas manifesté, le check reste sur « En attente » – pas sur « Panne ». Au premier passage, le statut bascule sur « Opérationnel ».
Une suggestion est marquée « À partir de Pro ». Le type de check n’est pas inclus dans votre tarif. Vous pouvez le désélectionner ou monter en gamme .
Questions fréquentes
Health Center ou commande Console – que choisir ? Les deux mènent au même résultat. Le Health Center est proche de l’utilisateur, la commande Console convient aux déploiements headless et reproductibles dans les pipelines de déploiement et le Cron.
Ai-je besoin d’une boutique ou d’un CMS ? Non. Le Bundle est conçu pour des applications Symfony et des API sur mesure et ne contient aucun module Commerce.
Les paramètres e-mail sont-ils vérifiés ? Oui, à titre informatif : MX, SPF, DKIM et DMARC sont évalués et rendus visibles, mais ne déclenchent aucun check e-mail actif.