CREATION D’UNE API DE GESTION DE PROJETS DE DEVELOPPEMENT AVEC LA METHODE B
Création d’une API de gestion de projets de développement avec la méthode B
Objectif : Développer une bibliothèque qui regroupe l’ensembles des fonctionnalités actuelles pour consulter et manipuler un projet B, de telle sorte à ce qu’il soit possible de remplacer, dans l’interface graphique, la couche d’appel à l’interface en ligne de commandes par des appels directs à l’API offerte par cette bibliothèque.
Contexte :
La méthode B est utilisée pour développer formellement des composants logiciels et des modèles de systèmes critiques. Atelier B est un environnement de développement intégré (IDE) pour la méthode B qui est maintenu et développé par CLEARSY. Atelier B fournit à la fois une interface graphique et une interface en ligne de commande pour gérer le développement. Il n’existe actuellement pas d’API permettant d’accéder programmatiquement à l’état d’un projet pour le consulter ou le manipuler. En effet, l’interface graphique opère en créant des processus qui instancient l’interface en ligne de commandes et en communiquant avec ces processus.
Le stage est structuré comme suit
- Auto-formation B et Atelier B
- Identification des besoins à partir de : 2.1 les besoins actuels de l’interface graphique en terme d’accès à l’état d’un projet. 2.2 la partie de l’interface en ligne de commande que l’on souhaite pouvoir interpréter en utilisant la bibliothèque (certaines commandes sont aujourd’hui obsolètes)
- Rédiger une spécification détaillée de l’API à développer : cette spécification servira d’entrant pour le développement de la bibliothèque ainsi que pour le développement du banc de test.
- Définir un calendrier par étapes de la mise en oeuvre de la bibliothèque, de sa documentation, et de son banc de test (développement itératif).
- Réalisation des différentes étapes du calendrier
- Créer une nouvelle interface en lignes de commandes, compatible avec la précédente sur la partie identifiée en §2.1 et §2.2.
Contraintes technologiques :
- L’interface en ligne de commandes actuelle est en langage C. L’interface graphique est en C++. Le stagiaire devra savoir naviguer confortablement dans le code existant.
- La documentation devra être rédigée en anglais, la spécification pourra être rédigée en français ou en anglais. Les documents seront préparés en utilisant le format Markdown ou équivalent.
- La bibliothèque devra être accessible depuis l’interface graphique (C++), et avoir une efficacité comparable ou supérieure à celle de l’interface en ligne de commandes actuelle.
- La bibliothèque sera amenée à accéder au système de fichiers et à faire des appels à des outils externes (communication interprocessus).
- La bibliothèque devra être développée dans un langage pouvant être compilé et exécuté dans des environnements Windows, Linux, macOS, en ayant un minimum de dépendances externes.
- Le code sera hébergé sur le serveur gitlab de CLEARSY et une procédure d’intégration continue devra être mise en place.
- Le choix du langage dans lequel la bibliothèque sera développé sera guidé par les critères précédents.
Compétences recherchées :
- Solides connaissances de C/C++
- Gestion de configuration avec Git
Localisation : Aix-Lyon
Durée : 6 mois
Niveau : Bac +5
Pour postuler merci d’envoyer un Cv et une Lettre de motivation à l’adresse :