Projet: Création d’une API d’automatisation pour une application de bureau avec interface utilisateur
Description du projet:
Nous offrons une opportunité pour un/une stagiaire en ingénierie logicielle de travailler sur un projet visant à exposer les fonctionnalités d’une application de bureau avec interface utilisateur en tant qu’API d’automatisation.
L’application est utilisée pour gérer un système de communication sans fil personnalisé.
Le rôle impliquera également un refactoring clé pour assurer des dépendances minimales aux bibliothèques d’application inutiles (par exemple, éviter d’utiliser des bibliothèques de la couche UI) et une séparation claire de la couche UI du modèle métier.
Vous êtes fortement encouragé à créer des tests unitaires pour tout code qui en manque actuellement et à effectuer des tests approfondis de l’API avec des frameworks de tests unitaires pour valider que les scénarios couverts fonctionnent comme prévu.
Livrables:
-
Analyser l’application de bureau avec interface utilisateur existante pour identifier les fonctionnalités principales.
-
Exposer les fonctionnalités de l’application sous forme d’API d’automatisation pour permettre un accès programmatique.
-
Dans le processus de développement de cette API, refactoriser et modulariser la base de code existante pour assurer une séparation claire des préoccupations entre l’interface utilisateur (UI) et la logique métier (modèle).
-
Minimiser les dépendances inutiles dans le code pour créer une architecture plus rationalisée, maintenable et évolutive.
-
Collaborer avec les développeurs seniors pour s’assurer que les meilleures pratiques sont suivies, en particulier en ce qui concerne l’architecture logicielle et la conception d’API.
-
Rédiger une documentation complète pour l’API nouvellement exposée. Effectuer des tests et des débogages pour garantir que l’API fonctionne parfaitement dans tous les cas d’utilisation.
-
Master - (Master 1 ou Master 2) en logiciel ou équivalent
-
Connaissance des principes de la programmation orientée objet (OOP) et expérience dans un langage de programmation de haut niveau tel que C#, Java ou Python
-
Familiarité avec les modèles de conception de logiciels comme MVVM, ou similaire
-
Compétences solides en résolution de problèmes et un esprit analytique
-
Compréhension de base de l’architecture logicielle et de l’importance de maintenir une séparation entre l’interface utilisateur (UI) et la logique métier
-
Expérience en développement d’applications de bureau est un plus, mais pas obligatoire
-
Envie d’apprendre et de s’adapter
-
Bonne motivation, autonomie, esprit d’équipe et ingéniosité
-
Compétences en communication orale et écrite en anglais
En cliquant sur "JE DÉPOSE MON CV", vous acceptez nos CGU et déclarez avoir pris connaissance de la politique de protection des données du site jobijoba.com.