Soutenance Technique 3
--
Avril 2014
Qu'est-ce qu'Onitu ?
- Serveur de synchronisation de fichiers
- Multiples services (Dropbox, Drive, Amazon S3, SSH, FTP…)
- Configurable grâce à des règles
- Interface Web & Client
Tour de table
- Architecture & Avancement - Mathis
- Multi-Plateforme - Louis
- Nouveaux drivers - Maxime
- Elevator - Alexandre
- Tests fonctionnels - Morgan
- Règles de synchronisation - Wannes
- API REST - Antoine
- Interface Web - Frank
- Fonctionnalités manquantes & Futur proche - Yannick
L'architecture
L'architecture est séparée en plusieurs éléments, chacun isolé dans un processus différent :
- Le Referee, qui répartit les fichiers en suivant les règles
-
Chaque Driver fait la liaison entre Onitu et un service tiers
-
La communication interne se fait via ZeroMQ
-
Toutes les données sont stockées dans Redis
L'avancement
- Le cœur du serveur fonctionne
-
Les Drivers :
- Fonctionnels : Fichiers locaux, SFTP, Dropbox, Google Drive
-
En cours : Amazon S3
- Le Referee gère toutes les règles simples (taille, chemin, mime-type)
- Début d'interface web
- Des tests fonctionnels avancés
MULTI-PLATEFORME
- Portage de Circus pour Windows
- Pull-Request pour l'intégration dans Circus
- Ré-écriture du driver Local-Storage pour Windows, Mac et Linux
- Adaptation des tests pour Windows
Les Drivers
- Abandon d'Ubuntu One
- Finalisation du driver Google Drive
- Finalisation du driver Dropbox
- Correction du driver SSH
Elevator
- Remplacement de Redis
- Utilisation d'Elevator, un serveur autour de LevelDB
- Intégration au sein d'Onitu dans une branche séparée
- De nombreuses modifications apportées à Elevator
- En cours d'intégration par le développeur principal
Les tests fonctionnels
- Amélioration globale des tests
- Possibilité d'écrire des tests spécifiques à un driver
- Facilitation de l'intégration d'un driver à la suite de tests
Les règles de synchronisation
- Ajout des règles sur la taille du fichier
- Ajout des règles sur le mime-type
- Correction de bugs
- Écriture des tests
API REST
- Documentation publique
- Création du serveur avec Bottle
- De nombreuses fonctionnalités manquantes
Interface web
- Proof-of-Concept
- Création de la vraie interface : Facet
- Utilise l'API
- Liste les fichiers
- Liste les drivers
FONCTIONNALITÉS manquantes
- Couche de sécurité
- Client
- Correction de bugs mineurs
Le futur proche
-
Intégration d'Elevator
- Amélioration de l'API
-
Amélioration de l'Interface Web
- Un client multi-plateforme simple
- Authentification OAuth pour l'API
- Deux nouveaux drivers : Amazon S3 et Flickr
Liens utiles
- Github : https://github.com/onitu/onitu
- Issues : https://github.com/onitu/onitu/issues
- Documentation : http://onitu.readthedocs.org/en/latest/
- Site vitrine : http://onitu.github.io
- Travis-CI : https://travis-ci.org/onitu/onitu
- Tests de performance : http://onitu.khady.info
- IRC : #onitu sur Freenode
Onitu - TA3
By Yannick Péroux
Onitu - TA3
Soutenance Technique 3 - Février 2014
- 1,161