Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Guide du détective pour le dépannage WordPress - WordCamp Paris 2023

Guide du détective pour le dépannage WordPress - WordCamp Paris 2023

WordPress est génial, mais tout le monde rencontre des problèmes de temps en temps. Que vous possédiez, entreteniez ou construisiez des sites WordPress, le dépannage est une compétence qui vous fera gagner du temps et de l’argent.

Dans cette session, vous allez : Apprendre à connaître les types de problèmes WordPress que vous pouvez rencontrer et comment les diagnostiquer. Découvrir les processus étape par étape qui vous aideront à trouver la cause profonde d’un problème. Apprendrez quelles sont vos prochaines étapes une fois que vous connaissez la source d’un problème. Apprenez quelles informations vous devez fournir lorsque vous interagissez avec les développeurs ou votre hébergeur afin d’accélérer le processus de résolution des problèmes.

Amaury Balmer

April 21, 2023
Tweet

More Decks by Amaury Balmer

Other Decks in Programming

Transcript

  1. Votre orateur Amaury BALMER Développeur WordPress since 2005 Fondateur et

    directeur général de l’agence Be API Détective à mes heures perdues pour les clients de l’agence :)
  2. 1. Découverte de la scène du crime 2. (Fausse) bagarre

    pour déterminer qui doit enquêter 3. La recherche de caméras et d’images de vidéosurveillance 4. Interrogatoire des principaux suspects (et globalement toujours les mêmes) 5. Constitution des preuves 6. Arrestation du coupable 7. Révélation supplémentaire via une révélation divine 8. Arrestation du réel coupable 9. Happy end !
  3. Les différents lanceurs d’alerte • Le client (ou un tiers)

    • Un mail envoyé par WordPress • Un service de monitoring de disponibilités ou d’erreurs applicatives • Vous
  4. Un bon “bug report” doit contenir 1. Capture d’écran (un

    message d’erreur est insuffisant) 2. La date et l’heure 3. Un lien vers la ou les pages concernées 4. Le navigateur utilisé ainsi que le système d’exploitation 5. L’action réalisée et à l’origine du bug 6. Le compte utilisateur utilisé Bonus : console du navigateur
  5. De nature très différente ! • Visuel • Interactive •

    Fonctionnel • Données • Sécurité • Performance • Environnemental
  6. Savoir reconnaître les erreurs • DNS • Certificat SSL •

    Cloud (ex: Cloudflare, AWS) • Varnish • Apache ou Nginx • PHP • WordPress • Extensions
  7. Comprendre les erreurs HTTP Et principalement, les réponses d'erreur côté

    serveur 5XX ! Et notamment : • 500 Internal Server Error • 502 Bad Gateway • 503 Service Unavailable • 504 Gateway Timeout https://developer.mozilla.org/fr/docs/Web/HTTP/Status#r%C3%A9ponses_derreur_c%C3%B4t%C3%A9_serveur
  8. Comment lire les codes de réponses HTTP Méfiez-vous des navigateurs

    ! Services en ligne: httpstatus.io Ou en ligne de commande : • wget • curl • httpie
  9. Pro tips N°2 Est-ce que cela fonctionne sans WordPress ?

    Renommer le fichier .htaccess Fichier .htaccess par défaut
  10. Pro tips N°2 Est-ce que cela fonctionne sans WordPress ?

    Renommer le fichier .htaccess Fichier .htaccess par défaut Créer un fichier HTML
  11. Pro tips N°2 Est-ce que cela fonctionne sans WordPress ?

    Renommer le fichier .htaccess Fichier .htaccess par défaut Créer un fichier HTML Créer un fichier PHP
  12. .htaccess Les fichiers de configuration distribués… - Permettent de modifier

    la configuration du serveur Apache HTTPd … et génèrent des erreurs 500 à chaque problème de syntaxe. => manipulés par de nombreuses extensions (SEO, cache, sécurité, etc)
  13. Pro tips N°3 By-passer le cache avec un paramètre dans

    l’URL : ?nocache=true Purger (et désactiver si possible) tout type de cache !
  14. Pro tips N°3 By-passer le cache avec un paramètre dans

    l’URL : ?nocache=true Purger (et désactiver si possible) tout type de cache ! Cache statique
  15. Pro tips N°3 By-passer le cache avec un paramètre dans

    l’URL : ?nocache=true Purger (et désactiver si possible) tout type de cache ! Cache statique Cache objet
  16. Pro tips N°3 By-passer le cache avec un paramètre dans

    l’URL : ?nocache=true Purger (et désactiver si possible) tout type de cache ! Cache statique Cache objet Transients
  17. Anticiper :) Assurez-vous de pouvoir lire les logs en toute

    autonomie Assurez-vous de savoir comment y accéder Assurez-vous de les conserver suffisamment longtemps
  18. Attention, les extensions de “logs” peuvent sur le long terme

    consommer plusieurs gigas de données. => Pensez à configurer les options de purge
  19. Les outils présents dans WP Santé du site Protection contre

    les erreurs fatales PHP Mode de récupération Mode de dépannage Constantes de configuration
  20. Tout savoir sur les erreurs reportées par l’outil “Site Health”

    https://wordpress.org/documentation/article/site-health-screen/ ou https://fr.wordpress.org/support/article/site-health-screen/
  21. Pro tips N°4 Optez pour une solution tactique ! Extension

    de maintenance qui renvoie une jolie 503
  22. Pro tips N°4 Optez pour une solution tactique ! Extension

    de maintenance qui renvoie une jolie 503 Désactiver l’extension fautive si elle est d'ores et déjà identifiée !
  23. Tu as essayé de désactiver toutes les extensions? et les

    réactiver une par une ? Entendu sur de nombreux WordCamp !
  24. Travaillez sereinement ! • Toujours disposer d'un environnement de tests

    sous la main • Documenter une procédure de recopie des données et du code ◦ ou utilisez une solution dédiée car… WP contient beaucoup de réglages en base de données !
  25. Pro tips N°5 Vérifier si WP, le thème et les

    extensions disposent de mises à jour
  26. Pro tips N°5 Vérifier si WP, le thème et les

    extensions disposent de mises à jour Consultez les changelogs !
  27. Pro tips N°5 Vérifier si WP, le thème et les

    extensions disposent de mises à jour Consultez les changelogs ! Appliquez toutes les mises à jours
  28. Pro tips N°5 Vérifier si WP, le thème et les

    extensions disposent de mises à jour Consultez les changelogs ! Appliquez toutes les mises à jours Portez une attention spécifique aux addons !
  29. Tu as essayé de désactiver toutes les extensions? et les

    réactiver une par une ? Entendu sur de nombreux WordCamp !
  30. Pro tips N°6 Ne pas hésiter à hacker WordPress !

    Et à ajouter des points de logs un peu partout.
  31. Pro tips N°6 Ne pas hésiter à hacker WordPress !

    Et à ajouter des points de logs un peu partout. ou utiliser Xdebug pour les PHP-puristes ;)
  32. Les redirections dans WordPress Gérées par la fonction wp_redirect Le

    3ème argument permet de “signer” la réponse depuis WP 5.1
  33. Reporter un bug dans le projet WordPress Avant tout :

    1. Assurez-vous que le bug est présent dans la dernière version de WordPress, via une “fresh install” (tips: wp-env) 2. Faites une recherche afin de vous assurer que le problème n’est pas déjà connu 3. Discutez-en sur les différents supports de la communauté (Slack, forums) Mode d’emploi complet : https://make.wordpress.org/core/handbook/testing/reporting-bugs/
  34. WordPress propose un écosystème extrêmement complet ! …à condition que

    votre sélection d’extensions, et que vos développements respectent l’état de l’art et tirent parti des nombreuses API de développement !
  35. Pro tips N°7 Communiquez en temps réel Faites preuve de

    transparence Formalisez des rapports d’incident
  36. Pro tips N°7 Communiquez en temps réel Faites preuve de

    transparence Formalisez des rapports d’incident Définissez des mesures correctives et préventives.