Coordonnées
Présentation
Ingénieur logiciel avec 7 ans d'expérience. Je travaille sur des technologies Fullstack JS. J'utilise principalement Node.js, React.js, React Native, et Electron. Je suis persévérant et créatif pour trouver des solutions techniques, et n'hésite pas à utiliser des technologies bas niveau lorsque la performance est une priorité. Je contribue à des projets open source, et développe PikaTorrent, une application de partage de fichiers en peer-to-peer.
Diplômes
Langues
Centres d'intérêt
Compétences
Expériences
PikaTorrent
Application open source pour mobile, desktop et web de partage de fichiers en peer-to-peer.
- Développement de l'application web et desktop avec React.js et Electron.
- Développement mobile avec React Native.
- Développement backend Node.js et React Native en C/C++ pour libtransmission, une bibliothèque BitTorrent.
- Partage de code entre les plateformes avec react-native-web.
- Organisation de plusieurs projets dans un monorepo.
- Possibilité de lier l'application mobile et desktop en peer-to-peer grâce à Websocket et WebRTC.
- Définition et implémentation d'un protocole d'échanges de messages via WebRTC.
- Publication sur différents app stores: Google Play Store, Microsoft Store, Flathub.org, et Github Releases.
- Mise en place de tests d'intégration, et déploiement continue (CI/CD) avec GitHub Actions.
- Rédaction de documentation technique et pour contribuer aux traductions.
- Communication du projet sur Internet.
Projet de plateforme CRM
Développement d'une plateforme CRM en SAAS, avec un associé commercial.
- Architecture et développement de l'application fullstack avec React.js, Express.js, et MongoDB.
- Création d'un moteur de recherche full text avec Elasticsearch.
- Développement d'un microservice de parsing de documents en Python.
- Développement d'une application mobile avec React Native.
- Développement d'une extension Chrome/Firefox
- Mise en place et développement de tests unitaires, fonctionnels, et d'intégration avec Cypress.
- Création et publications d'images Docker.
- Déploiement des services sur kubernetes.
- Gestion d'un cluster Kubernetes et déploiement des services en SAAS: gestion de sous-domaines, certificats TLS (https), séparation des données clients...
- Mise en place d'outils d'amélioration du code: linters de code et formatters (eslint/prettier).
- Mise à contribution d'un développeur junior.
- Sécurisation de données sensibles avec du chiffrement.
- Création et déploiement de scripts de backups de données.
Qwant
Développement d'une application de sécurisation et décentralisation des données personnelles (Masq). + Qwant Search & Maps.
- Mise en place de l'architecture et prise de responsabilités sur l'application web en React.js et Redux.
- Propositions et utilisation de technologies peer-to-peer via WebRTC pour établir des communications en peer-to-peer entre appareils.
- Mise en place et développement de tests par snapshots avec Jest.
- Participation aux code reviews et pair programming.
- Implémentation from scratch en CSS/SASS des designs fournis par l'équipe en charge des produits.
- Mise en place d'outils d'amélioration du code: linters de code et formatters (eslint/prettier).
- Qwant Maps: participation à la refonte de l'interface en React.js.
- Qwant Search: développement d'un microservice en Rust performant et léger pour categoriser des sites web. Développement en TTD (≃ 1mois).
- Participation aux sprint pokers.
GetQuanty
Développement fullstack avec Express et Angular.
- Maintenance et évolution de la plateforme web fullstack avec Node.js, Express.js, Angular, et MongoDB.
- Développement d'un moteur de recherche avec ElasticSearch.
- Architecture, développement, et migration de données vers Apache Cassandra.
- Documentation des APIs avec Swagger (OpenAPI).
- Participation à la migration de Angular 1 vers Angular 2+ en TypeScript, et refactorisations du code.
- Proposition et implémentations de schémas de données dans MongoDB, ElasticSearch et CassandraDB.
- Participation à la création de tests E2E pour stabiliser la plateforme.
- Amélioration des performances de la CI en parallélisant les tests.
- Mise en place d'outils d'amélioration du code: linters de code et formatters (eslint/prettier).
- Participation aux sprint pokers.
Open Wide (Rachetée par Smile)
Développement de PoCs avec un noyau Linux temps réel sur Android, sur plateforme embarquée ARM.
- Ajout du support d'interfaces industrielles(I2C, GPIO, etc...) et d'un kernel temps-réel (Xenomai) dans Android.
- Réalisation de benchmarks entre OpenPOWERLINK, avec, et sans RTnet.
- Extension des fonctionnalités d'Android (C/Java) en modifiant le SDK.
- Intégration de la bibliothèque glibc dans Android.
- Réalisation d'applications de tests temps-réel avec Android 6.0 sur Beaglebone black. Avec un noyau linux 4.1 + Xenomai 3.x.
- Acquisition d'expérience en C/Java/Android(AOSP), compilation de noyaux Linux en cross-compilation, modifications de modules et drivers.
- Rédaction d'un article paru dans le magazine Open Silicium présentant une partie des travaux.