Missions principales :
1. Reprise et audit du logiciel existant :
* Analyse et compréhension du code source actuel (Node.js pour le serveur, JavaScript pour le front-end).
* Audit technique de l’architecture conteneurisée (Docker) et de la pipeline CI/CD sur GitLab.
* Gestion des dépendances et du versionnage des sources sous SVN et GitLab.
* Documentation et rationalisation du code pour assurer sa maintenabilité.
2. Évolution technique et fonctionnelle :
* Back-end :
* Optimisation des APIs REST/GraphQL pour des performances maximales.
* Amélioration de la gestion des flux de données et de la communication avec le front-end.
* Renforcement des mécanismes de sécurité (authentification, autorisations, gestion des données sensibles).
* Front-end :
* Amélioration et optimisation de l'éditeur graphique SVG (gestion avancée des transformations, gestion des couches, outils de dessin).
* Refactoring des composants UI pour améliorer la performance et l'expérience utilisateur.
* Intégration d’une gestion dynamique des états avec des outils comme Redux ou Vuex (si applicable).
* Conteneurisation et Infrastructure :
* Optimisation de l’utilisation des conteneurs Docker pour un déploiement efficace.
* Collaboration pour améliorer les pratiques de CI/CD (tests automatisés, déploiement continu).
3. Lancement et mise sur le marché :
* Finalisation du produit pour un environnement de production.
* Mise en place de tests de charge et de robustesse pour garantir la fiabilité du logiciel lors de son lancement.
* Intégration d’un système de monitoring (Prometheus, Grafana, ou équivalent) pour la gestion des performances en temps réel.
* Préparation et suivi des déploiements sur des environnements cloud ou on-premise.
4. Missions supplémentaires pertinentes :
* Migration ou synchronisation éventuelle des éléments SVN vers GitLab pour centraliser la gestion des sources.
* Mise en place de tests de non-régression pour garantir la stabilité du logiciel lors des évolutions futures.
* Formation des parties prenantes (développeurs internes, équipes produit) sur les évolutions techniques clés.
* Conception d’outils d’analyse ou de reporting liés à l’utilisation de l’éditeur SVG pour mieux comprendre les besoins des utilisateurs.
Stack technique :
* Back-end :
* Node.js, Express.js, NestJS (ou équivalent).
* APIs REST et GraphQL.
* Bases de données : MongoDB, PostgreSQL ou autre.
* Front-end :
* JavaScript, avec un focus sur les bibliothèques SVG (D3.js, Snap.svg, SVG.js).
* Frameworks front-end (React.js, Vue.js, ou équivalent).
* Gestion des états (Redux, MobX, ou équivalent).
* Outils et infrastructure :
* Gestion de version : GitLab, SVN.
* Conteneurisation : Docker (Kubernetes est un atout).
* CI/CD : GitLab CI/CD, intégration avec SVN si nécessaire.
* Monitoring : Prometheus, Grafana, ou Stack ELK.
Profil recherché :
Compétences techniques :
* Expérience confirmée en développement full stack avec Node.js et JavaScript.
* Maîtrise des éditeurs graphiques SVG et des bibliothèques associées.
* Connaissance approfondie de la conteneurisation et des architectures CI/CD.
* Bonne compréhension des systèmes de gestion de version (GitLab, SVN).
* Expertise en optimisation des performances front-end et back-end.
Atouts :
* Expérience avec des éditeurs graphiques ou logiciels créatifs.
* Connaissances en gestion de workflows complexes (simultanéité, gestion des états).
* Familiarité avec des environnements cloud (AWS, Azure, GCP).
Annuel based
Casablanca, Casablanca-Settat, Morocco
Casablanca, Casablanca-Settat, Morocco