Mobilizing-js

PNG - 9.9 ko

Environnement logiciel pour la création interactive sur écrans mobiles à destination des artistes et des designers

Mobilizing.js est le projet d’un environnement logiciel auteur à destination des artistes et des designers dont l’objectif est de favoriser la création d’œuvres interactives sur différentes formes d’appareil-écrans. La grande polyvalence que présente actuellement JavaScript, qui montre une tendance à s’affirmer, permet à Mobilizing.js d’étendre son champ d’intervention à des contextes logiciels variés, parmi lesquels on trouve le navigateur Internet, les serveurs Node.js ou encore des contextes spécifiques à certaines machines (périphériques mobiles - tablettes, smartphones - iOS, Android, Windows, etc). Les fondations de Mobilizing.js prennent donc la forme d’une librairie JavaScript qui définit une interface de programmation conçue pour la création artistique interactive dans des contextes matériels et logiciels qui sont dès à présent unifiés par le langage JavaScript.

Le noyau principal des fonctionnalités de Mobilizing.js est centré sur la création graphique en proposant un moteur 2D et 3D temps réel forgé au-dessus de webGL, standard héritant d’OpenGL et spécifiquement défini pour le web qui semble aujourd’hui s’installer de manière durable dans le paysage des technologies contemporaines de l’image calculée. Ce choix, en plus d’être un pari sur l’avenir d’un standard en définition, s’appuie sur la disponibilité maintenant établie sur l’ensemble des périphériques mobiles du marché de processeurs graphiques spécialisés (GPUs), qui ouvre de nouvelles possibilités de mise en œuvre de la 3D temps réel. Lorsque l’on souhaite exploiter ces GPUs avec les technologies du web, l’usage de webGL devient nécessaire, car il dispose maintenant de plus en plus souvent d’une implémentation « accélérée ». Mais il s’agit aussi de pouvoir imaginer plus aisément des implémentations du moteur graphique de Mobilizing.js sur des plateformes différentes de celles reposant sur le Document Object Model (DOM) des navigateurs Internet.

Car si, sous l’effet des spécifications du HTML5, le navigateur tend à permettre toujours plus l’accès aux couches inférieures, voire matérielles, de la machine hôte sur laquelle il est exécuté, de nombreuses impossibilités de mises en œuvre des spécificités des appareils (mobiles en particulier) constituent encore un frein à la création artistique avec les technologies du web : le temps nécessaire à l’implémentation effective des spécifications HTML5 par les grands éditeurs de logiciels pour permettre la mise en œuvre d’éléments techniques récemment intégrés dans un appareil (capteur, etc.) est démesurément long relativement à la nécessité d’expérimentation au regard des pratiques artistiques œuvrant avec l’interactivité. C’est pourquoi, à l’instar de projets comme Cordova, PhoneGap ou Ejecta, Mobilizing.js souhaite proposer la possibilité de mettre en œuvre ces spécificités matérielles en forgeant des ponts avec d’autres environnements (WebView dont le contexte JavaScript est étendu vers l’OS, via objective-C sur iOS ou Java sur Android). Ainsi, lorsqu’une interface de programmation n’existe pas déjà dans les standards du web, l’extension de contexte JavaScript vers des fonctionnalités natives est employée. C’est pourquoi Mobilizing.js comporte, en plus de ses composants graphiques, un certain nombre de fonctionnalités génériques relatives aux capteurs embarqués (capteurs de mouvements de nouvelle génération, micro, caméra vidéo, etc.) afin de proposer un environnement de création unifiée dans une interface cohérente et portable qui ne limite pas les possibilités de mise en œuvre à ce que le seul web permettrait ou non.

