Vous êtes 38.103.63.56(Login)

overcrowded / Solipsis Cahier Des Charges

carte des liens de la page courante SolipsisCahierDesCharges SolipsisCahierDesChargesDiscussion ActiveX OpenAL SketchUp

Solipsis Cahier Des Charges

Eléments préparatoires disponibles ici élément cahier des charges L0T2.pdf et ici LOT0/Cahier des charges/

 http://overcrowded.anoptique.org/images/firefox_80x15.png attention la page s'affiche de manière incomplète avec Internet Explorer


Cahier des charges


Ce document décrire les besoins utilisateurs de la future plateforme Solipsis ainsi que les diverses contraintes qui s'y appliqueront. Sont précisés également certains choix techniques d'ores et déjà adoptés.

I. Fonctionnalités


Nous décrivons dans ce chapitre les fonctionnalités envisagées en se basant sur un travail de recensement systématique des souhaits présupposés des utilisateurs puis par priorisassions.

1. Tableau des activités, tâches élémentaires & solutions techniques

Ce tableau cherche à définir la plateforme Solipsis par la description des activités potentiellement souhaitées par les futurs utilisateurs du système mais, dans un premier temps, sans prendre en compte les contraintes techniques ni même leurs faisabilités (ex : prendre le pouvoir, faire de la musique, fantasmer…).

Ensuite pour chaque activité, est défini l'ensemble des tâches élémentaires que l'utilisateur serait susceptible de vouloir effectuer pour exercer cette activité (ex : programmer une unité autonome, projeter des supports de cours virtuels à une audience, donner / recevoir des ordres…). Puis pour chaque tâche, on détermine les solutions techniques à mettre en œuvre (ex : système de point de compétences, module avatar, moteur de recherche d'annonces …). Pour finir, on priorise chaque solution technique en prenant cette fois-ci en compte leurs faisabilités. On obtient alors une carte assez précise des fonctionnalités futures proposées à l'utilisateur ainsi que les mécanismes informatiques à déployer.



activitésOrdretâchessolutions techniquesPrioritéFaisabilitéBenchmarking
découvrir de nouveaux amis 4 parler à des inconnus chat textuel public 4 4 SL, AW, WoW, H
chat audio public 4 3 SL, AW
communication corporelle 2 2 SL, AW, WoW, H
passer / consulter des annonces tableau blanc 2 3 ?
moteur de recherche d'annonces 2 3 ?
chat textuel public (ex. recrutement de joueurs pour un guilde) 4 3 WoW, H
news (mode push) 2 3 ?
se profiler / consulter un profil moteur de recherche de profils 3 3 SL
news (mode push) 2 3 ?
s'inscrire dans un groupe moteur de recherche de groupes 3 3 SL, AW, WoW
se lier d'amitié avec un inconnu buddies list (liste d'amis) 4 3 SL, AW, WoW, H
chercher de l'information / diffuser de l'information (désinformer) 6 effectuer une requête par mot clé et consulter les résultats moteur de recherche de contenus donnant une adresse SLP 3 3 ?
moteur de recherche de lieux donnant une adresse SLP 3 3 ?
passer / consulter des annonces


SL, WoW
consulter / diffuser un flux d'information gestion des flux RSS 1 2 SL
se déplacer virtuellement à l'endroit où se trouve l'information comme téléporter

SL, AW
poser / répondre à une question FAQ, Forums 2 3 SL, AW, WoW, craigslist
faire du commerce (acheter et vendre, échanger) 23 fixer un prix à un contenu fichier propriété XML lié à tout contenu 1 3 -
option menu contextuel des contenus permettant d'y associer un prix 1 3 SL
passer / consulter des offres d'achats ou de ventes comme passer / consulter des annonces

