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


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


Onitu - TA3

By Yannick Péroux

Onitu - TA3

Soutenance Technique 3 - Février 2014

  • 1,102