samedi 25 janvier 2014

Présentation du projet Ome


Ome est un environnement informatique, autrement dit un bureau, disponible sur plusieurs plateformes, dont Windows, Linux, et d'autres. En fait il est disponible sur toute plateforme acceptant Firefox, puisqu'il est conçu sur la base de FirefoxOS, et utilise Gecko de Mozilla.

Ome a plusieurs fonctionnalités, dont les suivantes :
- Les Applications (et "Rooms") distribuées sous forme de fichier *.OAPP
- Les Rooms, qui sont des environnements mélangeant plusieurs applications
- Une capacité d'automatisation des tâches (macros)
- Un réseau social de type peer2peer
- Des Cellules d'information actualisées automatiquement

Les fichiers OAPP sont librement inspirés du format de fichier APK d'Android. Il y a un "market" où l'on peut facilement télécharger les Applications et les Rooms, les noter et les commenter. Installation et désinstallation se font d'un simple clic. Enfin, pour les Applications, on utilise "asm.js" comme language portable de bas-niveau. Le code est exécuté par Spidermonkey, quelque soit la plateforme.

Les "Rooms" sont des environnements uniques mélangeant plusieurs Applications. Par exemple, personnellement j'utilise souvent conjointement Gimp, Blender et AVI2GIF. Donc je vais créer une Room dédiée à mes activités de design graphique, une Room qui sera un peu comme mon petit studio personnel. Je peux organiser comme je veux l'emplacement des boutons, des widgets, des fenêtres, ...etc, et les fonctions basiques (comme ouvrir-un-projet, ouvrir-projet-récent, enregistrer, enregistrer-sous, annuler, refaire, ...) appartiennent désormais à la Room et non aux Applications.

La fonctionnalité d'automatisation donne à Ome les mêmes capacités que Sikuli et Selenium. Chaque Application peut posséder son propre curseur de souris et agir comme un utilisateur, cliquant ici et là, travaillant automatiquement à votre demande, pendant que vous faites autre chose. OpenCV est utilisé pour localiser visuellement les éléments qui doivent être manipulés.

Votre Ome fait partie d'un réseau social de type peer2peer (décentralisé). Vous pouvez vous connecter à vos amis ou aux membres de votre famille, chatter et envoyer des courriers, et surtout les inviter dans une de vos Rooms. Quand vous invitez des gens, vous partagez tous le même écran (ils voient votre écran sur leur ordinateur), chaque invité a son propre curseur de souris (avec un petit avatar en dessous), et tout le monde peut travailler ensemble, sur la même page de la Room.

Dans Ome, l'information est contenue dans des Cellules qui s'actualisent automatiquement, et elle est traitée en tant que flux. Cela fonctionne un peu comme les cellules d'Excel : pour chaque Cellule, une formule permet de calculer une valeur, basée sur les valeurs contenues dans d'autres Cellules. Ici dans Ome, les Cellules contiennent souvent des Collections de valeurs typées. Les principales fonctions sur ces Collections sont l'Union et l'Intersection de Collections d'autres Cellules. Ce qui est intéressant, c'est que ces "autres Cellules" ne sont pas nécessairement situées sur votre ordinateur, elles peuvent être situées sur l'ordinateur de votre frêre par exemple. (Les valeurs peuvent être de gros fichiers, comme des chansons en MP3, donc si votre frêre ajoute une chanson à sa collection, celle-ci sera automatiquement téléchargée dans votre collection)

De plus, Union et Intersection ne sont pas les seules choses que vous puissiez faire avec les Collections. Les valeurs contenues dans une Cellule peuvent être automatiquement traitées par une Application sur votre ordinateur, et le résultat sera inséré automatiquement dans une autre Cellule. Chaque fois que le contenu d'une Cellule source sera modifié, le contenu de la Cellule cible sera automatiquement modifié. Les Collections peuvent aussi être filtrées à l'aide d'Applications retournant un booléen, avant d'être insérées dans d'autres Collections. L'ensemble forme une gigantesque mécanique, composée de tous les ordinateurs connectés faisant tourner Ome.

Le développement de ce projet prendra du temps, puisque ce n'est qu'un hobby pour moi.
Cela dit, un petit coup de main n'est pas de refus :)

Aucun commentaire:

Enregistrer un commentaire