Du point de vue de l’utilisateur, Mobilizing.js est une librairie JavaScript, elle-même composée d’un certain nombre de grande classe de fonctionnalités. Open source, cette librairie est destinée à la création artistique sur les supports numériques et permet de créer des applications graphiques interactives sur des machines diverses parce qu’elle assure une compatibilité « multiplateforme », une adaptation automatique à l’appareil sur lequel l’application sera exécutée. Mais elle assure aussi une certaine interopérabilité, grâce à JavaScript, en offrant accès, par exemple, à la création des deux versants d’un système client-serveur ou à la création d’applications hybrides (mélangeant haut niveau et couche système) sur plusieurs appareils à l’aide d’une même interface de programmation. Ces deux caractéristiques et cet effort d’unification représentent un avantage majeur pour les auteurs d’œuvre logicielle, car l’environnement technologique sur lequel repose Mobilizing.js reste fortement composite malgré l’omniprésence de JavaScript.

L’utilisateur de Mobilizing.js utilise donc la librairie pour écrire ses scripts et ainsi créer ses travaux. Des gabarits et des exemples permettent d’appréhender l’architecture de la librairie et d’en faire l’expérience. Même si Mobilizing.js s’adresse pour une grande part au navigateur Internet, sa mise en œuvre passe exclusivement par la programmation en JavaScript et ne demande pas d’avoir recours directement à HTML ou CSS. Parce que cette pratique de la programmation est aussi une façon de se familiariser avec le langage JavaScript lui-même, Mobilizing.js s’inscrit avantageusement dans le paysage technique actuel.Étroitement lié aux mises en œuvre qu’il favorise, Mobilizing.js est pensé comme étant un environnement modulaire et évolutif, ses fonctionnalités pouvant augmenter et être redéfinies afin de répondre au mieux aux besoins des auteurs. Il est ainsi un outil de création s’adressant autant à des novices désireux de faire leur premier pas dans le design d’interaction et la création interactive, qu’à des spécialistes qui souhaiteraient éviter la création de composants logiciels spécifiques à des projets particuliers en forgeant. Mobilizing.js est un outil générique, extensible et flexible.

Réalisé avec Mobilizing.js

Surexposition
Œuvre interactive pour l’espace public,
en installation et pour smartphones, 2014

Voir la page de surexposition
Visiter le site surexposition.net


Un projet Orange / EnsadLab

Œuvre conçue et réalisée sous la direction de Samuel Bianchini (EnsadLab) en collaboration avec Dominique Cunin (EnsadLab), Catherine Ramus (Orange Labs / Sense) et Marc Brice (Orange Labs / Openserv), dans le cadre d’un partenariat de recherche avec Orange Labs

Responsables du partenariat "Orange / EnsadLab" : Armelle Pasco, directrice des partenariats culturels et institutionnels, Orange et Emmanuel Mahé, directeur de la Recherche de l’EnsAD

Chef de projet (Orange) : Abla Benmiloud-Faucher
Développements informatiques (EnsadLab) : Dominique Cunin, Oussama Mubarak, Jonathan Tanant et Sylvie Tissot
Fourniture des données du réseau mobile : Orange Fluxvision
Traitement des données du réseau mobile : Cezary Ziemlicki et Zbigniew Smoreda (Orange)
Développement du serveur de SMS : Orange Applications for Business
Design graphique : Alexandre Dechosal (EnsadLab)
Installation “in situ" (collaboration artistique et ingénierie) : Alexandre Saunier (EnsadLab)
Lumière et réalisation de la structure de l’installation : Sky Light
Coordination déploiement réseau wifi : Christophe Such (Orange)
Communication : Nadine Castellani, Karine Duckit, Claudia Mangel (Orange), Nathalie Foucher-Battais (EnsAD)
Médiation : Nadjah Djadli (Orange)
Image de prévisualisation : Christophe Pornay
Assistante de production : Élodie Tincq
Modération des messages : Élodie Tincq, Marion Flament, Charlotte Gautier

Production déléguée : Orange
Production exécutive : EnsadLab

Les recherches et développements pour cette œuvre sont menés en lien avec le projet de recherche Cosima (“Collaborative Situated Media”), soutenu par l’Agence nationale de la recherche (ANR) et participent au développement de Mobilizing.js, environnement de programmation pour les écrans mobiles, élaboré par l’EnsadLab, à destination des artistes et des designers