On parle de programmation et du futur du blog - Devblog #1

Au programme de ce Devblog je tenais à vous parler des changements qui s’opèrent sur le blog, du point de vue du contenant et du point de vue du contenu qui y sera proposé à l’avenir. De grands changements peu visibles sur le thème ont été faits, mais à l’intérieur tout ou presque change. Je vous annonce également que je ferai cette série de Devblogs plus régulièrement à l’avenir. Ça me permet de parler des changements que je prévois de faire et de recueillir vos avis en retour.

Dracula - vscode


Le thème du blog 

Je ne me souviens plus par quel biais j’avais eu ce thème mais, déjà quand je l’avais eu il datait.
Ce thème utilisait des technologies d’un autre temps, mais après les mises à jour que je viens de faire, il a déjà été délesté d’une bonne partie de son vieux jQuery.
Ne vous méprenez pas, j’adorais jQuery à une époque car il permettait de tester des choses très facilement. Mais le fait est qu'aujourd'hui il y a d'autres technologies frontend que je voudrais bien tester sur le blog et que l'utilité de jQuery est de moins en moins perceptible pour moi.

Pour moi jQuery sur Blogger avait 3 avantages :

  1. il permettait de rendre le code Javascript compatible avec beaucoup de navigateurs.
  2. il permettait de créer des requêtes ajax plus facilement.
  3. il gérait certaines erreurs de tableau vide notamment presque sans rien faire.

Il y a maintenant des outils pour convertir du code JavaScript moderne en version ES6 et plus, vers un code qui sera accepté par les anciens navigateurs, le plus connu est Babel. C’est celui avec lequel j’ai eu l’occasion de travailler et il est facile à prendre en main et configurer. Cela supprime le premier avantage de jQuery, car son principal intérêt, outre sa simplicité d’utilisation, vient de son pouvoir de rendre JavaScript compatible avec plein de navigateurs sans rien faire.

Babel remplit cette tâche à la perfection et permet même de produire un code en fonction de la version du navigateur que l’on souhaite prendre en charge. Pour vous donner une idée, vu que la majorité de mes utilisateurs viennent de Google Chrome et Firefox je pourrais décider, histoire de rendre mon code plus léger, d’abandonner le support de Edge ou Internet Explorer.

Pourtant, il existe encore un intérêt à utiliser  jQuery sur un thème Blogger, et c’est tout simplement parce que tout est plus facile à tester. Tester un thème Blogger en cours de développement est un enfer parce que les outils manquent et ne sont pas adaptés.
Pour pallier à cela, je développe mes propres outils et méthodologies qui bien que sommaires permettent de mieux tester le code in fine. Je combine avec l’utilisation de Babel, celle de Webpack pour pouvoir diviser mon code en modules. Les modules permettent de supprimer la répétition, faire des tests unitaires, écrire des commentaires qui ne se retrouveront pas dans la version du code publiée et utiliser un linter comme ESLint.

Les linters sont un outil formidable pour formater le code et le rendre plus lisible, obéissant à des standards comme ceux de airbnb
Je peux également tester mon code offline par le biais d’un serveur de test sur Node et du "hot reload" de Webpack qui me permet de générer un bundle à chaque fois que je modifie le code.
Enfin, j’utilise maintenant Axios pour faire les requêtes HTTP, même si je pense toujours à basculer vers fetch. Axios est plus performant que la fonction ajax() de jQuery et permet de faire bien plus de choses.

La mise à jour du thème vers l’API v3 de Blogger

Blogger propose une nouvelle version de son API. Elle est un peu mieux que l’ancienne car elle permet de mieux contrôler les réponses que l’on souhaite recevoir. 
Je voudrais bien à l’avenir mettre en cache le résultat de certaines opérations que je fais sur les requêtes sur un service comme Firebase, mais c’est encore en réflexion.

Le contenu du blog

Je compte proposer des articles un peu plus orientés sur la programmation. Ainsi, je compte parler de tous les nouveaux outils qui s’offrent à nous dans le monde de la programmation. J’aimerais parler des langages que je connais comme Javascript, Typescript et PHP et ceux qui m’intéressent comme le GO et PYTHON. 
Je compte également parler des frameworks que je connais comme Laravel et Vue mais aussi ceux avec lesquels j’ai eu affaire comme Angular. Je souhaite enfin parler d’outils qui pourraient très certainement être utiles à beaucoup de monde comme JupyterLab.
Je veux aussi parler des différentes options qui s’offrent à nous pour l’hébergement, des serveurs mais aussi et surtout du software qui permet d’orchestrer tout ça par le biais d’outils comme Docker, Apache, Nginx ou encore des outils qui facilitent le déploiement et la gestion du versionning du code comme Git.

Aucun commentaire:

Fourni par Blogger.