Une approche du patching audio collaboratif

Patching

La notion de patching est relative aux activitรฉs rรฉalisรฉes et supportรฉes au sein des environnements de patching. Aprรจs avoir donnรฉ une dรฉfinition gรฉnรฉrale du patch, nous distinguerons les deux activitรฉs principales permises par ce type dโ€™environnement qui sont dโ€™une part lโ€™activitรฉ de conception et dโ€™autre part lโ€™activitรฉ de jeu.
Un patch peut รชtre dรฉfini comme un programme informatique, rรฉalisรฉ au sein dโ€™un environnement de programmation graphique spรฉcifique [Myers, 1990]. La programmation dโ€™un patch se fait grรขce ร  un assemblage de briques essentielles, appelรฉes aussi objets, reliรฉes entre elles par des liens, pour crรฉer des traitements musicaux, ou plus gรฉnรฉralement des processus interactifs qui peuvent รชtre exรฉcutรฉs et contrรดlรฉs en temps rรฉel au sein du mรชme environnement.
On parle dโ€™environnement pour dรฉsigner ce genre de logiciels dans la mesure oรน ils se comportent ร  la fois comme des รฉditeurs, des environnements de dรฉveloppement donc, et des environnements dโ€™exรฉcution pour les programmes crรฉรฉs ร  travers eux.
Il existe de nombreux logiciels permettant de faire du patching audio, mais les deux plus connus et utilisรฉs aujourdโ€™hui, et auxquels nous nous rรฉfรจrerons plus principalement dans le cadre de notre recherche, sont Max et Pure Data. Le logiciel Max est un logiciel propriรฉtaire commercialisรฉ par la sociรฉtรฉ Cyclingโ€™74 depuis 1997. Le logiciel Pure Data est un logiciel libre, dรฉveloppรฉ depuis 1996 par Miller Puckette et dโ€™autres contributeurs [Puckette, 1997].

Collaboration

Si lโ€™interaction se dรฉfinit comme un รฉchange entre plusieurs acteurs au sein dโ€™un systรจme, la collaboration peut se dรฉfinir de maniรจre gรฉnรฉrale comme une forme particuliรจre dโ€™interaction qui converge vers un but commun que partagent ses acteurs. Dans la littรฉrature liรฉe au travail coopรฉratif assistรฉ par ordinateur (TCAO)16 on retrouve souvent le terme groupware. Ce terme est un nรฉologisme inventรฉ par Peter et Trudy Johnson-Lenz en 1978 qui dรฉsigne et comprend pour eux ร  la fois lโ€™ensemble des processus et procรฉdures dโ€™un groupe de travail devant atteindre un objectif particulier, mais aussi les logiciels conรงus pour faciliter ce travail de groupe [Peter & Trudy Johnson-Lenz, 1990]. Cette dรฉfinition comporte donc des composants ร  la fois technologiques et humains. Cโ€™est un ensemble de mรฉthodes et de techniques de travail en รฉquipe, instrumentรฉes par des outils logiciels conรงus spรฉcifiquement pour les soutenir. Ce type de logiciels, qui permettent ร  des utilisateurs reliรฉs par un rรฉseau de travailler en collaboration sur un mรชme projet, sont dรฉsignรฉs en franรงais sous le nom de collecticiels, mais on utilise aussi les termes de logiciels de groupe ou encore logiciel multi-utilisateur par opposition aux logiciels traditionnels destinรฉs ร  nโ€™รชtre manipulรฉs que par un seul utilisateur ร  la fois (ou mono-utilisateur).
Plusieurs outils taxonomiques et conceptuels ont รฉtรฉ conรงus pour analyser les systรจmes supportant le travail collaboratif. Ces systรจmes peuvent diffรฉrer selon leur nature, le domaine dโ€™application auxquels ils rรฉpondent, les types dโ€™interaction quโ€™ils soutiennent ou encore le type de fonctionnalitรฉs quโ€™ils offrent aux utilisateurs.

Patching collaboratif

