Chez XXII nous développons plusieurs produits à partir de nos solutions IA. Actuellement nos clients doivent toujours utiliser les interfaces web afin de configurer nos produits, ou de visualiser les résultats. On souhaite rendre possible l’interaction avec nos solutions depuis des produits tiers, sans passer par une interface graphique. L’objectif du stage consiste à développer ce type de service en se basant sur le principe d’architecture micro-service.
Le service développé durant le stage aura plusieurs objectif:
Permettre aux utilisateurs de demander/stopper des analyses de nos produits en interrogeant le service dédié pour démarrer les analyses avec les bon paramètres.
Etre capable de partager les résultats (alertes, comptages) des analyses en cours avec un tiers, suivant différent type de protocole.
Etre capable de dynamiquement définir le format de résultats remontés vers la solution tierce.
Etre capable d’interroger dynamiquement* les résultats d’analyses passées stockées dans une base de données, sur la base d’une demande spécifique de l’utilisateur.
• Mise en place d’un système de règles indépendant de la BDD
Définir les solutions de sécurisation pour ces nouvelles interfaces
Mise à jour de l’architecture des produits afin de pouvoir ajouter ce nouveau service
* Les requêtes vers la base de données seront configurable en se basant sur la demande de l’utilisateur.
Vous serez directement intégré au sein d’une équipe de développement. De nombreuses options pourront être ajoutées en fonction de votre avancement et de vos propositions. Vous pourrez aussi participer à d’autres fonctionnalités du produit afin de supporter l’équipe.
____
Etapes du stage et objectifs
Compréhension des produits XXII, et des solutions existantes
Recherche et étude sur les méthodes optimales d’échange d’informations avec un service pour recevoir des demandes des analyses et pour partager les résultats de ces analyses.
Recherche et étude sur les méthodes optimales pour permettre une configuration dynamique avec les API client
Etat de l’art sur les méthodes de stockage les plus efficaces, qui répond à notre besoin spécifique
Conception, avec l’aide des équipes software, de la solution à mettre en place
Développement du service en suivant la conception
Intégration dans notre produits pour demander les analyses, partager les résultats en en temps réel, puis en posterieur en interrogeant une base de données
Compétences développées pendant le stage
Conception et développement logiciel (Python)
Programmation orientée objet
Architecture microservices
Développement dans un contexte industriel (rigueur, tests, reviews de code, versioning, releases …)
Base de données (MongoDB, Redis, SQL ….)
CI/CD (Docker, Gitlab CI/CD, etc…)
Mise en production du composant développé pendant le stage
Méthodologie Agile
Technique : Python, REST API, MongoDB, docker, docker compose, CI/CD Gitlab, Kubernetes
Stage de fin d’étude de Master 2 ou d’école d’ingénieur, ou stage de césure
Autonomie et polyvalence
Curiosité et goût prononcé pour l’ingénierie logicielle
Bon niveau en POO en python
Avoir travaillé sur des projets micro services, et connaître les principes SOLID est un plus
Echange visio avec Elie (Software Engineer)
Rencontre au bureau en présence de Vincent (Lead S.E.) et Elie
Ces entreprises recrutent aussi au poste de “Développement de logiciels et de sites Web”.
Voir toutes les offres