Un artisan, meilleurs soit-il, n’est rien sans ses outils.
Nous sommes tous d’accord avec cet adage. Peu importe le talent d’une personne, si elle ne possède pas les bons outils, le résultat de son travail ne pourra jamais atteindre l’excellence.
Alors loin de moi l’idée d’affirmer que le développement informatique est un artisanat (un petit peu tout de même), nous avons besoin de nous entourer d’outils pour nous aider dans notre tâche.
Que ce soit pour taper du code, pour nous souvenir des spécificités d’un langage ou pour tester notre travail, chaque développeur rassemble autour de lui au fil du temps des outils.
Je vous propose de faire un petit tour sur tout ce qui m’aide au quotidien à travailler.
Un esprit sain dans un corps sain.
Avant tout pour taper du code il faut avoir un bon environnement !
Laragon
Laragon est un logiciel qui permet d’installer sur son poste un environnement de développement qui comprend Apache, PHP et MySQL. Bref la base de la base pour du développement web. L’installation et l’utilisation est d’une simplicité enfantine. Et parmi les fonctionnalités qui vont bien Laragon s’occupe tout seul de créer un hôte virtuel pour chaque projet. Il offre aussi la possibilité d’accéder à un site local depuis un poste distant. Ce qui est très pratique pour faire une rapide présentation à un client sans devoir installer le site sur un serveur.
PHPStorm
Là on touche un point sensible, le choix d’un IDE est quelque chose de vraiment très personnel. Et sans vouloir passer pour quelqu’un d’élitiste, PHPStorm est le meilleurs IDE pour développer en PHP que j’ai essayé. Mais alors pourquoi ce choix ? Tout d’abord parce que l’auto complétion est vraiment intelligente ! Je suis souvent assez bluffé avec quelle facilité PHPStorm comprend mon code. Et parmi les petits plus que j’adore il y a l’intégration native de zencoding, la gestion et la compilation du SCSS automatique, la présence d’une console, etc… bref je recommande tout particulièrement cet outil. Il mérite amplement l’achat de la licence.
https://www.jetbrains.com/phpstorm/
GitKraken
GitKraken est une interface graphique (ou GUI) pour Git. Compatible avec macOS, Linux et Windows il permet de gérer simplement ses repository Git. Je ne vous cache pas que j’ai toujours trouvé Git très austère, surtout que je ne suis pas un habitué des lignes de commande. GitKraken est parfait pour avoir une vision globale de son repository, gérer ses branches, etc… Il est compatible avec les principaux outils autour de git : GitHub, GitLab, BitBucket et permet de récupérer et gérer facilement les repository sur ces différentes plateformes. Petite cerise sur le gâteau : il gère le Gitflow !
Google Chrome
Et oui, il ne faut pas oublier le navigateur ! J’utilise Chrome lors du développement, bien que j’utilise IE, Edge et Firefox lors de la phase de test histoire de voir si le design ne souffre pas trop des changements. Pourquoi je n’utilise pas Firefox et sa magnifique console qui est le must pour tous ces développeurs sur internet (je vous parlais d’élitisme tout à l’heure 😉 ) ? Tout simplement parce que lorsque j’ai commencé à utiliser une console de navigateur, c’était avec Chrome et depuis je n’ai pas pris le temps d’en tester d’autres.
Les indispensables.
La liste suivante regroupe les éléments qui sont forcément présent à chacun de mes projets.
Le soda !
Coca-Cola, Sprite, Orangina et, lorsque le projet est complexe, du DocPepper ! Tout dev a besoin de sa source d’énergie. Pour certains c’est le café, d’autres ont besoin de redbull ou de pauses cigarettes. Moi ce sont les boissons sucrées !
Composer
Composer est le gestionnaire de dépendance en PHP. Simple et efficace, il possède en plus un autoloader intégré. Que demander de plus ?
Bien entendu cet outil est à coupler avec Packagist qui référence l’ensemble des librairies disponibles.
PHPUnit
PHPUnit est un outil de test unitaire en php. Même si je ne l’utilise que depuis peu de temps, il commence à prendre de plus en plus de place dans ma manière de développer.
CodeSniffer
J’aime que le code que je produis soit propre et respecte des normes. CodeSniffer est totalement fait pour moi ! Il me permet de vérifier l’intégralité de mon code et tester si je respecte bien les normalisations PSR ou autres que j’ai défini.
https://github.com/squizlabs/PHP_CodeSniffer
Les documentations
Parce qu’il est impossible de se souvenir de toutes les subtilités de chaque langage ou outils, il est toujours bon de garder sous la main les documentations. La liste suivante référence celles que j’utilise au quotidien.
Php.net
Forcément, l’incontournable documentation de php qui est, je trouve, un exemple parfait de documentation claire et fonctionnelle !
W3CSchool
Je l’utilise principalement pour le HTML et le CSS.
MDN WebDocs
Très bonne documentation sur le HTML, le CSS, le Javascript et sur d’autres technologies.
https://developer.mozilla.org/fr/
Git
Comme dit plus haut je ne suis pas un féru des lignes de commande. Du coup je garde toujours un mémo des principales lignes de commande à portée de main.
https://gist.github.com/aquelito/8596717
A Guide To Flexbox
J’adore les flexbox ! Pour moi c’est LA révolution en CSS. Et pour bien l’utiliser rien de mieux qu’un petit guide. Le plus pratique que j’ai trouvé provient de css-tricks.com.
HTML5 pattern
Les Regex, pourtant très pratique, peuvent rapidement se transformer en langage alien ! Rien de mieux alors qu’un dictionnaire !
DevDocs.io
Site très pratique qui rassemble les liens vers les documentations d’un grand nombre de techno (ex : angular, drupal, node, …) Très pratique pour éviter de garder soit même tous les liens dans ses favoris.
Les librairies qui vont bien
Parmi l’ensemble des outils que l’on peut utiliser dans des projets web, il y a des librairies qui reviennent quasiment constamment.
AnimateCss
Cette librairie CSS rassemble pas mal d’animations. Un indispensable pour ajouter un peu de dynamisation à son site internet.
https://daneden.github.io/animate.css/
Font Awesome
Font Awesome est pour moi LA librairie d’icônes. Par contre la version 5 s’accompagne maintenant d’une version pro payante. J’espère que cette librairie restera disponible gratuitement dans sa grande globalité.
Slick
J’ai longtemps galéré pour trouver une librairie javascript qui me permette de gérer simplement les carrousels. Pendant plusieurs années j’avais à peu près trouvé mon bonheur avec CarouFredsel, seulement cette librairie a totalement été abandonnée. Même sa documentation a disparu d’internet. Heureusement j’ai trouvé mon bonheur avec Slick.
http://kenwheeler.github.io/slick/
Les fiddles
Parce qu’il n’est pas toujours possible d’effectuer des tests en local, il peut être parfois nécessaire d’utiliser des services de compilation de code en ligne. La liste ci-dessous rassemble les fiddles que j’utilise par langage.
- PHP : http://phpfiddle.org/
- Javascript : https://jsfiddle.net/
- SQL : http://sqlfiddle.com/
- Expression régulière : https://regex101.com
La veille technologique
Le milieu du développement est en constante évolution. Il faut rester attentif pour ne pas voir ces connaissances devenir très rapidement obsolètes. Pour m’aider à effectuer une veille je garde quelques liens sous le coude.
Développez.com
Site d’informations et de tuto sur le monde du développement. Il est mis à jour très très régulièrement.
Alsacréations
Est également un site d’information et de tuto. Il est moins mis à jour que Développez.com mais est plus orienté sur les nouveaux outils ou les mises à jour de techno.
https://www.alsacreations.com/
Secrets 2 Moteurs
Un site d’information sur le référencement.
http://www.secrets2moteurs.com/
La formation continue
Pour suivre l’évolution du milieu du développement il faut rester informé comme nous venons de le voir mais il faut surtout se former. Pour ça rien de mieux que de suivre des formations en lignes.
Grafikart
Pour moi Grafikart est la référence de la formation en ligne sur le développement. Mis à jour très régulièrement et parle beaucoup des dernières technologies. Je reste d’autant plus admiratif que le propriétaire du site est seul à s’en occuper et à faire les cours !
OpenClassRooms
Anciennement le Site du Zéro, même si je trouve qu’ils ont beaucoup perdu depuis qu’ils se présentent comme une entreprise de formation, ce site reste une référence.
Le fond de la boite
Bien entendu cette liste ne peut pas être complète. Je pense néanmoins avoir fait le tour des éléments les plus importants de ma boite à outils. J’aimerais néanmoins vous laisser encore quelques liens qui méritent d’être gardés.
Stack Overflow
Je suis persuadé que son immense forum rassemble l’ensemble de tous les problèmes qui existent ! Je ne compte pas le nombre de fois où je me suis retrouvé bloqué et que j’ai trouvé la réponse sur un fil !
Webfont generator
Un outil bien pratique pour formater des polices dans les différents formats web.
https://www.fontsquirrel.com/tools/webfont-generator
Mail Tester
Parce que l’envoi de mail en PHP fait certainement appel à du vaudou, il est bon d’avoir un outil qui permet de vérifier si un mail est bien envoyé et reçut ! Mail Tester à l’avantage aussi de dire si le serveur source est blacklisté.
MyDevice.io
Affiche les tailles disponibles en fonction de la source. Très pratique pour savoir combien de pixel sont réellement disponible sur son smartphone !
Iframly
Un petit outil pour aider à débuguer les OpenGraph Protocol et les Twitter Card.