Table des matières

Classe tutorée IUT d'Aix-en-Provence

Propositions de sujets pour des étudiants en informatique de l'IUT d'Aix-en-Provence.

#1 : Malinette

Le projet Malinette est un kit matériel et logiciel sous licence libre pour le prototypage rapide et l'apprentissage des systèmes interactifs. Il est utilisé par des artistes, étudiants, élèves, formateurs. Le logiciel est un framework basé sur le logiciel de création multimédia Pure Data.

L'association Reso-nance numérique le développe depuis 2012 et nous aimerions proposer une solution logicielle stable, ergonomique et multiplateforme.

Pure Data (“vanilla”) : Langage de programmation graphique, sorti en 1998, écrit en C, client/serveur, temps-réel, très complet, plutôt orienté “son” au départ, mais aujourd'hui multimédia. La bibliothèque graphique est tcl/tk, multiplateforme mais vieillissante. Le but de Miller Puckette, le concepteur : conservation d'un patch pendant 50 ans (problématique des œuvres numériques et de leurs durées), gérer le temps-réel. Pure Data fonctionne sur Mac, Linux, Windows, Raspberry, UDOO, Android, …

Pure Data extended contient Pure Data et y ajoute des bibliothèques (audio, video, image, communications, string, …) dont certaines sont indispensables. C'est celui que l'on utilise, mais il est obsolète. Désormais il faudrait se baser sur la nouvelle version “vanilla” Pd.0.47.

Problèmes

Notre logiciel repose sur Pure Data, et son ergonomie pose problème :

État de l'art

Évidemment Max/MSP, la version payante et propriétaire de Pd, n'a pas tous ces inconvénients. Mais il en a d'autres. Il est basé sur le framework Juce, qui a l'air très puissant.

Certains projets tentent d'apporter des solutions à ces problèmes :

Quelques ressources pour aller plus loin :

Définition des objectifs

La Malinette doit être un projet libre, multiplateforme et multimédia. Les étudiants-développeurs doivent créer des liens avec la communauté et les différents projets historiques ou en cours pour que leur travail contribue à tous les utilisateurs de Pure Data. C'est fondamentale. La mailing list de Pure Data et les forums pdpatchrepo, codelab sont les outils appropriés pour cela.

La solution qui semble la plus réaliste est de concentrer les efforts sur la dernière version de Pure Data (0.47) qui apporte quelques nouveautés intéressantes et qui montre malgré tout que le logiciel évolue.

Chantier #1 : l'installation

En priorité, il faut simplifier l'installation. L'idéal serait de télécharger et d'installer Pure Data, la Malinette et toutes les bibliothèques nécessaires en un seul clic et ce pour les trois plateformes principales : Win, Mac, Linux (voire Raspberry).

La nouvelle version “vanilla” de Pd (pd.0.47) intègre dorénavant un outil appelé Deken qui permet de télécharger et d'installer les bibliothèques externes, notamment celles d'“Extended”. C'est une belle avancée ! Il faut aller dans le menu “Aide” > “Find Externals” et chercher le nom de la bibliothèque. Encore faut-il connaître son nom, les noms sont mal choisis et personne ne sait à quoi une bibliothèque correspond, car nous n'avons pas accès à la description de la bibliothèque et à son contenu.

Pour la Malinette c'est problématique, nous avons environ 20 bibliothèques à télécharger : creb, initbang, Gem, zexy, cyclone, moonlib, moocow, hcs, tof, comport, iemlib, iemnet or oscx or mrpeach, markex, motex, ggee, list-abs, mapping, pix_fiducialtrack, sigpack, pmpd, purepd. Et nous devons aussi ajouter les chemins vers les dossiers de la Malinette. Tout est expliqué sur la FAQ du site de la Malinette. Nous ne pouvons pas demander aux débutants d'exécuter plus de vingt manipulations avant de faire fonctionner la Malinette …

Le fichier qui permet de trouver les chemins vers les objets dépend de chaque plateforme, cette page vous l'explique. Voir aussi si besoin cette page : How to install externals, libraries, gui plug-ins, etc.

Plusieurs options pour améliorer cela :

En annexe, s'il y a moyen d'améliorer le rendu de la recherche de Deken, en visualisant le contenu de bibliothèques ou comme précédemment en choisissant plusieurs bibliothèques et en installant/ajoutant les chemins dans le fichiers de préférences.

Chantier #2 : l'interface

Le plus réaliste est d'utiliser le moteur graphique existant tcl/tk et de l'utiliser à son optimum pour améliorer l'interface de la Malinette. Aujourd'hui l'interface n'est pas pratique, trois fenêtres indépendantes s'ouvrent : celle de la console de Pure Data, le menu, et la fenêtre projets. Et leurs emplacements ne sont pas tout à fait les mêmes selon les plateformes …

Objectifs :

Plusieurs options :

Autres chantiers

#2 : Plateforme Fablab

Concevoir une plateforme Web avec des outils libres pour gérer une communauté autour d'un FabLab : les participants, les projets, la mise en relation des savoirs-faire, les ateliers, les ressources, les besoins, les partages, les temps d'occupation des machines, l'accueil et le suivi des projets et participants suivant différents profils et scénarios.

Les objectifs et l'architecture du projet sont décrits sur cette page : Plateforme LFO.

Premières recherches

Les fablabs français se sont réunis par deux fois en 2014 autour des problématiques de documentation, à Nantes et à Marseille : FablabDocumentation. Des premières productions ont vu le jour : fiche idée pour les projets, prospectus pour la documentation et des idées pour la gestion des contenus des sites des fablabs.

Les contraintes :

Ce qui semble le plus réaliste et utile :

Exemple de données utiles à mettre en relation :