Aller au contenu

Diagnostic systeme

ArtisanCMS fournit un ensemble d’outils de diagnostic pour surveiller l’etat du systeme, verifier les prerequis et diagnostiquer les problemes.

Le diagnostic systeme repose sur plusieurs composants :

ComposantRole
Admin\SystemControllerInterface d’administration du diagnostic
HealthCheckServiceVerification de l’etat des services
RequirementsCheckerValidation des prerequis techniques
ErrorRecoveryServiceDetection et recuperation apres erreur
ErrorRecoveryMiddlewareMiddleware de detection du mode securise

Le HealthCheckService effectue une serie de verifications sur les services critiques du CMS :

VerificationDescription
Base de donneesConnexion active et temps de reponse
CacheDriver de cache operationnel (lecture/ecriture)
File d’attenteWorker de queue actif et fonctionnel
StockagePermissions d’ecriture sur les repertoires cles
MailConfiguration email valide et serveur joignable

Chaque verification retourne un statut : ok, warning ou error, accompagne d’un message descriptif.

$health = app(HealthCheckService::class)->runAll();
// Retourne un tableau de resultats par service

Le RequirementsChecker valide les prerequis techniques de l’environnement :

Le CMS requiert PHP 8.3 ou superieur. Le checker verifie la version installee et signale toute incompatibilite.

Les extensions suivantes sont requises :

  • BCMath, Ctype, Fileinfo, JSON, Mbstring, OpenSSL, PDO, Tokenizer, XML, Zip, GD ou Imagick

Le checker verifie les permissions d’ecriture sur :

  • storage/ et ses sous-repertoires
  • bootstrap/cache/
  • public/media/

Le ErrorRecoveryService detecte les situations d’erreur critique et propose des actions de recuperation :

  • Detection des fichiers de configuration corrompus
  • Identification des plugins defaillants
  • Verification de l’integrite de la base de donnees

Le ErrorRecoveryMiddleware intercepte les erreurs fatales et active un mode securise. En mode securise :

  • Les plugins sont desactives temporairement
  • Le theme par defaut est charge
  • Un message d’alerte est affiche dans l’administration
  • L’administrateur peut diagnostiquer et corriger le probleme
// Detection du mode securise
if (app('cms.safe_mode')) {
// Charger uniquement les composants essentiels
}

Le SystemController affiche une page recapitulative de l’environnement :

InformationExemple
Version PHP8.3.12
Version Laravel11.x
Version ArtisanCMS1.2.0
Base de donneesMySQL 8.0.36
Driver de cacheRedis
Driver de queueDatabase
Driver de sessionFile
Espace disque12.4 Go disponibles
Memoire PHP256 Mo (limite)

Ces informations sont utiles pour le support technique et le diagnostic de problemes.

La commande CmsCacheClearCommand permet de vider les differents caches du CMS :

Fenêtre de terminal
# Vider tous les caches du CMS
php artisan cms:cache-clear
# Vider un cache specifique
php artisan cms:cache-clear --type=views
php artisan cms:cache-clear --type=settings
php artisan cms:cache-clear --type=routes

Les types de cache disponibles :

TypeDescription
viewsCache des vues Blade compilees
settingsCache des parametres du site
routesCache des routes
configCache de la configuration
pagesCache des pages rendues

Un bouton “Vider le cache” est egalement disponible dans l’interface d’administration pour les utilisateurs non techniques.

L’interface d’administration inclut une visionneuse de logs qui permet de consulter les fichiers de log Laravel directement depuis le navigateur :

  • Filtrage par niveau de log (debug, info, warning, error, critical)
  • Recherche par mot-cle dans les messages
  • Affichage des stack traces pour les erreurs
  • Telechargement des fichiers de log