SL, WoW, craigslist
donner un contenu à quelqu'un drag-and-drop d'un contenu nous appartenant vers un avatar 2 3 SL, WoW
stockage du contenu dans son inventaire (répertoire du disque dur local de l'utilisateur) 3 3 SL, WoW, H
acheter un contenu à quelqu'un option menu contextuel des contenus déclenchant l'achat 1 3 SL, WoW
stockage du contenu dans son inventaire (répertoire du disque dur local de l'utilisateur) 3 3 SL, WoW, H
portail de vente en ligne 1 1 SL, H
vendre un contenu à quelqu'un option menu contextuel des contenus permettant d'y associer un prix 1 2 SL, WoW
portail de vente en ligne 1 1 H
échanger des contenus avec quelqu'un comme donner des contenus à quelqu'un

SL
protocole d'échange de contenu 2 2 ?
juste se promener 2 se déplacer librement dans l'espace système de coordonnées monde 4 3 SL, AW, WoW, H
interface souris / clavier pour se mouvoir et s'orienter dans l'espace 4 3 SL, AW, WoW, H
tout déplacement est perçu par les nodes avoisinants 4 2 ?
contrôle de collisions avec le sol, éléments du décor et autres avatars 4 3 SL, AW, WoW, H
marcher comme se déplacer librement dans l'espace

SL, AW, WoW
animation "marche" par défaut (bras, jambes..) ou à redéfinir 3 3 SL, AW, WoW
bruits de pas 3 4 SL, H
pesanteur (suivi du sol) 3 3 SL, AW, WoW
voler comme se déplacer librement dans l'espace SL, AW, WoW
animation "vol" par défaut (super man like) ou à redéfinir 3 3 SL, AW, WoW
bruits de vent 2 3 SL, AW
balader son regard interface souris / clavier pour se mouvoir et s'orienter dans l'espace 4 4 SL, AW, WoW, H
Head-up display avec tracker 2 2 ?
se déplacer 1 se déplacer librement dans l'espace


SL, AW, WoW
marcher


SL, AW, WoW
voler


SL, AW, WoW
nager



emprunter un moyen de locomotion privé comportement "véhicule" générique associable aux objets 2 2 SL, AW, WoW
emprunter les transports en commun génération automatique de réseaux de transports 2 2 WoW
se téléporter se téléporter à proximité d'un node de l'overlay (cf Codecon) 4 3 SL, AW, WoW
fabriquer du contenu 8 modéliser à la main des objets en trois dimensions modeleur impératif intuitif 3 2 SL, AW, H
modéliser des objets en trois dimensions de manière assistée modeleur déclaratif 3 2 -
donner des comportements réalistes ou interactifs à des objets en trois dimensions moteur physique (challenge pour assurer la cohérence en distribué!) 3 2 SL, AW, H

comme saisir un code informatique (qui interagit avec le monde)

?

comme compiler un code informatique (qui interagit avec le monde)

?

comme déclencher l'exécution d'un code informatique (qui interagit avec le monde)

?
saisir du texte Editeur de texte / script "in-world" 4 4 SL, AW




.


apporter du contenu 5 importer des objets en trois dimensions import/export de modèles en trois dimensions 4 3 SL
importer des images chargeur de textures (module préexistant Ogre) 4 3 SL, AW
importer des extraits sonores module son 4 3 SL, AW, H
interface avec la communauté freesound (http://freesound.iua.upf.edu/) 2 3
importer de la musique module son 3 3 SL, AW, H
streaming audio avec nodes voisins 3 2 ?
importer du texte gestion format texte de base 4 3 SL, AW (mais je ne connais
gestion copier-coller 4 3 pas la solution technique)
importer des documents bureautiques OpenDocument to OpenGL (à ma connaissance, n'existe pas..) 2 1 ?
importer des vidéos streaming vidéo avec nodes voisins 2 1 H
VLC to OpenGL 2 2 H
importer des animations module d'import d'animations corporelles / de mesh (skeletal animation) 3 2 SL, AW
importer tout type de donnée File sharing 3 3 -
parallélépipède constituant une icône 3D par défaut (cf www.bumptop.com) 2 2 -
explorateur de fichier distant en 3D (cf Jurassic Park : fsn by sgi) 2 2 -
rendre visible son site Internet dans le monde Moteur mozilla dans une texture OpenGL (cf Gecko..) 2 2 SL
jouer 13 créer les éléments d'un jeu (contenu) comme fabriquer du contenu

SL, AW
définir ses propres règles et les faire respectées comme donner des comportements réalistes ou interactifs à des objets en trois dimensions

SL, AW
node contrôlant les comportements et actions de joueurs, fait respecter des contraintes à leurs nodes, compte les points... 1 1 -
interface user friendly haut-niveau d'aide à la création de jeux 1 2 -
donner des comportements réalistes ou interactifs à des objets en trois dimensions


SL, AW
organiser puis partager des parties avec ses amis ou des inconnus node "serveur" de parties 2 2 SL, H
plugin déclenchant le lancement d'une partie multi-joueurs d'un jeu vidéo tiers avec les avatars voisins 2 1 H
salir provoquer 37 modifier des contenus système de gestion des droits d'accès aux contenus (Modification, Copy, suppression…) 3 2 SL, AW
modeleur impératif intuitif 3 3 SL, AW
modeleur déclaratif 3 2 -
graffitis dessin main levé sur surfaces 3D (éditeur graphique basique) 2 2 -
diffuser des messages provocateurs / choquant chat textuel public 3 4 SL, AW, WoW, H
chat audio public 3 3 SL, AW, WoW, H
dessin main levé sur surfaces 3D (éditeur graphique basique) 2 2 -
comme passer / consulter des annonces

SL, WoW
détruire 39 modifier des contenus


SL, AW
supprimer des contenus option menu contextuel des contenus commandant la suppression du monde 3 3 SL
système de gestion des droits d'accès aux contenus (Modification, Copy, suppression…) 3 3 SL, AW
organiser les données 17 déplacer librement ses contenus système de coordonnées monde 3 3 SL, AW, H
chaque contenu dispose de coordonnées (donc potentiellement d'une SLP) 3 3 H
faire des regroupements, des dossiers toute forme 3D peut contenir tout type de contenu ("poupées russes") 3 3 SL
faire des tas, des piles Travaux de http://www.bumptop.com 1 1 -
archiver 22 rendre accessible tout type de contenu comme importer tout type de donnée

?
stocker à distance du contenu Nodes host dédiés au stockage 2 2 -
déplacer librement ses contenus


SL, AW
se cacher 33 obtenir un espace privé système de gestion décentralisé des droits d'accès aux zones géographiques 3 2 SL, AW
protocole d'attribution de zones géographiques aux utilisateurs 2 2 H
s'isolé dans un espace privé comme se déplacer

SL, AW
se rendre invisible au yeux des autres utilisateurs node ne transmettant pas de données avatar 2 4 -
se protéger 25 comme se cacher
SL, AW
sélectionner les personnes ou groupe pouvant accéder à son espace privé système de gestion décentralisé des droits d'accès aux zones géographiques 3 3 SL, AW
bannir une personne d'une zone qui nous appartient système de gestion décentralisé des droits d'accès aux zones géographiques 3 3 SL
utiliser un champ de force protecteur cube ou sphère transparente autour de l'avatar 1 3 SL, WoW
protéger 34 placer ses contenus dans son espace privé comme déplacer librement ses contenus

SL, AW
interdire la copie / modification des contenus qu'on souhaite protéger système de gestion des droits d'accès aux contenus (Modification, Copy, suppression…) 3 2 SL, AW
voler (dérober) 38 copier du contenu protégé hackers will find a solution ;) 0 2 SL, H
copier du contenu non-protégé option menu contextuel des contenus déclenchant la copie 3 2 SL
stockage du contenu dans son inventaire (répertoire du disque dur local de l'utilisateur) 4 3 SL
organiser des événements / y participer 14 passer / consulter des annonces


SL, WoW
acquérir un lieu donné comme obtenir un espace privé

SL, AW
concevoir les éléments d'un lieu donné comme fabriquer du contenu

SL, AW
donner rendez-vous dans un lieu donné moteur de recherche d'événements (SLP / date / heure) 2 3 SL, AW
se rendre dans un lieu donné comme se déplacer SL, AW, WoW
payer des personnes pour assurer l'animation système de rémunération pour tâche accomplie 1 2 SL
payer des personnes pour venir système de rémunération pour tâche accomplie 1 2 SL
faire partager ses gouts personnels 16 se profiler / consulter un profil


SL, AW
créer un emplacement attractif / lié à ses gouts comme acquérir un lieu donné

SL, AW
comme concevoir les éléments d'un lieu donné

SL, AW
se faire connaître 19 créer un emplacement attractif / lié à ses gouts


SL, AW
être reconnu pour ses compétences ou son comportement dans le monde système de points de compétence ou de comportement affectés par les utilisateurs entre-eux (Builder, Coder, …) 1 3 SL, WoW
système de points de compétences ou de comportement affectés automatiquement aux utilisateurs 1 3 -
diffuser une annonce comme passer / consulter des annonces

SL
s'inscrire dans un groupe


SL, AW, WoW, barcamp
se profiler comme se profiler / consulter un profil

SL
concevoir des panneaux publicitaires comme fabriquer du contenu

SL, AW
enseigner / apprendre 18 créer des supports de cours virtuels comme fabriquer du contenu

SL, AW
OpenDocument to OpenGL (à ma connaissance, n'existe pas..) 1 1 -
projeter des supports de cours virtuels à une audience objet tableau multimédia 2 2 SL
OpenDocument to OpenGL (à ma connaissance, n'existe pas..) 2 1 -
parler à des inconnus


SL, AW, WoW
écouter une personne parler chat textuel public 4 4 SL, AW, WoW, H
chat audio public 4 3 AW
se détendre 11 écouter de la musique module son 4 3 SL, AW, H
streaming audio avec nodes voisins 3 2 SL, H
observer de beau paysages moteur graphique au niveau des standards actuels 3 3 SL, AW, WoW, H
avoir recourt à une agence de tourisme virtuel moteur de recherche de lieux donnant une adresse SLP 2 3 SL
faire du tourisme virtuel comme se téléporter

SL, AW
se rendre dans un casino / espace de divertissement comme créer les éléments d'un jeu (contenu)

SL, AW
comme définir ses propres règles et les faire respectées

SL, AW
comme donner des comportements réalistes ou interactifs à des objets en trois dimensions

SL, AW




.



travailler seul 21 avoir accès à des documents distants File sharing 3 2 -
parallélépipède constituant une icône 3D par défaut (cf www.bumptop.com) 2 1 -
explorateur de fichier distant en 3D (cf Jurassic Park : fsn by sgi) 2 2 -
avoir accès à des ordinateurs distants VNC to OpenGL (préexistant, cf Vreng) 2 2 -
être ensemble 7 parler à ses amis Messagerie Instantanée (IM) 3 3 SL, AW, WoW, H
chat audio privé (communication audio "à la Skype") 3 3 SL, AW, WoW, H
communication corporelle 2 2 SL, AW, WoW, H
se retrouver dans un espace commun comme acquérir un lieu donné

SL, AW
comme donner rendez-vous dans un lieu donné

SL, AW, WoW
comme se rendre dans un lieu donné

SL, AW, WoW
s'inscrire dans un groupe


SL, AW, WoW
travailler ensemble (travail collaboratif) 20 comme travailler seul


?
comme fabriquer du contenu


SL, AW
comme que apporter du contenu


SL, AW
comme que être ensemble


SL, AW, WoW
expliquer ses idées dessin main levé sur surfaces 3D (éditeur graphique basique) 2 2 SL

comme parler à ses amis

SL, AW, WoW
animer un groupe forums dédiés à un groupe 2 3 SL, AW, WoW
canal de communication dédié à un groupe 2 3 WoW
comme parler à ses amis

SL, AW, WoW
organiser un travail à plusieurs suivi de tâches 1 2 -
planification de tâches 1 2 -
discuter, débattre 3 parler à des inconnus


SL, AW, WoW
se retrouver dans un espace commun


SL, AW, WoW
animer un groupe de discussion comme animer un groupe

SL, AW, WoW
programmer 24 saisir un code informatique (qui interagit avec le monde) langage de scriptage d'objet dédié 3 2 SL
Editeur de texte / script "in-world" 3 3 SL
compiler un code informatique (qui interagit avec le monde) compilateur et interpréteur dédié 2 1 SL
déclencher l'exécution d'un code informatique (qui interagit avec le monde) exécution de script contenu dans des objets 3 2 SL
paramétrer les propriétés de son monde 9 définir la gravité moteur physique (challenge pour assurer la cohérence en distribué!) 3 2 SL, H
définir les règles de communication système de paramétrage décentralisé des zones géographiques 3 2 SL
définir les modes de déplacement système de paramétrage décentralisé des zones géographiques 3 2 SL
définir le mode de décision collective et de gestion des règles système de paramétrage décentralisé des zones géographiques 3 2 SL
comme obtenir un espace privé


AW
déléguer (bot) 27 programmer une unité autonome API C++ pour l'automatisation de node 2 2 AW
donner des ordres ou une liste de tâches à une unité autonome API C++ pour l'automatisation de node 2 1 -
surcouche user-friendly 2 2 -
faire fonctionner une unité autonome pendant son absence node lancer en tâche de fond 2 2 SL
punir 36 bannir une personne d'une zone qui nous appartient système de gestion décentralisé des droits d'accès aux zones géographiques 3 2 SL
affecter un malus à quelqu'un comme être reconnu pour ses compétences ou son comportement dans le monde

SL
déclencher la déconnection momentanée d'un utilisateur (cf SnowCrash) message déconnection dans le protocole de communication 1 3 SL, AW
cybersexe 30 modifier l'apparence physique de son avatar en accord avec ses phantasmes module avatar 4 3 SL, AW
mouvoir son avatar à son gré module d'import d'animations corporelles / de mesh (skeletal animation) 3 2 SL
Lancement d'animations corporelles / de mesh (skeletal animation) 3 3 SL
Head-up display avec tracker 1 2 -
ressentir l'environnement virtuel interfaces sensorielles 1 2 -
Glove, retour de force .. 1 1 SL, AW
émettre des sons module son 4 3 SL, AW, H
fantasmer 12 modifier l'apparence physique de son avatar en accord avec ses phantasmes


SL, AW
mouvoir son avatar à son gré


SL, AW
se créer un environnement virtuel en accord avec ses phantasmes comme concevoir les éléments d'un lieu donné


ressentir l'environnement virtuel


SL
manifester 32 créer des panneaux / affiches / banderoles comme fabriquer du contenu

SL, AW
émettre des sons


SL, AW, WoW
parler à des inconnus


SL, AW, WoW
parler à ses amis


SL, AW
faire de la musique 31 émettre de la musique module son 4 3 SL, H
streaming audio avec nodes voisins 3 2 SL, AW
émettre des sons


SL, AW
concevoir des instruments de musique comme fabriquer du contenu

SL
acquérir des instruments de musique comme acheter un contenu à quelqu'un

SL, AW
mouvoir son avatar à son gré


SL, AW
danser (expression corporelle) 29 mouvoir son avatar à son gré


SL, AW
écouter de la musique module son 4 3 SL, H
streaming audio avec nodes voisins 2 2 SL, WoW
appartenir à une communauté 10 s'inscrire dans un groupe


SL, AW, WoW
échanger avec les membres de son groupe forums dédiés à un groupe 1 2 SL, AW, WoW
comme parler à ses amis

SL, WoW
comme échanger des contenus avec quelqu'un

SL, AW, WoW
organiser des activités entre membre de son groupe comme donner rendez-vous dans un lieu donné

SL, AW, WoW
comme se rendre dans un lieu donné

SL, AW
acquérir un lieu dédié au groupe comme acquérir un lieu donné

?
système de gestion décentralisé des droits d'accès aux zones géographiques 3 2 SL, AW




.



être guider, guider 26 se porter volontaire pour accueillir les nouveaux arrivants System de parrainage entre utilisateurs 1 2 SL, AW, WoW
poser / répondre à une question


SL, AW, WoW
commander (prendre le pouvoir) / contester, subir 35 donner / recevoir des ordres Messagerie Instantanée (IM) 3 3 WoW, H
chat audio privé (communication audio "à la Skype") 3 3 WoW
canal de communication dédié à un groupe 2 2 SL, AW, WoW
faire autorité sur un groupe droits d'accès aux zones géographiques et contenus rétrocédables aux chefs de groupes 2 3 SL
voter / ouvrir un scrutin solution vote électronique (NEED LINK!) 1 2 SL, AW
sortir 15 aller au "restaurant", prendre un "verre" (rdv au Black Sun) comme donner rendez-vous dans un lieu donné

SL, AW
comme se rendre dans un lieu donné

SL
aller au cinéma streaming vidéo avec nodes voisins 2 2 H
VLC to OpenGL 2 1 SL, AW, H
comme danser (expression corporelle)


SL, AW
se rendre dans un casino / espace de divertissement


SL, AW
simuler le quotidien 28 mouvoir son avatar à son gré


SL, AW
modifier l'apparence physique de son avatar pour le rendre à son image module avatar 4 3 SL, AW, H
se marier / divorcer gestion dans affiliation dans le profil 1 3 SL, AW, WoW
se lier d'amitié avec un inconnu buddies list (liste d'amis) 3 3 SL, AW, H
recréer son bureau, sa maison, son environnement comme fabriquer du contenu






.


Légende

Colonne Ordre (des activités) : classement de la 1ére à la 39éme

Colonne Priorité (des solutions techniques) :
  • 4 : à faire en priorité / déjà prévu dans le lotissement
  • 2-3 : à faire
  • 1 : superflu
  • 0 : à ne pas faire
  • -1 : à ne surtout pas faire

Colonne Faisabilité (des solutions techniques) :
  • 4 : facile
  • 2-3 : faisable
  • 1-0 : trop difficile
  • -1 : impossible

Colonne Benchmarking :
  • SL : Second Life
  • AW : Activeworlds
  • Wow : World of Warcraft
  • Home : Home de Sony

Remarques

Le terme contenu est employé ici pour désigner tous types de médias peuplant le monde virtuel. Il peut donc s'agir d'objets en trois dimensions, d'images (textures) ou de textes représentés à l'écran, d'extraits sonores ou de musiques jouées dans l'entourage proche de la source. Mais également à plus long termes, de vidéos, de pages web ou de codes informatiques pour rendre interactif les objets.

Les tâches et les solutions techniques peuvent bien évidement être réutilisées plusieurs fois pour décrire respectivement différentes activités et tâches. Les lignes bleues indiquent qu'une tâche déjà décrite est réutilisée. Les lignes grises permettent de rappeler un bloc entier de solutions techniques précédemment défini. On se rend compte assez rapidement qu'un certain nombre de solutions techniques récurrentes se dégagent et forment le cœur des besoins utilisateurs.

2. Diagramme des activités

On peut également concevoir ce tableau comme un graphe où les nœuds seraient les activités/tâches/solutions et les arcs leurs liens de causalité. Cette représentation a l'avantage de mettre en avant les solutions techniques récurrentes et sensibles puisqu'alors fortement connexes dans le graphe (effet "plat de nouilles") :


Ce dégage deux "conglomérats" de solutions techniques sur le graphe. Le première, en bas à droite, regroupe les briques technologiques relatives aux déplacements; le second en haut à droite celles relatives à la création de contenus. A titre d'illustration, ci-dessous le même graphe privé des branches non proposées dans Solipsis [Fig I.2.b] puis dans Second Life [Fig I.2.c]. A noter pour Second Life un conglomérat relatif à la création de contenus plus clairsemé.

diagram *
Fig I.2.b - Diagramme des activités - Solipsis (priorité >= 2)
http://bots.netofpeers.net/riam_solipsis/LOT0/Cahier%20des%20charges/Cahier%20des%20charges%20-%20diagram-solipsis.jpg (Zoom 100 %)




II. Contraintes générales


1. Public visé

Les mondes virtuels de ce type, c'est-à-dire sans scénario ni environnement prédéfini mais aux contenus autoproduits, ont l'ambition de s'adresser à tous utilisateur d'ordinateur et notamment un public non joueur à l'image du web. En revanche, la modélisation d'objets en trois dimensions -dont la vulgarisation est l'un des objectifs du projet- requière d'avantage de compétences. Nous visons trois profils d'infographistes :
  • le professionnel avec les modules d'import/export de multiples formats de modèles 3D (3ds, Collada…) qui pourra ainsi utiliser ses propres outils ou encore recycler ses anciens travaux,
  • l'amateur créatif avec le module de modélisation impérative intuitif (type Google SketchUp? et tel que dans Second Life),
  • Monsieur tout l'monde avec à court terme la plateforme internet d'échange de modèles librement diffusables (cf III.), puis, à plus long terme, le module de modélisation déclarative.

2. Architecture réseau

On souhaite que les environnements virtuels de Solipsis soient publics -qu'ils n'appartiennent à aucune organisation ni entreprise et puissent être autogérés par les utilisateurs- c'est pourquoi l'architecture se doit d'être décentralisée. On souhaite également que le nombre d'utilisateurs soit à priori sans limite (utilisateurs autosuffisants en ressources), tout comme doit l'être l'étendu de l'univers virtuel dans sa globalité (Coordonnées "monde" stockés sur 128 bits par axe soit environ 10ˆ115 positions distinctes -à savoir 10ˆ35 fois plus que d'atomes dans l'univers !).

On désir de plus que l'architecture réseau favorise les communications et l'échange de contenus entre deux utilisateurs :
  • proches géographiquement dans l'environnement virtuel (proximité géographique)
  • partageant les mêmes intérêts ou passions (proximité sémantique)
  • s'étant respectivement reconnu comme amis (proximité sociale)
Par le terme favoriser on entend tout mettre en œuvre pour que les temps de communications soient les plus courts et les débits d'échange d'informations les plus importants possibles. Enfin, le système devra pouvoir fonctionner derrière un NAT.

3. Contraintes d'implémentation

On souhaite disposer d'une plateforme ouverte, sous licence libre (GPL), favorisant l'innovation ascendante et permettant des travaux indépendants mais toujours compatibles sur les différents composants du système (communication XMLRPC ou équivalent entre les deux modules node et navigateur). Le langage de programmation employé doit être le plus universellement connu et rependu afin de favoriser la réutilisation des résultats du projet et de faciliter l'interaction avec des technologies tiers libres (Ogre, OpenAL?, …). Les programmes doivent être compatibles et compilable avec, au minimum, Windows et Linux.

L'ensemble des briques logiciels de la plateforme seront les suivantes :
  • node : unité de communication soutenant l'architecture réseau, assurant la persistance, la cohérence et le stockage des contenus et pouvant interagir avec eux sur commande,
  • navigateur : interface humaine avec le node et donc avec le monde. Décomposable en :
    • IHM : interface homme-machine (fenêtres, menus, I/O...),
    • Moteur : moteur d'affichage, d'interprétation des médias et des événements,
    • Services : un ensemble modulable de services incluant par exemple un module de chat et un module de création d'avatars.

Platform *

4. Entités et nodes robots

Une instance de node accompagnée d'un navigateur le pilotant constitue une entité de communication ou plus simplement une entité. Un utilisateur aura recours typiquement à une entité pour pénétrer dans le territoire public de Solipsis. Pourtant, puisque les deux éléments node et navigateur sont indépendants et communiquent en local ou via le réseau à travers un langage commun (type XMLRPC ou SOAP), il est envisageable d'employer un navigateur pour contrôler un node hébergé à distance : chez soi, au travail ou chez un hébergeur d'un nouveau genre offrant des nodes réactifs à forte capacité de stockage... Non réalisé dans le cadre de ce projet, pourrait être prévu un navigateur permettant de contrôler plusieurs nodes simultanément.

De plus, il doit être possible de se passer de navigateur en prévoyant une brique logiciel simple et programmable envoyant automatiquement des ordres au node. On obtient ainsi des entités robots pouvant effectuer des tâches automatiques et qui plus est, participant au maintient global du réseau pair-à-pair. Ces robots peuvent par exemple permettre de concevoir des "personnages non-joueurs" à la manière des MMOG, des microcosmes à la manière de Linden World, des compagnons, agent d'accueil voir vendeurs virtuels… Malgrés une architecture décentralisée, ces nodes robots peuvent aussi être des nœuds passifs sans matérialisation dans le monde virtuel mais offrant des ressources systèmes pour la persistance de contenus données; autrement dit, des serveurs.

III. Eléments à la disposition des utilisateurs


Interfaces homme-machine


Deux interfaces doivent être mises à la disposition des utilisateurs : l'une sous la forme d'un programme informatique indépendant à télécharger, l'autre directement accessible via une page web quelconque après installation d'un plugin. Pour la liste des fonctionnalités accessibles via ces interfaces, se référer au chapitre I.

1. Navigateur standalone

Platform *

2. Plugin Firefox / composant ActiveX?

Platform *

Outils en ligne


1. Site internet

Le site Internet devra comporter deux volets. Le premier, simple et attrayant, pour les utilisateurs non avertis ou découvrant le système. Il proposera le téléchargement des dernières versions stables, des captures d'écran, guides, news et forums. Peuvent être également ajouté un moteur de recherche d'adresses SLP, une galerie photos soumises par les utilisateurs…

Point d'entrée pour les néophytes, ce site aiguillera l'utilisateur curieux, plus expérimenté ou souhaitant apporter sa contribution au système, vers le volet développement open source et recherche du portail. Celui-ci comportera Wiki, forge logicielle, documentation techniques, études scientifiques et sociologiques, papiers et plus généralement l'ensemble des documents rendus publics produits par le projet.

2. Portail d'échange de modèles 3D

Répondant en partie à notre objectif de contribuer à la vulgarisation de l'infographie, est prévue la mise en place d'un service d'échange de modèles 3D (mesh + materials) autoproduits, librement diffusables (licence CC, LAL) et indexés par tag par les utilisateurs eux-mêmes, à l'image des sites tel flickr ou deviantart pour les photos, jamendo pour la musique ou dailymotion pour les vidéos. Cette idée ne date pas d'hier. Il existe en effet de nombreuses plateformes commerciales basées sur ce principe; la première à proposer des contenus libres de droits étant teapotters.

L'intérêt pour l'utilisateur ici est double. A l'aide d'un bouton "importer dans Solipsis" il peut bénéficier d'objets en trois dimensions de qualité qu'il aura préalablement visualisés directement dans son navigateur Internet (plugin Firefox / Active X). Il peut également utiliser le portail et le plugin pour faire partager ou exposer ses travaux infographiques sur sa page personnelle ou sur son blog.

Il n'y a pas de commentaire sur cette page. [Afficher commentaires/formulaire]