Pratique du développement (épisode 1)
Que vous écriviez du code PHP ou stylisiez un site Web avec les feuilles de style en cascade (CSS), il existe une gamme d'outils qui peuvent vous rendre la vie beaucoup plus facile et qui vous permettront de vous concentrer sur l'écriture d’un code de bonne qualité rapidement et efficacement.
Cette série d'articles “pratique du développement” se concentrera sur l'utilisation de PhpStorm comme environnement de développement et examinera sept sujets.
Il y a plusieurs façons de le faire (TIMTOWTDI*)
Je ne dis pas que ce que je propose dans ces articles soit la meilleure – ou la seule – façon de travailler. Je vous décris ma propre expérience, la façon dont je procède actuellement et comment nous le faisons au travail.
L'information est testée en premier lieu sur l'environnement Windows, mais elle doit être possible sur tous les OS. Ces pratiques devraient ainsi être applicables à Windows, Linux ou Mac. Vous pouvez choisir les méthodes qui vous conviennent et je souhaite recevoir des suggestions pour d'autres IDE ou plates-formes que vous trouvez utile.
Thèmes
Chaque thème illustrera un aspect du développement de logiciels comme décrit ci-dessous et sera un article mensuel publié dans le Joomla Community Magazine (JCM).
Mise en place
Configuration de votre environnement de travail et des outils
Définir l’arborescence avec des “répertoires de projet” ce qui vous permettra d’avoir de multiples projets / sites dans votre flux de travail. Un répertoire de projet sera le lieu central pour toutes les données liées à un projet, le rendant facile à archiver ou à transférer sur un autre système. Utiliser des liens symboliques (également sous windows !) pour les fichiers et répertoires rend la création de fichiers à l'extérieur du répertoire “projet” disponible dans celui-ci. Un lien permet à plusieurs endroits d’accéder au même fichier.
Projet
Gérer et publier vos fichiers, appliquer le codage et le style
Les environnements de développement intégrés (IDE's) comme Eclipse, Netbeans, PhpStorm ou autres peuvent aider à améliorer votre productivité. Ils offrent différents niveaux de support pour des langages comme PHP, JavaScript et HTML en ce qui concerne la coloration syntaxique, l’édition, l'inspection, la refactorisation, les normes de codage de Joomla!. Ils sont extensibles avec des plugins et offrent beaucoup plus encore (aide, manuels…). En fin de compte, c'est un choix personnel. Personnellement, j’utilise l’IDE PhpStorm.
Styliser
CSS et l'utilisation de CSS avec des préprocesseurs
Styliser un site en utilisant les CSS est un principe de base de la conception Web. Bien qu'ils soient puissants, les CSS ont fait un long chemin depuis qu'ils ont été introduits. Différentes techniques ont été empruntées à d'autres langages de programmation pour améliorer ce dont ils sont capables. Au cours des dernières années, nous avons constaté le développement de «pré-processeurs» telle que “Syntactically Awesome Style Sheets” (SASS) et “Leaner CSS” (LESS). Chacun a ses propres forces et faiblesses qui évoluent – et chacun produisent des CSS normalisés. Pour appréhender toutes les fonctionnalités en constante évolution des pré-processeurs, vous ne devriez pas compter sur le support intégré dans les templates, mais utiliser votre IDE pour faire le pré-traitement.
Déboguage
Voir ce qui se passe dans le code
L’amélioration de la documentation de Joomla! ces dernières années a été épique ! Cependant être capable de voir ce qui se passe en temps réel dans votre code (Javascript ou PHP) est, malgré tout, une fonction très utile et il faut se donner la peine de prendre du temps pour la mettre en place à la fois en local (PC ou Mac) et à distance (vous avez le développement sur le serveur de production). Le débogueur vous permet d'arrêter un script à des points spécifiques dans le code, inspecter et modifier des variables, le tout sans apporter des modifications au code source lui-même. Pensez à Firebug ou aux outils de développement (developer tools) pour le codage.
Le contrôle de version
Gérer les changements, revenir en arrière, contribuer
Un système de contrôle de versions ou de révisions (VCS – Revision control system) est le meilleur ami du développeur de logiciels professionnels depuis des décennies. Les outils que vous pouvez choisir comme CVS, Subversion, GIT ont changé au fil du temps. En ce moment, probablement le VCS le plus couramment utilisé dans le monde de l'Open Source (et utilisé par la communauté Joomla!) est GIT.
Un IDE peut vous aider dans les tâches de base des VCS, la création de branches pour des issues ou des fonctionnalités supplémentaires et sauvegarder des changements (intermédiaires) en les annotant. Vous pouvez même l'utiliser pour contribuer aux tests de Joomla! et aux corrections de bugs.
Compiler
Archives installables, tâches diverses
Lors de l'élaboration de votre propre extension (ou package), à la fin vous devez créer une archive installable sur votre site ou que vous pouvez soumettre à la communauté via le Joomla! Extensions Directory (JED). L'utilisation d’outils comme make, ANT ou PHING vous aideront à accomplir ces tâches répétitives. PHING est la version PHP extensible de ANT et comme il est supporté nativement par PhpStorm cela en fait le choix naturel pour la construction de l'archive, l'exécution du test, la validation et les autres tâches spécifiques du projet.
Tester
Les tests unitaires, les tests automatisés, les tests d'interface utilisateur (UI)
“Tout le monde” en parle, mais seuls quelques-uns parviennent à le faire. Il y a une forte poussée et une bonne raison d'adopter un test automatique. Le concept d'avoir des tests automatisés semble évident, comment les mettre en œuvre réellement et déployer ces derniers dans vos projets est une chose différente, surtout avec l'interaction de l'interface utilisateur. J'ai encore besoin de réfléchir à ça, et c'est pourquoi je l’ai gardé pour la fin ;)
Et maintenant...
Nous avons l'intention de documenter tous ces sujets et de les partager dans les prochains numéros du JCM. Si vous avez des commentaires ou suggestions de sujets à couvrir s'il vous plaît entrer en contact avec Marco Dings.
Et comme chantonnait la Sirius Cybernetics Corporation Complaints Division : Share and enjoy! (H2G2)
Some articles published on the Joomla Community Magazine represent the personal opinion or experience of the Author on the specific topic and might not be aligned to the official position of the Joomla Project
By accepting you will be accessing a service provided by a third-party external to https://magazine.joomla.org/
Comments