Soutenance Technique Finale de 4ème année
--
Juillet 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
- Les drivers - Maxime
- Escalator - Alexandre
-
Règles de synchronisation - Wannes
- API REST - Morgan
- Interface Web - Frank
- Le client - Antoine
- 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 LevelDB
L'avancement
- Le cœur du serveur fonctionne
- Les Drivers fonctionnels : Fichiers locaux, S3, Dropbox, Google Drive
- 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 acceptée
- Ré-écriture du driver Local-Storage pour Windows, Mac et Linux
- Adaptation des tests pour Windows
Les Drivers
- Finalisation du driver Google Drive
- Finalisation du driver Dropbox
- Création du driver S3
- Ajout de la gestion des suppressions
- Début des drivers spécialisés
Escalator
- Remplacement de Redis
- Escalator: un serveur autour de LevelDB
- Développement complet
- Tests fonctionnels
- Intégration dans Onitu
Les règles de synchronisation
- Ré-écriture complète en cours
- Nouvelle gestion plus intuitive
- De nouvelles possibilités
API REST
- Documentation publique
- Création du serveur avec Bottle
- Permet de manipuler les fichiers et les drivers
- Des fonctionnalités restent à faire
Interface web
-
Utilise l'API
- Liste les fichiers et les drivers
- Des fonctionnalités manquantes
Le client
-
Nouveau client
- Ré-utilisation d'une partie d'Onitu
- Couche de sécurité (Curve)
- Non fonctionnel pour le moment
Le futur proche
- Nouvelles règles de configuration
-
Amélioration de l'API
- Amélioration de l'Interface Web
- Implémentation du client
- Authentification OAuth pour l'API
- Deux nouveaux drivers : Evernote 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 - TA Final
By Yannick Péroux
Onitu - TA Final
Soutenance Technique 3 - Février 2014
- 1,132