Ingénieur développement logiciel - Interfaces graphiques et VS code
Type de contrat : CDD
Niveau de diplôme exigé : Bac + 4 ou équivalent
Fonction : Ingénieur scientifique contractuel
Contexte et atouts du poste
L’équipe de recherche CONVECS [L1] (INRIA, Univ. Grenoble Alpes, Grenoble INP, CNRS) étudie
la modélisation et la vérification formelle de systèmes distribués, en proposant des langages de
nouvelle génération pour décrire formellement le comportement et les propriétés de correction de ces
systèmes.
Ces langages et les outils d’analyse associés sont implémentés dans la boîte à outils CADP [L2] [L3],
qui fournit une palette complète de fonctionnalités assistant le processus de conception : compilation et
prototypage rapide, simulation interactive et guidée, vérification par équivalences et logiques
temporelles, génération de tests de conformité avec garanties de couverture, évaluation de
performances, etc.
Les outils CADP sont utilisés pour de nombreuses applications et leur développement a été salué par
plusieurs prix scientifiques, dont le prix de l’innovation de l’Académie des sciences (2021) et le
premier Test-of-Time Tool Award d’ETAPS (2023).
Le projet proposé consiste à améliorer CADP du point de vue des utilisateurs.
[L1] https://convecs.inria.fr
[L2] https://cadp.inria.fr
[L3] https://en.wikipedia.org/wiki/Construction_and_Analysis_of_Distributed_Processes
Mission confiée
Le projet proposé consiste à améliorer CADP du point de vue des utilisateurs. Il comporte trois parties
indépendantes.
1. Protocole de téléchargement
Actuellement, le logiciel CADP est distribué en utilisant le protocole FTP (File Transfer Protocol)
[1a], qui est ancien et de plus en plus souvent filtré par les navigateurs et les gestionnaires de réseau.
L’objectif est de proposer une solution de remplacement, basée sur le protocole HTTPS (Hypertext
Transfer Protocol Secure) [1b].
Cette solution sera implantée dans l’outil INSTALLATOR [1c] qui permet de télécharger et d’installer
automatiquement CADP sur une machine ou une grille de calcul. Il s’agira de modifier ponctuellement
le code de cet outil, écrit dans le langage de scripts Tcl/Tk [1d], afin de remplacer FTP par HTTPS.
2. Amélioration des interfaces graphiques de CADP
Les outils de base de CADP fonctionnent en ligne de commande, mais plusieurs interfaces graphiques
ont été développées pour permettre de les utiliser de manière plus conviviale : EUCALYPTUS [2a],
BCG_DRAW [2b], BCG_EDIT [2c], Distributed MONITOR [2d], INSTALLATOR [1c],
CONTRIBUTOR [2e] et OCIS [2f].
Afin d’être portables sur divers systèmes d’exploitation (Linux, macOS, Solaris, Windows), ces
interfaces ont été développées dans le langage de scripts Tcl/Tk [1d] et régulièrement maintenues au fil
du temps.
L’objectif est d’adapter ces interfaces pour permettre leur fonctionnement sur les écrans récents à haute
résolution. En effet, les fenêtres de ces interfaces ont souvent une taille fixe, qui ne permet pas
d’utiliser tous les pixels disponibles et qui conduit à des tailles de polices trop petites pour les yeux de
certains utilisateurs.
Le travail proposé consiste à faire évoluer ces interfaces par des modifications bien ciblées, afin
d’autoriser les fenêtres de taille variable et d’apporter la possibilité de zoom sur le contenu de ces
fenêtres.
3. Connexion à l’environnement VS Code
Visual Studio Code (VS Code en abrégé) [3] est un éditeur de code source très populaire. Développé
par Microsoft et disponible en code libre ouvert sous Windows, macOS et Linux, VS Code reconnaît la
plupart des langages de programmation existants.
L’objectif est d’intégrer dans VS Code les différents langages de CADP (LNT, MCL, SVL, etc.). Dans
un premier temps, le travail consistera à étudier VS Code et à comprendre ses interfaces qui permettent
de connecter de nouveaux langages.
Ensuite, il faudra réaliser des prototypes permettant de connecter un ou deux langages simples de
CADP et s’assurer que le résultat correspond aux attentes de utilisateurs.
Enfin, il faudra automatiser la production de connecteurs pour VS Code en étendant les outils SECT de
l’équipe CONVECS qui permettent déjà de connecter automatiquement les différents langages de
CADP à d’autres éditeurs : Emacs, Gnome GTK, Jedit, Nano, Notepad++, Sublime Text et Vim.
[1a] https://fr.wikipedia.org/wiki/File_Transfer_Protocol
[1b] https://fr.wikipedia.org/wiki/Hypertext_Transfer_Protocol_Secure
[1c] http://cadp.inria.fr/man/installator.html
[1d] http://www.tcl.tk/
[2a] http://cadp.inria.fr/man/xeuca.html
[2b] http://cadp.inria.fr/man/bcg_draw.html
[2c] http://cadp.inria.fr/man/bcg_edit.html
[2d] http://cadp.inria.fr/man/distributor.html
[2e] http://cadp.inria.fr/man/contributor.html
[2f] http://cadp.inria.fr/man/ocis.html
[3] https://fr.wikipedia.org/wiki/Visual_Studio_Code
Principales activités
Pour tous renseignements complémentaires sur la mission confiée, il est possible de contacter cadp@inria.fr
Compétences
Compétences techniques et niveau requis : formation en informatique BAC + 4 minimum
Langues : français ou anglais
Compétences additionnelles appréciées : en lien avec le travail proposé
Avantages
- Restauration subventionnée
- Transports publics remboursés partiellement
- Congés: 7 semaines de congés annuels + 10 jours de RTT (base temps plein) + possibilité d'autorisations d'absence exceptionnelle (ex : enfants malades, déménagement)
- Possibilité de télétravail (après 6 mois d'ancienneté) et aménagement du temps de travail
- Équipements professionnels à disposition (visioconférence, prêts de matériels informatiques, etc.)
- Prestations sociales, culturelles et sportives (Association de gestion des œuvres sociales d'Inria)
- Accès à la formation professionnelle
- Sécurité sociale
Informations générales
- Thème/Domaine :
Preuves et vérification
Ingénierie logicielle (BAP E) - Ville : Montbonnot
- Centre Inria : Centre Inria de l'Université Grenoble Alpes
- Date de prise de fonction souhaitée : 2024-08-01
- Durée de contrat : 5 mois
- Date limite pour postuler : 2024-07-31
Attention: Les candidatures doivent être déposées en ligne sur le site Inria. Le traitement des candidatures adressées par d'autres canaux n'est pas garanti.
Consignes pour postuler
Sécurité défense :
Ce poste est susceptible d’être affecté dans une zone à régime restrictif (ZRR), telle que définie dans le décret n°2011-1425 relatif à la protection du potentiel scientifique et technique de la nation (PPST). L’autorisation d’accès à une zone est délivrée par le chef d’établissement, après avis ministériel favorable, tel que défini dans l’arrêté du 03 juillet 2012, relatif à la PPST. Un avis ministériel défavorable pour un poste affecté dans une ZRR aurait pour conséquence l’annulation du recrutement.
Politique de recrutement :
Dans le cadre de sa politique diversité, tous les postes Inria sont accessibles aux personnes en situation de handicap.
Contacts
- Équipe Inria : CONVECS
-
Recruteur :
Garavel Hubert / hubert.garavel@inria.fr
L'essentiel pour réussir
- goût pour le développement logiciel de qualité
- savoir faire évoluer un logiciel existant par des changements bien ciblés
- savoir travailler en équipe
A propos d'Inria
Inria est l’institut national de recherche dédié aux sciences et technologies du numérique. Il emploie 2600 personnes. Ses 215 équipes-projets agiles, en général communes avec des partenaires académiques, impliquent plus de 3900 scientifiques pour relever les défis du numérique, souvent à l’interface d’autres disciplines. L’institut fait appel à de nombreux talents dans plus d’une quarantaine de métiers différents. 900 personnels d’appui à la recherche et à l’innovation contribuent à faire émerger et grandir des projets scientifiques ou entrepreneuriaux qui impactent le monde. Inria travaille avec de nombreuses entreprises et a accompagné la création de plus de 200 start-up. L'institut s'efforce ainsi de répondre aux enjeux de la transformation numérique de la science, de la société et de l'économie.