APEX Nitro modernise le développement front-end – Rencontre avec son créateur, Vincent Morneau
Le 25 juin 2017, lors de la session générale de Kscope d’ODTUG à San Antonio, Vincent Morneau, un employé de longue date chez Insum, a reçu le prix ODTUG de l’Innovation pour avoir développé une application appelée APEX Nitro.
APEX Nitro modernise l’utilisation d’HTML, JavaScript et CSS dans la programmation avec Oracle Application Express. Il permet de mieux structurer le processus de développement front‑end et propose une synchronisation en temps réel des changements apportés au code.
Le résultat de l’innovation dont a fait preuve Vincent Morneau ? Il a été nommé Oracle Ace. Ce titre vise à reconnaître chez un développeur l’alliance de ses compétences techniques et la richesse de ses contributions auprès de ses pairs de la communauté Oracle pour partager ses connaissances et son expérience.
Pour en savoir plus sur l’histoire singulière de Vincent et où elle l’a amené, nous l’avons rencontré 8 mois plus tard.
Comment es‑tu devenu développeur ?
VM: J’ai découvert la programmation au secondaire, et ça a été le coup de foudre. J’ai continué à apprendre à l’Université, et j’ai obtenu mon bac alors que je travaillais ici chez Insum. J’aime vraiment la programmation. J’aime le code et le vois comme un puzzle. Il faut trouver des solutions à des problèmes, et il y a plusieurs façons d’y arriver. J’ai ma propre façon de faire.
Comment as-tu découvert Oracle Application Express (APEX) ?
VM: Grâce à Insum, en fait. L’école que j’ai fréquentée (le CÉGEP Bois de Boulogne) proposait un cours en collaboration avec Insum, qui fournissait les serveurs APEX. Quand il a été temps de faire un stage, il y avait une opportunité chez Insum, et c’est là que je suis allé.
Qu’as-tu pensé d’Insum quand tu as commencé à travailler ici ?
VM: C’était bien plus petit que maintenant. J’étais un employé parmi 10. Les deux à trois premières années, nous étions 4 développeurs. Bien d’autres se sont joints ensuite, mais nous 4, nous sommes encore là. C’était une ambiance très collaborative à cette époque. C’est toujours le cas aujourd’hui.
Qu’est-ce qui t’a poussé à développer Nitro ?
VM: Il y a 5 ans de ça, j’ai commencé à travailler davantage sur le développement front‑end. Avec le front‑end, il faut être vigilant et respecter les normes de conception, et il faut développer davantage l’aspect visuel pour faciliter l’utilisation par le client.
APEX propose plein de fonctionnalités prêtes à l’emploi, grâce au très populaire Universal Theme. Mais ce n’est pas toujours ce qu’il y a de mieux quand il faut créer quelque chose qui correspond à l’image de marque du client. C’est pourquoi, quand j’ai commencé à appliquer l’image de marque des clients à leurs applications, je me suis vraiment intéressé à l’apparence, l’ergonomie et l’interactivité qu’offre APEX.
J’ai commencé à comprendre qu’APEX n’était pas aussi simple à ce sujet comparé à d’autres. Je me suis demandé comment je pouvais améliorer ça. Par exemple, le développement front‑end avec APEX implique de travailler avec 3 langages: HTML, JavaScript et CSS. Utiliser ces langages dans APEX, c’est ouvrir tout un champ de possibilités. C’est donc facile de s’y perdre, de créer du mauvais code et de ne pas respecter les bonnes pratiques. Si tu es un développeur expérimenté, cette liberté a du bon. Mais si tu en es à tes débuts avec JavaScript et CSS, alors il y a plus de chances que tu développes de mauvaises habitudes.
Et quels sont tes objectifs avec APEX Nitro ?
VM: Je voulais mieux guider les développeurs avec le front‑end APEX. En premier lieu, je voulais apprendre à écrire du code de meilleure qualité. Ensuite, je voulais aider à rendre ce code plus efficace pour optimiser la performance. En troisième lieu, je voulais moderniser le déploiement jusqu’à la production. APEX Nitro automatise beaucoup de tâches redondantes. Et, si j’ai pu créer ça pour moi, je me suis dit que je pourrais le partager comme outil gratuit.
Y a-t-il d’autres avantages à utiliser APEX Nitro ?
VM: APEX Nitro améliore le travail d’équipe. Travailler en équipe avec le grand environnement ouvert qu’est APEX en utilisant HTML, JavaScript et CSS rend difficile la gestion du contrôle des sources.
Une application APEX ne fait pas bon ménage avec un système de gestion du contrôle des sources. C’est correct pour le back‑end parce que tu peux travailler en dehors d’APEX avec ton propre système de gestion du contrôle des sources. Mais la programmation front‑end dans APEX est habituellement intégrée au sein de l’application APEX.
Avec APEX Nitro, plus besoin de coder le front‑end dans APEX; il permet le contrôle des sources. De cette façon, le travail est plus clair et l’expérience de l’équipe est améliorée.
Parle-moi du développement d’APEX Nitro. As-tu rencontré des difficultés à le créer ?
VM: Ça fait 3 ans que je le développe maintenant. Au début, j’ai eu la chance d’obtenir de l’aide de Martin D’Souza, avec qui on s’est remué les méninges. Il y avait la question d’apprendre comment venir à bout des tâches manuelles dont j’ai parlé plus tôt. Une des façons de résoudre ces problèmes a été d’apprendre et d’utiliser le langage de programmation Node.js. Ça m’a aidé à mieux comprendre la communication client‑serveur. Dans APEX Nitro, Nose.js permet de voir les résultats des changements que tu apportes au code en temps réel. Le programmeur APEX n’est alors plus prisonnier d’un cycle de création de code, sauvegarde, rafraîchissement du navigateur, vérification du résultat, et création de code à nouveau. Tu vois tout dans le navigateur instantanément en même temps que tu le fais.
Pour finir, comment ressens-tu la reconnaissance que tu as reçue à Kscope17 ? De quoi ça avait l’air ?
VM: Génial. J’avais rempli le formulaire du prix de l’Innovation des mois avant. Puis j’ai complètement oublié. Kscope approchant, on s’est concentré à faire une présentation marketing forte pour APEX Nitro parce qu’on lançait la version Beta à ce moment-là. À la fin de la conférence, pendant ma “présentation éclair” de 10 minutes, j’ai fait une démo en direct. J’entendais les gens réagir dans le public. À un moment, j’ai montré les capacités de développement réactif de l’application. En fait, je faisais la présentation avec mon ordinateur et j’avais un téléphone connecté à APEX Nitro. J’ai donné le téléphone à quelqu’un dans le public et je lui ai demandé de taper quelque chose dans le téléphone, et c’est simultanément apparu bien formaté dans mon navigateur, sur le grand écran. On a eu bien du plaisir à voir ça.
Vincent Morneau, merci, et je te souhaite plein de succès avec APEX Nitro.
VM: Merci.
Si vous souhaitez en apprendre plus sur APEX Nitro auprès de Vincent Morneau en personne, il sera présent au Oracle Code à Boston le 17 avril. Si vous n’avez pas l’occasion de le rencontrer à Boston, vous pourrez le voir à Kscope18, du 10 au 14 juin.
APEX Nitro est disponible sur GitHub.