This website requires JavaScript to run properly.
William DA SILVA
William DA SILVA
Développeur Full-Stack

Curriculum Vitae

Découvrez mes postes précédents, ainsi que mes nombreux projets que je réalise souvent pendant mon temps libre.

Parcours

DGFiP

De 2023 à 2025
https://www.economie.gouv.fr/dgfip

En tant que développeur front-end, je travaille actuellement sur un projet consistant à construire un web builder en utilisant Vue.js et Grapesjs. Mes responsabilités incluent :

  • Le développement du front-end du web builder avec Vue.js et Grapesjs
  • La garantie que le web builder respecte des règles et normes d'accessibilité strictes
  • L'implémentation de nouvelles fonctionnalités et l'amélioration de celles existantes pour rendre le web builder plus ergonomique
  • La collaboration avec d'autres développeurs et designers UX pour assurer la cohérence et la qualité du code
  • La réalisation de tests et le débogage pour garantir que le web builder est entièrement fonctionnel et conforme aux normes applicables
  • L'optimisation des performances du web builder pour assurer des temps de chargement rapides

Grâce à mon travail sur ce projet, j'ai acquis une expérience précieuse avec :

  • Le développement de web builders avec Vue.js et Grapesjs
  • La collaboration avec d'autres développeurs et designers UX pour créer des interfaces ergonomiques
  • L'implémentation et le test de nouvelles fonctionnalités
  • La réalisation de tests et le débogage pour garantir le bon fonctionnement du web builder
  • Le respect strict des règles et normes d'accessibilité

Dans l'ensemble, mon rôle consiste à contribuer au développement d'un web builder qui permettra aux utilisateurs de créer et personnaliser facilement des sites web sans nécessiter de grandes compétences en programmation, tout en garantissant l'accessibilité du builder pour tous les utilisateurs.

Chronotruck

De 2018 à 2022
https://www.chronotruck.com

Chez Chronotruck, j'ai été responsable du développement d'une nouvelle SPA en VueJS 2.x avec un autre développeur front-end. Cela a impliqué la conception de nouvelles interfaces basées sur des maquettes créées par notre designer UI/UX et les API PHP des développeurs back-end. Durant ce projet, nous avons implémenté de nouvelles fonctionnalités en utilisant diverses technologies, notamment :

  • Des vues cartographiques avec Leaflet & VueLeaflet
  • Des migrations CSS de VueBootstrap vers TailwindCSS, documentation des composants avec Storybook
  • Des paiements avec StripeJS
  • La localisation i18n ICU

J'ai également mis en place des tests d'interface automatisés et avancés sur CircleCI, incluant des audits de vulnérabilités, des tests statiques sur le code (ESLint, Stylelint, taille du bundle), des tests unitaires de composants avec Jest, des tests fonctionnels (intégration) avec Jest, Puppeteer & Cucumber, et des tests E2E avec Nightwatch, Wiremock et Browserstack. Par la suite, j'ai été responsable de la migration de ces tests vers Github Action.

En dehors de la SPA, j'ai également développé le site développeur de Chronotruck en utilisant Ruby et Jekyll. Durant ce projet, j'ai découvert AlpineJS. J'ai aussi travaillé sur une application Vue affichant les réservations en temps réel sur les écrans du bureau via des WebSockets (socket.io).

Pendant mon temps libre chez Chronotruck, j'ai travaillé sur une mission DevOps. Cela comprenait l'amélioration de nos déploiements Capistrano, la construction et l'amélioration de nos images Docker en CD, et la mise en place de notre infrastructure from scratch avec des scripts Terraform/Ansible. J'ai également implémenté une documentation d'API pour les développeurs en utilisant APIBlueprint et Gridsome.

