Je m'appelle Julien et je suis développeur fullstack JS
Développement de plateformes web et SaaS sur mesure ainsi que applications mobiles capacitor
Basé en France
8 années d'expériences




Me contacter
Mon aventure

4 ans chez Tempin
J’ai passé 4 ans chez Tempin en tant que développeur frontend (Vue.js avec Quasar).
L’aventure s’est terminée en juin 2025. J’ai eu la chance de travailler avec une superbe équipe qui me manquera beaucoup. Ce projet m’a permis de monter rapidement en compétences et d’en apprendre d'avantage sur les subtilités d’une start-up.
Ça a été un tournant majeur dans ma carrière de développeur, et je n’en retiens que du positif.
Des projets perso
En parallèle de mon expérience chez Tempin et encore aujourd’hui je me suis amusé à créer des side projects qui m’ont permis de développer mes compétences et de me lancer de nouveaux défis.
J’ai pu explorer différentes technologies afin d’en apprendre d'avantage. Certains de ces projets sont disponibles en libre accès sur mon GitHub.
Certains de ces projets sont disponibles en libre accès sur mon GitHub.

Habits Hero
Aujourd’hui je travaille principalement sur l’un de mes projets SaaS. Ayant du temps libre après la fin de mon aventure chez Tempin, je peux y consacrer 100 % de mon énergie.
Ce projet me tient à cœur, car il répond à une problématique personnelle. À l’origine il était destiné uniquement à mon usage mais j’ai réalisé qu’il pourrait également intéresser d’autres personnes. Alors je me suis dit: pourquoi ne pas en profiter pour tenter d’en faire une source de revenus ? Et d’en apprendre d'avantage sur la gestion d’un projet de A à Z en toute autonomie. Un énorme défi pour moi, mais globalement une expérience très agréable.
Alors je me suis dit: pourquoi ne pas en profiter pour tenter d’en faire une source de revenus ? Et d’en apprendre d'avantage sur la gestion d’un projet de A à Z en toute autonomie. Un énorme défi pour moi, mais globalement une expérience très agréable.
Mes projets
Accounting
Je suis auto-entrepreneur en micro-entreprise et j’ai besoin de tenir mes comptes. Je n’avais pas envie de faire ça sur papier, et les outils que j’ai trouvés dans ce domaine ne me convenaient pas, j’ai donc créé le mien.
Je peux facilement ajouter une transaction classée par type afin de mettre à jour mes comptes, et j’ai sur la page d’accueil des informations utiles sur mes dépenses, recettes, bénéfices et ma trésorerie.
Je peux aussi générer un rapport annuel avec un compte rendu, ainsi qu’un accès à des statistiques.
Observatio
Je dispose de caméras de surveillance chez moi. Il me fallait un outil permettant de centraliser les caméras ainsi que d’enregistrer leur flux découpé par jour.
J’ai trouvé divers outils comme Shinobi et MotionEye, mais je les ai trouvés parfois trop compliqués avec trop d’options et parfois instables.
J’ai donc créé mon propre outil de supervision. Je suis allé plus loin qu’une simple app qui lit les flux RTSP:
il y a un système de monitoring des performances, de lecture des logs, d’alertes, de rôles et de permissions. En effet l’administrateur peut ajouter des utilisateurs avec la possibilité de choisir les restrictions.
Le dépôt public est disponible 👉 ici
Basalt
Lui aussi est né d’une frustration liée à l’utilisation de Mautic.
Mautic est un très bon outil pour l’email marketing, mais certaines choses ne me convenaient pas. Pour n’en citer que quelques-unes :
- Des problèmes avec Docker: mon instance Mautic a cessé de fonctionner sans raison après un redéploiement. Les volumes étaient pourtant bon
- L’impossibilité d’avoir un transport d’emails différent pour chaque projet (SMTP, SendGrid, etc.). Mautic ne permet d’en configurer qu’un seul pour toute l’instance.
- Le système de gestion des projets, que je n’aime pas du tout. Un projet est simplement un élément qui relie vos différentes « entités », un peu comme une catégorie, plutôt qu’un véritable dossier parent regroupant tous ses composants et configurations propres.
En gros, avec Mautic: 1 instance = 1 projet.
Basalt règle tous ces problèmes.
Le dépôt public est disponible 👉 ici
Annotate
Un outil simple et ciblé pour entourer et désigner des éléments sur une capture d'écran ou une photo, directement dans le navigateur. Pas de tableau blanc infini ni d'exportations redimensionnées: vos tracés s'alignent parfaitement sur la résolution native de l'image.
L’idée est née d’une frustration que je rencontrais avec Excalidraw. Dans beaucoup de cas, je l’utilisais simplement pour tracer quelques formes et ajouter du texte par-dessus une capture d’écran, mais deux problèmes revenaient régulièrement:
- Le canvas infini me gênait pendant les annotations, notamment à cause des mouvements involontaires liés à la souris.
- Il était impossible de conserver exactement les dimensions de l’image d’origine lors de l’export, et je ne pouvais pas non plus obtenir ce résultat simplement avec une capture d’écran.
Annotate ressemble davantage à un éditeur d’images, avec des outils de dessin similaires à ceux d’Excalidraw. Il est pratique pour ajouter rapidement des éléments sur une image.
Remotus
Ce projet est né d’un besoin simple: pouvoir piloter une instance de Claude Code installée sur mon ordinateur à distance, depuis Internet. C’est particulièrement utile lorsque je suis en déplacement.
Il existe déjà Claude Remote Control, proposé gratuitement par Anthropic, qui remplit ce besoin de base. Mais j’ai souhaité aller plus loin en ajoutant un véritable système de gestion des tâches sous forme de Kanban, similaire à ce que l’on peut retrouver sur GitHub, afin d’avoir une vision plus claire et structurée du travail à effectuer.
En plus de cela, je peux programmer des tâches à l’avance, consulter les logs, suivre leur progression en temps réel, connecter plusieurs machines et profiter de différentes fonctionnalités supplémentaires.
J’ai également testé Multica, qui semblait au premier abord répondre à mon besoin. Mais dans les faits, ce n’était pas vraiment le cas.
Au moment où je l’ai testé, Multica ne permettait pas de travailler directement dans un dossier de projet déjà présent sur la machine, ni d’utiliser simplement les skills et plugins déjà installés localement avec Claude Code. Multica clone plutôt le dépôt Git et effectue le travail dans cette copie. Il nécessite également de configurer des skills et des agents locaux propres à Multica.
De mon côté, je voulais quelque chose de beaucoup plus simple: utiliser mon Claude Code, sur mes projets locaux, mais à distance tout en ayant une gestion des tâches.
C’est exactement ce que permet de faire Remotus.
Jarvis Marketing
Il s’agit d’une plateforme SaaS d’orchestration de campagnes marketing multicanales pilotées par l’IA.
L’objectif est simple: centraliser la planification, la production et le suivi de campagnes marketing sur plusieurs canaux depuis un seul espace.
L’utilisateur commence par créer un projet, puis lance une campagne. Un agent planificateur basé sur Claude Opus analyse les objectifs de la campagne et génère automatiquement un plan d’action composé de tâches réparties sur différents canaux : SEO, Twitter/X, TikTok, Pinterest, LinkedIn et Email.
Ces tâches sont ensuite organisées dans un Kanban, ce qui permet de suivre facilement leur état, de les modifier et de les approuver avant leur exécution.
Une fois validées, les tâches sont prises en charge automatiquement par un système de dispatch. Toutes les minutes, le job détecte les tâches prêtes à être exécutées et les transmet à des agents IA spécialisés selon le canal concerné.
Chaque agent possède son propre rôle: rédaction d’articles SEO, génération de tweets, création de scripts TikTok, génération de vidéos avec Remotion, création de contenus Pinterest, rédaction d’emails, etc.
L’ensemble du processus suit un cycle de vie clair:
La gestion des files d’attente, des retries et du backoff est assurée par Bull afin de rendre l’exécution des tâches plus robuste.
Enfin, un dashboard marketing centralise les performances réelles des campagnes, notamment grâce à la synchronisation avec GA4. Un agent conseiller basé sur Claude Sonnet analyse ensuite ces données pour identifier les tendances, faire ressortir les points d’amélioration et générer des recommandations marketing exploitables.
En résumé, la plateforme permet de passer d’un objectif marketing à un plan d’action multicanal, puis à la génération et au suivi des contenus, avec une grande partie du processus orchestrée automatiquement par des agents IA.
Petite remotion vue
Ce projet est une pâle copie de Remotion (ou du moins de son concept de base) mais en Vue.js. Il permet de monter des vidéos avec Vue.js.
Pour le moment, le format de vidéo testé et rendu est en 1080×1920 pixels, le format TikTok donc, car il m’a servi à monter des vidéos TikTok.
Ce projet m’a appris les subtilités du fonctionnement de Remotion. Le rendu se fait image par image: le nombre d’images est calculé par rapport à une donnée et au nombre de FPS souhaité, puis le tout est compilé ensemble par FFmpeg. Les images sont capturées avec Puppeteer — il fallait y penser !
Ça m’a aussi permis de découvrir Whisper, qui permet ici de faire une transcription d’un audio avec les timestamps de chaque mot pour les lier à l’affichage des sous-titres.
J'utilise une version pour node nodejs-whisper mais il en existe une autre whisper-node, ce sont simplement des wrapper par dessus whisper.cpp
Le dépôt public est disponible 👉 ici
Mir
(en hommage à la station spatial Mir)Pour une présentation vidéo de Habits Hero sur TikTok, il me fallait un moyen de présenter l’application avec un certain style.
Je voulais mettre l’accent sur un mockup de téléphone avec une vidéo de l’application incrustée à l’intérieur.
Les outils que j’ai trouvés étaient soit payants, soit trop limités.
J’ai donc décidé de créer mon propre outil.
Il fonctionne avec Three JS : une scène est rendue et vous avez la main sur la configuration de la caméra et des lumières.
Verto
Une application simple de conversion d’images aux formats WebP, PNG et JPEG.
La différence avec les autres services de conversion, c’est qu’ici, tout se fait uniquement côté client grâce aux web workers, qui travaillent en parallèle.
Pas de processus côté serveur, pas de paiement, pas de système de login
Vue call
Une copie de react-call mais pour vue js
Permet d’ouvrir des dialogues avec une promesse et d’éviter la duplication des composants de dialogue en n’en ayant qu’un seul, centralisé à la racine.
Le dépôt public est disponible 👉 ici
Blog
Mes derniers articles

Tests unitaire: comment les faires correctement et ce qu'il faut éviter
Les tests unitaires sont essentiels lors du développement logiciel, avoir une batterie de tests unitaires automatisé permet de s'assuer du bon fonctionnement de l'application et d'éviter les régressions. Cependant il existe de mauvaises pratiques qui nuisent clairement à leurs utilités, laissant passer des bugs et ralentissant le développement










