JavaScript ou JS est célèbre pour rendre le web dynamique et interactif au web moderne. Ce langage a connu une évolution fulgurante pour devenir aujourd'hui l'un des piliers du développement web et applicatif. Sa capacité à être exécuté directement dans le navigateur lui permet d'être l'un des meilleurs choix pour construire des expériences utilisateur riches et réactives.
Il possède une syntaxe souple, un typage dynamique et plusieurs paradigmes (programmation fonctionnelle, orientée objet et événementielle). Il est possible de gérer du DOM, pour interagir avec la structure HTML et créer des interfaces dynamiques qui réagissent immédiatement aux actions des utilisateurs. Il est aussi possible de faire de l'asynchrone, grâce aux promesses, async/await et requêtes AJAX, pour concevoir des applications réactives qui interagissent avec des serveurs sans bloquer l'interface utilisateur. JavaScript à beaucoup de frameworks et de bibliothèques tels que React, Vue.js, Angular, des outils tels que Webpack, Babel et TypeScript qui le transforment en un environnement complet et professionnel.
Il est devenu le langage le plus populaire sur GitHub. Son écosystème s'est beaucoup développé, dépassant de loin le simple navigateur pour couvrir le développement côté serveur (Node.js), mobile (React Native, Ionic), desktop (Electron), et même IoT. Cette omniprésence trouve son origine dans plusieurs caractéristiques spécifiques : sa capacité constante d'adaptation avec des mises à jour régulières (ECMAScript), son écosystème riche de plus d'un million de packages sur npm, ainsi que sa communauté mondiale très active. Si vous créez une application web interactive, une progressive web app ou une application cross-platform, JavaScript possède aujourd'hui les outils pour répondre aux défis techniques les plus difficiles tout en offrant une meilleure expérience utilisateur.
JavaScript a été l'un des tout premiers langages que j'ai connu, l'un des premiers où j'ai tapé mes premières lignes de code. Voici quelques réalisations qui m'ont permis de prendre du niveau.
Ici j'ai utilisé JavaScript associé à Stimulus pour implanter des interfaces interactives, de l'affichage en temps réel et de l'affichage cartographique. Grâce aux requêtes asynchrones associées à l'utilisation des WebSockets pour obtenir une mise à jour en temps réel des données affichées sans avoir à charger complètement la page.
Cette solution doit faciliter l'ajout des documents et la gérance des visites d'audit en toute efficacité. Pour répondre à ces contraintes, j'ai utilisé le potentiel de JavaScript via Stimulus pour implémenter un chargement dynamique du contenu, que ce soit en tableau ou cartographique.
De plus, le projet Bio Data réalisé pour Sequens démontre une autre de mes compétences en JavaScript. Dans le cadre, l'objectif était de rendre l'affichage et la représentation des données plus dynamique et interactive. J'ai donc ajouté des éléments interactifs, grâce à la puissance de JavaScript pour donner plus en matière de rendu visuel et rendre l'interface utilisateur plus accessible et intuitive.
Je trouve difficile de m'attribuer une note précise pour m'évaluer sur le JS, car c'est un langage qui est tellement large et je sais que je n'ai pas tout exploré, mais si je devais m'évaluer uniquement sur le JS appliqué au web, je me mettrais un 7/10. Avec la gestion en temps réel avec Easy-Monithor, la conception d'interfaces interactives avec Easy-Check ou l'optimisation de l'affichage avec Bio Data, j'ai pu apprendre à quel point JavaScript était vaste et qu'il faudrait des milliers et des milliers d'heures pour pouvoir explorer tout ce que ce langage nous permettrait de faire. Il y a l'intégration d'appels asynchrones avec fetch et WebSockets ou même la gestion des cas d'événements complexes dans des formulaires.
Les discussions fréquentes sur des forums comme GitHub ou sur Stack Overflow, m'ont aussi permis dévoluer et de monter en compétence. Tous les projets, toutes les difficultés rencontrées m'ont confronté aux réalités du développement moderne et m'ont incité à adapter mes méthodes pour être conforme avec les exigences techniques et fonctionnelles.
Je vais continuer sur cette voie d'apprentissage et tester d'autres possibilités qu'offre JavaScript, par exemple essayer d'utiliser JavaScript sur des projets de rendu 3D. À travers les projets menés, j'ai pu apprécier l'intérêt d'une démarche hybride théorie-pratique, où l'expérimentation permet de faire face au décalage entre les concepts et les cas d'usage réels. Je souhaite enrichir mes connaissances en ce qui concerne les dernières évolutions d'ECMAScript tout en m'entourant de dernière génération d'outils permettant d'améliorer le processus de développement. L'intégration progressive de TypeScript, par exemple, est une voie prometteuse pour introduire une solidité et une maintenabilité améliorées dans le code, en apportant une rigueur dans le typage qui aide à éviter les erreurs et à améliorer la lisibilité des programmes.
Chaque projet dans lequel j'ai travaillé m'a enseigné, et c'est en mettant mes compétences en pratique avec les vrais besoins du terrain que j'ai pu m'élancer vers une expertise dans le JavaScript. La pratique de solutions techniques dans les champs les plus divers m'a appris que la réussite d'un projet dépend autant de la qualité du code que de la capacité à innover et à s'adapter aux contraintes de l'heure. La rigueur de l'analyse, la créativité de la recherche de solutions optimisées et le désir d'être toujours en question sont les leviers de cette évolution permanente. Je suis persuadé qu'une telle approche proactive et une curiosité perpétuelle sont les ingrédients clés de la maîtrise de JavaScript et du rôle de contribution aux projets à vocation.
Mon parcours en JavaScript est un parfait accord entre cours théoriques obtenus durant mes études et pratique concrète dans les projets personnels ou professionnels. Ce langage nécessite une veille permanente et une adaptation permanente aux nouvelles technologies et je m'engage à suivre cette quête de perfectionnement.