Chez Chronotruck, j'ai eu l'opportunité d'encadrer des stagiaires front-end, de collaborer avec de nouveaux développeurs front-end, et de rejoindre des équipes externes avec Theodo pour construire de nouveaux projets pour GEFCO. Sur ces projets, nous avons développé deux nouvelles applications avec Vue 3, Pinia et Typescript. J'ai également mis en place un CI & CD avancé sur Github Action pour ces deux applications et découvert de nouveaux processus d'organisation.

My Cuistot

De 2016 à 2018
https://www.mycuistot.com

En tant que membre d'une équipe de trois personnes au sein d'une startup, j'ai été responsable de la conception et de l'implémentation de l'architecture back-end de la plateforme. Cela a impliqué l'utilisation de diverses technologies, notamment :

  • Ruby on Rails avec une base de données PostgreSQL et ActiveAdmin sur Docker
  • MJML pour la création de templates d'e-mails responsives
  • SendGrid pour l'envoi d'e-mails

Au fur et à mesure de l'évolution de la plateforme, j'ai créé de nouvelles API et adapté les modèles existants aux nouvelles fonctionnalités demandées.

Par la suite, j'ai été chargé du développement de l'application mobile My Cuistot pour les plateformes Android et iOS. Cela a impliqué l'utilisation d'Ionic 1.x / Angular 1.x et de Google Firebase pour les notifications push. J'ai également été responsable de :

  • La conception de l'interface utilisateur de l'application avec Photoshop et Figma
  • L'intégration du design en HTML / CSS & Javascript
  • L'utilisation des endpoints back-end précédemment créés
  • La mise en place d'outils de build, de publication et de linters sur CircleCI pour optimiser le processus de développement

J'ai également conçu et développé un nouveau site pour My Cuistot, qui fonctionnait précédemment sous WordPress. Pour permettre aux clients de réserver des repas, j'ai utilisé VueJS 2.x ainsi que diverses technologies telles que HTML, SCSS, JS et Webpack. Pour améliorer l'architecture du projet, les performances et le SEO des landing pages, j'ai migré vers NuxtJS avec rendu côté serveur. Dans ce cadre, j'ai été responsable de :

  • La conception des interfaces desktop et mobile avec Figma
  • L'intégration du design en VueJS
  • L'intégration de diverses API avec le back-end

Enfin, j'ai réalisé plusieurs optimisations pour réduire les taux de rebond et améliorer les performances, obtenant ainsi un score optimal lors de divers audits de performance.

Dans l'ensemble, mes responsabilités comprenaient :

  • L'utilisation de diverses technologies pour développer le back-end et le front-end de la plateforme
  • La création de nouvelles API et l'adaptation des modèles existants aux besoins évolutifs de la plateforme
  • La conception des interfaces utilisateur de l'application mobile et du site web
  • Des optimisations pour améliorer les performances et réduire les taux de rebond

Limeet

De 2015 à 2016

En tant que développeur freelance, j'ai été responsable du développement d'une application mobile de mise en relation pour des étudiants Erasmus. Cela a impliqué l'utilisation d'Ionic pour créer une application à la fois sur Android et iOS. J'ai également collaboré avec un développeur back-end externe qui utilisait Express pour fournir les endpoints de l'application.

Durant ce projet, j'ai acquis de l'expérience avec diverses technologies et processus, notamment :

  • La construction d'applications pour iOS
  • L'implémentation de la connexion via Facebook
  • Le développement avec AngularJS

Bien que ce projet ne soit plus maintenu, il m'a apporté une expérience et des connaissances précieuses que j'ai depuis appliquées à d'autres projets.

Technologies

Une liste non exhaustive des technologies et langages que je maîtrise, et avec lesquels je travaille souvent

  • HTML
  • CSS
  • Javascript
  • Typescript
  • NodeJS
  • Webpack
  • Vite
  • VueJS
  • NuxtJS
  • GrapesJS
  • Ruby
  • Rails
  • Apache Cordova
  • Ionic
  • Python
  • MJML
  • Lua
  • Electron
  • React
  • NextJS
  • PostgreSQL
  • Terraform
  • Ansible