Un patch peut รชtre vu ร  la fois comme un document statique (qui peut รชtre sauvรฉ en tant que fichier sur le disque), mais aussi comme un document dynamique dans le sens oรน, chargรฉ au sein de lโ€™environnement dans lequel il a รฉtรฉ crรฉรฉ, il peut รชtre exรฉcutรฉ pour crรฉer et contrรดler des processus musicaux en temps rรฉel. Si on essaye de transposer les fonctionnalitรฉs offertes par un environnement mono-utilisateur de patching ร  une solution logicielle du mรชme type, mais qui permet dโ€™effectuer des opรฉrations similaires ร  plusieurs, quels sont les objets et les donnรฉes quelโ€™on cherche ร  partager ? Quels types dโ€™opรฉrations pourraient รชtre permises par ce systรจme et quels types dโ€™activitรฉs mises en commun est-on ร  mรชme dโ€™envisager quโ€™il puisse supporter ? Nous avons discernรฉ deux types dโ€™activitรฉs principales au sein de ces environnements, lโ€™activitรฉ de conception du patch et lโ€™activitรฉ de jeu. Dans le cadre dโ€™une รฉdition collaborative, les donnรฉes ร  partager correspondent aux informations relatives au modรจle du patch cโ€™est-ร -dire ร  sa structure. Les utilisateurs sโ€™intรฉressent dans ce cas ร  la co-construction dโ€™un mรชme instrument ou plus gรฉnรฉralement ร  la maniรจre dont est mis en ล“uvre un traitement au sein dโ€™un patch, on se place donc ici ร  un niveau algorithmique. Dans le cas dโ€™un jeu partagรฉ, les utilisateurs cherchent seulement ร  utiliser le mรชme instrument prรฉexistant ร  plusieurs, on voudra alors transmettre en temps rรฉel lโ€™รฉtat du programme aux autres participants et non-plus sa structure. Il existe aussi des cas intermรฉdiaires, comme dans les pratiques de live coding, oรน les utilisateurs se servent de lโ€™instrument dans le cadre dโ€™une performance tout en le crรฉant, en lโ€™รฉditant en mรชme temps quโ€™ils en jouent. Dans ce cas cโ€™est ร  la fois la structure du document et son รฉtat interne que lโ€™on cherchera ร  partager.

ร‰dition collaborative asynchrone

Nous employons tous des techniques et des solutions logicielles pour collaborer avec dโ€™autres personnes sur des projets musicaux (ou autres) dans notre pratique quotidienne. La condition prรฉalable ร  toute collaboration est le partage des donnรฉes. Dans le cas de lโ€™รฉdition collaborative asynchrone de patch, lโ€™รฉlรฉment partagรฉ entre les utilisateurs est le patch, en tant que document statique. Ce partage peut sโ€™effectuer simplement par copie, par courrier รฉlectronique ou encore via un transfert par clef USB. Les utilisateurs disposant des mรชmes donnรฉes stockรฉes au sein dโ€™un fichier peuvent alors apporter des modifications chacun de leur cรดtรฉ au document. Le problรจme bien connu liรฉ ร  ce procรฉdรฉ est que les modifications apportรฉes parallรจlement par les utilisateurs ne sont pas synchronisรฉes entre-elles et on assiste alors ร  une dรฉmultiplication des versions du mรชme document source, et ร  une perte de la notion de document rรฉfรฉrent auquel se fier. Dรจs lors, quelles solutions logicielles peuvent venir soutenir ces pratiques ? Une premiรจre solution consiste ร  centraliser lโ€™information en ligne, cโ€™est-ร -dire le patch, de faรงon ร  pouvoir dรฉterminer une version rรฉfรฉrente du document. Le premier cas de collaboration asynchrone que nous avons choisi dโ€™รฉtudier entre dans ce cadre. Cโ€™est une pratique au sein de laquelle des personnes usent dโ€™un forum de discussion comme support logiciel permettant le partage dโ€™un document commun pouvant รชtre รฉditรฉ par plusieurs personnes. Une autre solution consiste ร  maintenir des copies indรฉpendantes du document chez chacun des participants puis ร  les synchroniser entre-elles grรขce ร  des outils permettant la gestion de version. Nous รฉtudierons cette solution dans un second temps.

ร‰dition et jeu collaboratifs synchrones

