==== Tips ==== ===débug=== * le débuggeur du navigateur (raccourci F12) permet une exécution pas à pas du javascript : pour cela mettez des points d'arrêt, une fois le code arrêté le pas à pas se fait avec F10 (F8 pour sauter au prochain point d'arrêt) * utiliser l'inspecteur d'éléments du navigateur pour identifier la balise correspondant à un élément * consulter les logs de votre conteneur docker (celle de la base de donnée par exemple) avec docker logs * faire des var_dump(*$nom de la variable*) pour mieux analyser où se situe les problèmes . ===Base de donnée === Il peut être intéressant de voir la structure de la base donnée de framadate ~$ docker exec -it framadate-db bash Se connecter à la base de données avec les identifiants définis dans le docker-compose.yml mysql -u framadate framadate -p Vous êtes maintenant dans un shell à l'intérieur de votre base de donnée, vous pouvez donc librement lancer des commandes SQL show tables describe *nom de la tables* === Gérer les traductions === Gérer les traductions sur framadate et très simple, les développeurs ne s'occupent que de la version anglaise . Pour gérer les traductions, il faut faire deux choses :\\ **Modifier le en.json**\\ rajouter dans le dossier /locale/en.json selon ce format ( ici avec edit name )'' "Edit the name": "Edit name"'', si la page n'existe pas il faut rajouter le nom de la page avec ''"nomdelapage {"edit the name" : "edit name"}''\\ Il faut insérer les variables dans l'ordre alphabétique. **Modifier l'HTML** :\\ Chaque contenu apparaissant à l'écran doit avoir ce format'' {__('nomdelapage', 'motvisible')}'' === linux : commandes utiles === * **Commande : cd** cd déplace le dossier courant vers la destination * **Commande : ls** ls [-al] affiche le contenu du dossier courant (avec les droits d'accès avec les option -al) * **Commande : chmod** chmod change les droits d'accès d'un fichier/dossier * **Commande : chown** chown : -R change le propriétaire d'un fichier/dossier (* => tous) * **Commande : cat et nano** cat / nano affiche le contenu d'un fichier/permet de le modifier * **Commande : locate et find** locate / find -name trouve un fichier sur la machine (locate se base sur l'index : si vous cherchez un fichier récent, il n'est peut-être pas indexé et il faut le chercher avec la commande find, qui est plus longue) === Docker : commande utile === * **Commande : docker ps** docker ps liste les containers dockers * **Commande : docker supprime les images** rmi $(docker images -q) Supprime toute les images de tout les containers , ce qui peut être utile puisque les images consomment beaucoup de place. ==== Bonne pratique ==== === code en général : === * respecter les indentations * respecter les choix de nommage : snakecase ou camelcase (pas les deux) === éditeur de texte : === Utiliser un éditeur de texte comme [[https://atom.io|atom]], qui permet de faire des recherches globales sur tout le projet et ainsi trouver tout les liens entre les différentes pages. === Conseil d'utilisation de git : === * forker le projet * faire une branche à partir de la branche master pour chaque issue (git checkout) * faire plusieurs commit : 1 par changement fonctionnel ou technique (ajout d'un bouton + fonction associée, etc...) * faire les mises à jour de Framadate sur la branche master. * gitignore des fichiers qui ne doivent pas être publics (éviter les push force) * Utiliser [[https://github.com/FriendsOfPHP/PHP-CS-Fixer#installation|Php fixer]] pour respecter les normes d'indentation.