Mots-Clés
Conception et développement logiciel
Simulation interactive
Interaction homme machine
Description
Le Cirad recrute un.e informaticien.ne au sein de l'unité mixte de recherche SENS (Savoirs, Environnement, Sociétés - 60 chercheurs et autant de doctorants). Pour promouvoir la gestion durable des ressources naturelles, l'UMR développe l'approche de modélisation d'accompagnement afin de faciliter la concertation entre acteurs et le dialogue entre disciplines. Pour mettre en œuvre cette approche, l'UMR a créé la plateforme de modélisation multi-agent CORMAS. Sa diffusion et les formations associées ont favorisé l'émergence d'un réseau international d'utilisateurs.
Initialement développée sous VisualWorks, Cormas tourne sous Pharo pour bénéficier des fonctionnalités de cet environnement libre et du dynamisme de sa communauté. Ce choix repose aussi sur la dimension didactique de Smalltalk qui offre une expérience de développement immersif : le " live programming".
Orientée vers la modélisation participative (co-construction de modèles et simulation interactive), CORMAS doit rester didactique, attrayante et facile d'accès pour des non-informaticiens en proposant des outils graphiques simples pour la conception de modèles : éditeurs UML pour générer du code, interfaces utilisateur, réutilisation de composants… CORMAS permet aussi d'interagir avec une simulation en manipulant des agents-avatars. Ainsi, un groupe de participants comprend mieux comment les actions des uns et des autres influent sur l'évolution globale du système simulé. Cette dimension collective constitue l'essence de CORMAS et guide son développement.
Des outils pour faciliter ces interactions doivent encore être imaginés et éprouvés dans des contextes variés. Cela demande des connaissances théoriques et opérationnelles en Interface Homme-Machine pour réutiliser des technologies et concevoir des systèmes ergonomiques efficaces.
Un comité de direction pluri-institutionnel (Cirad, CNRS, IRD, INRIA, INRAE) donne les grandes orientations sur l'évolution de CORMAS. Vous ferez partie de ce comité et consacrerez l'essentiel de votre temps au développement de CORMAS dans l'optique d'un développement libre.
Vous serez en charge de :
1) Développer CORMAS dans l'environnement Pharo, selon la stratégie définie par le comité de direction,
2) Assurer l'intégration continue pour garder un code fonctionnel au fil des changements via les outils GitHub, ce qui implique de suivre les modifications proposées par les autres développeurs et de les valider par des tests unitaires,
3) Effectuer des développements ad-hoc de CORMAS pour des besoins spécifiques à certains projets (en recherchant la généricité de ces outils).
Vous participerez également à :
4) La valorisation scientifique,
5) Développement et mise à jour du site web de la plateforme,
6) L'élaboration de didacticiels,
7) La co-animation de sessions de formation à la modélisation multi-agent co-organisées par l'UMR.
Profil souhaité
• Niveau souhaité : BAC +5 (Master ou Diplôme d'ingénieur) Spécialité : Informatique ou réalité virtuelle et jeux vidéo.
• Maîtrise de la modélisation objet (UML) et des design pattern,
• Maîtrise du langage de programmation Smalltalk et connaissance des avantages de la programmation live. Connaissance de l'environnement Pharo et Roassal appréciée,
• Connaissance des concepts de la simulation distribuée (architecture serveur-client, peer-to-peer, simulation sur cluster). Une expérience en développement d'applications mobiles serait un plus,
• Des compétences en IA, apprentissage automatique et vision par ordinateur sont appréciées pour le développement de futurs outils pour CORMAS,
• Considération pour les enjeux de « qualité de code »,
• Capacités rédactionnelles pour produire de la documentation technique à destination des utilisateurs,
• Curiosité et ouverture d'esprit pour se situer à l'interface entre production, développement et recherche interdisciplinaire,
• Maîtrise de l'anglais écrit et oral.