Nous nous situons ici dans les configurations dรฉcrites par la premiรจre colonne de la matrice dโ€™Ellis, avec des types dโ€™interaction gรฉographiquement distribuรฉes ou colocalisรฉes mais se situant toutes au ยซmรชme momentยป. Pour Ellis et Gibbs, les systรจmes multi-utilisateurs en temps rรฉel se dรฉfinissent comme des systรจmes oรน ยซles actions dโ€™un utilisateur doivent รชtre rapidement propagรฉes aux autres utilisateursยป. Selon si on se situe dans une configuration dโ€™รฉdition ou de contrรดle du patch, les actions et donc les informations partagรฉes, ne seront pas les mรชmes. De la mรชme maniรจre, si les interactions sโ€™effectuent au mรชme endroit ou ร  des endroits diffรฉrents, la faรงon de mettre en place ce partage aura aussi son importance.
Les applications de patching traditionnelles sont conรงues ร  la base pour รชtre utilisรฉes dans un contexte mono-utilisateur ; des adaptations doivent donc รชtre faites pour permettre de les utiliser dans un contexte multi-utilisateur de maniรจre synchrone. Il sโ€™agira alors de faire ressortir ici les choix de conception de ces diffรฉrents outils, de comprendre quels types de pratiques ils permettent de soutenir et quelles sont leurs limites.
On distingue deux maniรจres de propager les actions aux autres participants et de partager de lโ€™information :
Le partage dโ€™application. Il permet dโ€™utiliser une seule et mรชme application ร  plusieurs en mรชme temps. Le traitement de lโ€™information est alors centralisรฉ sur lโ€™application qui sert de lien entre les clients qui communiquent avec elle. Dans ce type dโ€™architecture on distinguera aussi des choix de conception qui relรจve du partage et la rรฉplique de la vue.
Le partage de donnรฉes. Il permet ร  chaque participant de disposer de lโ€™application sur sa propre machine. Les donnรฉes doivent alors รชtre partagรฉes et synchronisรฉes entre chaque application client.

Le rapport de stage ou le pfe est un document dโ€™analyse, de synthรจse et dโ€™รฉvaluation de votre apprentissage, cโ€™est pour cela chatpfe.com propose le tรฉlรฉchargement des modรจles complet de projet de fin dโ€™รฉtude, rapport de stage, mรฉmoire, pfe, thรจse, pour connaรฎtre la mรฉthodologie ร  avoir et savoir comment construire les parties dโ€™un projet de fin dโ€™รฉtude.

Table des matiรจres

