diff --git a/TipsDevWeb.md b/TipsDevWeb.md index f3954c77..04b2990f 100644 --- a/TipsDevWeb.md +++ b/TipsDevWeb.md @@ -1,6 +1,8 @@ -**Cette page a été importée automatiquement de notre ancien wiki mais n'a pas encore été révisée.** +--- +title: Bonnes pratiques du développement web +--- -# Best Practices du développement web +**Cette page a été importée automatiquement de notre ancien wiki mais n'a pas encore été révisée.** Voici quelques conseils que nous recommandons fortement aux développeurs web. @@ -10,9 +12,9 @@ Voici quelques conseils que nous recommandons fortement aux développeurs web. * Un script en crontab ne doit renvoyer sur _stderr_ qu'en cas d'erreur * Un script en crontab ne doit pas rediriger _stderr_ dans un fichier (exemples à ne pas reproduire: `2> cron_err.log` ou `> cron_err.log 2>&1`) * Un script en crontab ne doit rien renvoyer sur _stdout_ -* Un script en crontab devrait être lancé avec une option _-quiet_ ou _-cron_, permettant de +* Un script en crontab devrait être lancé avec une option `-quiet` ou `-cron`, permettant de le lancer en mode interactif sans cette option et d'obtenir des informations (sur _stdout_) -* Un script en crontab ne devrait pas faire de requête en curl/wget sur _localhost_ ...surtout si +* Un script en crontab ne devrait pas faire de requête en curl/wget sur _localhost_ ... surtout si le script demande beaucoup de ressources ! [[BR]] L'utilisation d'un langage CLI est conseillé. [[BR]] *[PHP]* Dans le cas de PHP, il faut par exemple utiliser PHP CLI (qui a souvent des limitations moins restrictives qu'en mode web) * Un script doit être lancé dans lancé dans la crontab de l'utilisateur, JAMAIS EN ROOT @@ -24,8 +26,9 @@ Voici quelques conseils que nous recommandons fortement aux développeurs web. * masque # 027 en mode FTP/SFTP VS masque 077 en mode web * Si besoin des droits d'écriture pour le web : + ~~~ -chmod g+w +$ chmod g+w ~~~ * Un fichier avec les droits 777 (ou 666) provoque la fonte de la banquise, dégage du CO2 et tue des bébés chats. @@ -34,23 +37,27 @@ chmod g+w ### Détection des droits incorrects * Détecter les fichiers non lisibles par Apache (lecture sur le groupe) : + ~~~ -find ./ -type f ! -perm /g=r -exec ls -l {} \; +$ find ./ -type f ! -perm /g=r -exec ls -l {} \; ~~~ * Détecter les répertoires non lisibles par Apache (lecture/exécution sur le groupe) : + ~~~ -find ./ -type d \( ! -perm /g=r -o ! -perm /g=x \) -exec ls -ld {} \; +$ find ./ -type d \( ! -perm /g=r -o ! -perm /g=x \) -exec ls -ld {} \; ~~~ * Détecter les fichiers/répertoires accessibles en écriture par Apache (écriture sur le groupe) : + ~~~ -find ./ -perm /g=w +$ find ./ -perm /g=w ~~~ * Détecter les fichiers/répertoires accessibles en écriture par tous : + ~~~ -find ./ -perm -007 -o -type f -perm -006 +$ find ./ -perm -007 -o -type f -perm -006 ~~~ ### Wordpress @@ -60,23 +67,27 @@ find ./ -perm -007 -o -type f -perm -006 Les droits d'écriture ne sont requis dans un cas général, mais voici les changements de droits souvent requis : * Autoriser les uploads : + ~~~ -chmod -R g+w wp-content/uploads/ +$ chmod -R g+w wp-content/uploads/ ~~~ * Gérer des règles d'écritures via Wordpress : + ~~~ -chmod 660 .htaccess +$ chmod 660 .htaccess ~~~ * Pour éditer des thèmes via l'éditeur en ligne de Wordpress : + ~~~ -chmod -R g+w sur les thèmes que l'on veut éditer +$ chmod -R g+w sur les thèmes que l'on veut éditer ~~~ * Si répertoire de cache : + ~~~ -chmod -R g+w cache/ +$ chmod -R g+w cache/ ~~~ * À voir selon les plugins installés (qui doivent documenter les changements de droits nécessaires)