Développement d’une interface utilisateur pour une solution de déploiement automatisé d’applications cloud-native conteneurisées

Développement d’une interface utilisateur pour une solution de déploiement automatisé d’applications cloud-native conteneurisées

Profil Stagiaire développement frontend/backend
Prérequis
  • Connaissance des technologies Web (HTML, Javascript, CSS, ...)
  • Expérience avec le langage de programmation Python
  • Expérience avec le framework Django est un plus
  • Utilisation de Git
Disponibilité Année universitaire 2021 - 2022
Durée Minimum 6 semaines

Contexte

Dans le cadre de ses activités liées au déploiement automatisé de systèmes complexes, le CETIC développe Fadeployer, une solution low-code de déploiement des applications cloud-native conteneurisées pour le Big Data et le Machine Learning. Une plateforme low-code est un environnement de développement visuel dans lequel des développeurs peuvent ajouter des composants d’application à partir d’une interface graphique sur laquelle on utilise des blocs visuels qui ont été préprogrammés. En général, ce paradigme de low-code est utilisé dans un contexte de développement et il est rarement exploité dans un contexte opérationnel (pour configurer et déployer une application). +C’est l’intention des+ projets de recherche QuadRide (https://www.cetic.be/QuadRide-fr) et DeepQuality (https://www.cetic.be/DeepQuality-3851) dans lesquels le CETIC vise à packager un environnement BigData/IA complet permettant à un client de déployer un projet pilote dans un délai restreint (quelques semaines tout au plus) et à un coût contrôlé. Un tel projet est défini dans le cadre d’un cas d’affaire lié à un besoin métier bien déterminé (tel que l’analyse des données numériques, l’analyse des données médias, ...).

Afin de faciliter ces déploiements, une interface Web orientée wizard (frontend) doit être réalisée. Cette interface devra supporter deux profils d’utilisateurs. Le profil de développeur +permet de capturer les informations relatives à l’environnement cloud cible dans lequel s’effectuera+ le déploiement automatique d’une application donnée. Le profil de data scientist permet de configurer des sources de données, de mettre en place les modèles IA à exploiter et de définir +des mécanismes de traitement et+ de visualisation nécessaires, ... Cette interface est connectée à une interface REST pour assurer la communication avec le backend. Une preuve de concept de Fadeployer a été mise en place dans le cadre du projet QuadRide.

Travail à réaliser

L’objectif du stage consiste à faire évoluer cette preuve de concept en concevant de nouvelles fonctionnalités et en mettant en œuvre de nouveaux cas d’affaire, dans le respect de l’état de l’art et des normes actuelles du développement Web.

Le stage débutera par une familiarisation avec Fadeployer. Ensuite, le stagiaire analysera le cas d’affaire visé dans le stage. Cette analyse permettra de dégager les besoins fonctionnels et les écrans qui constituent la mise en place du cas d’affaire. Chaque écran sera ensuite conçu et développé comme un ensemble de boîtes de dialogue guidant l’utilisateur et proposant des choix de paramètres de configuration et déploiement à compléter. Ces paramètres seront accessibles via l’API REST de Fadeployer dont les spécificités du cas d’affaire seront en partie définies et/ou modifiées lors du stage. Cette interface web sera intégrée avec le back-end de l’application de déploiement qui est en cours de développement. Le stagiaire exploitera également les outils de gestion de projet tels que GitLab et forge logicielle (Redmine). Enfin, le stage se terminera par une documentation détaillée du prototype (rapport de stage) ainsi qu’une présentation et une démonstration aux chercheurs du CETIC.

Mot-clefs

  • frontend/backend
  • développement logiciel
  • Conteneurs logiciels
  • DevOps
  • low-code
  • déploiement
  • MLOps

Encadrement

L’entièreté du travail sera encadrée par des chercheurs du CETIC. Le stagiaire utilisera une plateforme de développement permettant le suivi constant de ses progrès. Il devra également faire preuve d’autonomie et d’esprit innovant.
En fonction du moment de la réalisation du stage, il est possible que le stage doive être réalisé, en totalité ou en partie, en télétravail. Dans ce cas, des réunions seront régulièrement réalisées à distance afin d’évaluer la progression du stage. Un outil de messagerie instantanée sera également utilisé afin d’assurer un contact régulier avec l’entreprise.

Contact