Introduction gรฉnรฉrale
Partie I โ€“ Prรฉsentation, รฉtude et formalisation des enjeux
1. Aperรงu gรฉnรฉral du sujet
1.1. Patching
1.1.1. Dรฉfinition
1.1.2. Activitรฉs de conception et de jeu
1.2. Collaboration
1.2.1. Types dโ€™interaction
1.2.2. Espaces de production, de coordination et de communication
1.3. Patching collaboratif
2. ร‰tudes des pratiques et solutions logicielles existantes
2.1. ร‰dition collaborative asynchrone
2.1.1. Cas dโ€™รฉtude du forum en ligne
2.1.1.1. Hippie patching
2.1.1.2. Gestion dโ€™une ressource commune
2.1.1.3. Documentation des actions
2.1.1.4. Gestion de la concurrence
2.1.1.5. Lโ€™apprentissage induit par la pratique
2.1.1.6. Bilan de lโ€™รฉtude sur le forum
2.1.2. Le contrรดle de version
2.1.2.1. Dรฉfinition
2.1.2.2. Limites du systรจme
2.1.3. Bilan de lโ€™รฉtude des solutions de collaboration asynchrone
2.2. ร‰dition et jeu collaboratifs synchrones
2.2.1. ร‰dition collaborative synchrone
2.2.1.1. Edition colocalisรฉe
2.2.1.2. ร‰dition distribuรฉe
2.2.2. Jeu collaboratif synchrone
2.2.2.1. Jeu colocalisรฉ
2.2.2.2. Jeu distribuรฉ
2.3. Bilan de lโ€™รฉtude des pratiques et solutions logicielles existantes
3. Formalisation des enjeuxย 
3.1. Caractรฉristiques des systรจmes synchrones
3.2. Rรฉplique des donnรฉes
3.3. Contrรดle dโ€™accรจs
3.4. Gestion des sessions
3.5. Gestion des conflits et contrรดle de la concurrence
3.6. Mรฉcanismes de conscience de groupe
3.7. Contexte spรฉcifique par utilisateur
3.8. Vers une nouvelle solution collaborative de patching
Partie II โ€“ Prรฉsentation et mise en ล“uvre de lโ€™application Kiwi
4. Conception de lโ€™espace de production
4.1. Choix gรฉnรฉraux du langage Patcher de Kiwi
4.1.1. Objets disponibles
4.1.2. ร‰lรฉments graphiques
4.1.3. Spรฉcificitรฉs fonctionnelles
4.2. Modรฉlisation et architecture logicielle
4.2.1. Modรฉlisation du patch
4.2.2. Architecture de lโ€™application client
4.2.3. Architecture client-serveur
4.3. Opรฉrations
4.3.1. Mode de jeu et mode dโ€™รฉdition du patch
4.3.2. Instanciation des objets dans un patch
4.3.3. Raccordement des objets
4.3.4. Contexte local de visualisation du patch
4.3.5. Contexte local dโ€™exรฉcution du patch
4.4. Autres composants de lโ€™espace de production local
4.4.1. Console
4.4.2. Beacon Dispatcher
4.4.3. Prรฉfรฉrences audio
5. Conception de lโ€™espace de coordinationย 
5.1. Coordination de lโ€™espace de travail partagรฉ
5.1.1. Conscience de connexion et de prรฉsence des utilisateurs au sein de lโ€™espace partagรฉ
5.1.2. Conscience de lโ€™activitรฉ dโ€™รฉdition du patch par le groupe
5.1.3. Relรขchement du principe de WYSIWIS sur le temps dโ€™affichage
5.1.4. Contexte local dโ€™annulation et de restauration des actions
5.1.5. Gestion des conflits et validation du modรจle de donnรฉes
5.1.6. Mise en place dโ€™animations
5.2. Gestion des sessions
5.2.1. Une premiรจre solution dรฉcentralisรฉe
5.2.2. Passage ร  une gestion de sessions centralisรฉe
5.2.2.1. Configuration des options liรฉes au rรฉseau
5.2.2.2. Enregistrement et authentification
5.2.2.3. Gestion des documents distants
5.2.3. Notifications et gestions des erreurs de connexion
6. Conception de lโ€™espace de communication
6.1. Prรฉsentation et mise en ล“uvre de lโ€™objet hub
6.2. Utilisations de lโ€™objet hub
6.2.1. Synchronisation de valeurs de jeu
6.2.2. Crรฉation dโ€™un mรฉcanisme de discussion instantanรฉe
6.2.3. Obtention du nombre dโ€™utilisateurs connectรฉs au sein du patch
Partie III โ€“ Retours dโ€™utilisation et perspectives
7. Premiรจres utilisations du logicielย 
7.1. Festival la DรฉMO
7.2. Cours pilote avec Kiwi ร  lโ€™Universitรฉ Paris 8
7.2.1. Contexte
7.2.2. Premiers tests
7.2.3. Reconfiguration des usages
7.2.4. De nouvelles interactions
7.2.5. Communication inter-utilisateur
7.2.6. Premiers retours
7.3. Reprรฉsentations musicales
7.3.1. Piรจce mixte avec contrรดle collaboratif du patch
7.3.2. Limites de lโ€™approche
7.3.2.1. Reprรฉsentation des actions de jeu
7.3.2.2. Latence du systรจme
7.4. Prรฉsentations et ateliers
7.5. Intรฉgration future de Kiwi dans un MOOC
8. Perspectivesย 
8.1. Intรฉgration du langage Faust
8.1.1. Enjeux et pistes de recherche
8.1.2. Prรฉsentation et mise en ล“uvre de lโ€™objet faust~
8.2. Conscience de groupe
8.2.1. Partage du pointeur de souris
8.2.2. Vue en radar
8.2.3. Conscience du changement
8.2.3.1. Quels changements ?
8.2.3.2. Capture et stockage des informations
8.2.3.3. Reprรฉsentation des changements
8.3. Gestion des sessions
8.3.1. Amรฉlioration de lโ€™interface de gestion de sessions
8.3.2. Vers un espace personnel et un contrรดle dโ€™accรจs aux documents
8.3.3. Gestion dโ€™un mode hors-connexion
8.4. Jeu collaboratif
8.4.1. Du partage de donnรฉes au partage de fonctionnalitรฉs
8.4.2. De nouvelles interfaces dรฉdiรฉes
8.4.3. Stockage de valeurs
Conclusion gรฉnรฉraleย 
Bibliographie

Rapport PFE, mรฉmoire et thรจse PDFTรฉlรฉcharger le rapport complet

Tรฉlรฉcharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiรฉe. Les champs obligatoires sont indiquรฉs avec *