J'ai construit des scripts de "contrôle de santé" basés sur PHP pour plusieurs projets dans le passé, mais ils étaient toujours faits sur mesure pour l'occasion et non écrits pour l'abstraction comme un produit indépendant. J'aimerais savoir si une telle solution existe.
Ce que j'entends par "bilan de santé" est une page web protégée qui fonctionne un peu comme une suite de tests unitaires, mais à un niveau plus opérationnel, en affichant des statuts rouge/jaune/vert pour des choses comme
- Les répertoires du cache sont-ils accessibles en écriture ?
- La version de PHP est-elle correcte, les extensions requises sont-elles installées ?
- Le serveur de la base de données est-il joignable ?
- Les tables nécessaires existent-elles dans la base de données ?
- L'espace disque disponible est-il suffisant ?
- La page d'accueil du site est-elle accessible et s'affiche-t-elle complètement ( = pas d'erreurs PHP) ?
- Les sommes de contrôle MD5 des bibliothèques du projet correspondent-elles aux sommes originales ?
- La sortie de la page d'accueil passe-t-elle le validateur W3C ?
Faites-vous cela - ou des parties de cela - dans vos applications et sites web ?
Existe-t-il des outils standardisés pour cela qui apportent toutes les fonctionnalités nécessaires pour effectuer les tests (idéalement sous forme de plugins), et qu'il suffit de configurer en conséquence ?
Je parle d'une solution légère qui peut fonctionner même sur le plus petit des paquets web basés sur PHP, sans extension ni accès au serveur.
Existe-t-il, peut-être, un moyen de configurer cela en utilisant l'un des frameworks de tests unitaires disponibles pour PHP (de préférence PHPUnit) ? Si c'est le cas, connaissez-vous des ressources ou des tutoriels expliquant comment faire ?
Mise à jour : Il ne semble pas y avoir de solution populaire toute faite pour cela, sinon, avec plus de 100 vues, je suis sûr qu'il en aurait été question. Puisqu'il y a un intérêt initial pour la construction d'un tel outil en tant que projet open source, sentez-vous libre de poster ce à quoi ressemblerait une solution idéale pour vous, et quelles caractéristiques elle devrait avoir.