Drivers - onitu/Epitech.EIP GitHub Wiki
Liste
Ci dessous, une liste de tous les drivers qui pourraient être pris en charge par Onitu, avec des détails sur leur protocole, des liens vers la doc, etc…
Les informations dont nous avons besoin sont :
- L'utilité du Driver
- Le(s) protocole(s)
- Range download : Est-ce qu'il est possible de télécharger seulement du byte X au byte Y d'un fichier.
- Range upload : Même chose, mais pour l'upload.
- Watching : Est-ce qu'il est possible d'être notifié, de quelque façon que ce soit, d'un changement dans les fichiers. Si la solution nécessite une mise en place particulière (exemple : récupérer le hash de tous les fichiers régulièrement), le préciser. Le but est détecter les changements en utilisant le moins de ressources possible.
Local storage
Driver indispensable.
- Intérêt: 5/5
- Faisabilité: 5/5
- Range download : Oui
- Range upload : Oui
- Watching : Oui
Services tiers de stockage généralistes
Dropbox
Dropbox est la solution de stockage en ligne de référence, et la plus utilisée.
- Intérêt: 5/5
- Faisabilité: 5/5
- API HTTP
- Range download : Oui
- Range upload : Peut-être (à confirmer)
- Watching : Oui
Amazon S3
Driver indispensable.
Google Drive
Google Drive n'est pas très utilisé, mais énormément de monde possède un compte (sans même le savoir)
- Intérêt: 5/5
- Faisabilité: 5/5
- API HTTP
- Range download : Oui
- Range upload : Peut-être (à confirmer)
- Watching : Oui
Apple iCloud
Driver utile, mais impossible pour le moment.
- Intérêt: 3/5
- Faisabilité: 1/5
- Pas d'API publique
- Range download : N/A
- Range upload : N/A
- Watching : N/A
Microsoft SkyDrive
Avec Windows 8, SkyDrive est utilisé par beaucoup de monde, mais pas forcément notre cible.
Box
Box est une alternative à Dropbox plus orientée professionnels et un peu plus chère.
Bitcasa
Bitcasa propose un stockage illimité peu cher, il pourrait donc être très intéressant. Le protocole semble fermé, pas de client Linux ni d'API pour le moment, donc difficilement exploitable.
- Intérêt: 4/5
- Faisabilité: 4/5
- API: ttps://developer.bitcasa.com/docs/api
- Range download : Oui
- Range upload : Oui (via a multipart form)
- Watching : Non
Spideroak
Spideroak est un concurrent de Dropbox mettant l'accent sur la sécurité des données («zero knowledge»).
- Intérêt: 3/5
- Faisabilité: 4/5
- API HTTP
- Range download : ?
- Range upload : ?
- Watching : ?
Mega
TODO
- API ?
- Range download : ?
- Range upload : ?
- Watching : ?
Amazon Glacier
TODO
- API ?
- Range download : ?
- Range upload : ?
- Watching : ?
HubiC
Cf : http://sebsauvage.net/links/?P4vW6g TODO
- Range download : ?
- Range upload : ?
- Watching : ?
Bittorent Sync
cf : http://www.bittorrent.com/intl/fr/sync/developers/api TODO
Services open-sources de stockage généralistes
UbuntuONE — voir le driver écrit par Pando
Le service de cloud d'Ubuntu. Permet de stocker musique, contacts et fichiers, mais pour le moment seule la partie fichiers nous intéresse. Le client officiel est open source, pas le serveur. Une contrainte est que pour le moment, seul le serveur de Canonical est utilisable pour tester (corollaire: les clients ne permettent pas de se connecter à autre chose).
- API
- Range download : Oui
- Range upload : Non (cf. log IRC : "beuno: so there's no resumable or multi-part uploads in U1 REST api)
- Watching : Non
OwnCloud
TODO
- API ?
- Range download : ?
- Range upload : ?
- Watching : ?
CozyCloud
TODO
- API ?
- Range download : ?
- Range upload : ?
- Watching : ?
SparkleShare
TODO
- API ?
- Range download : ?
- Range upload : ?
- Watching : ?
Services tiers de stockage spécifique
Flickr
TODO
- API ?
- Range download : ?
- Range upload : ?
- Watching : ?
GrooveShark
TODO
- API ?
- Range download : ?
- Range upload : ?
- Watching : ?
Google Music
TODO
- API ?
- Range download : ?
- Range upload : ?
- Watching : ?
Protocoles standards d'échanges de fichiers
SSH (SFTP, SCP)
TODO
- API ?
- Range download : ?
- Range upload : ?
- Watching : ?
BitTorrent
TODO
- API ?
- Range download : ?
- Range upload : ?
- Watching : ?
FTP
Utile, FTP est un standard très utilisé et simple à mettre en place. Le protocole est standard, mais peut quand même varier d'un serveur à l'autre.
- Intérêt: 5/5
- Faisabilité: 4/5
- Bibliothèque standard python : ftplib
- Range download : Oui, à condition que le serveur le supporte
- Range upload : Oui, à condition que le serveur le supporte
- Watching : Non. Possibilité de monitoring.
WebDAV
Protocole remplaçant plus ou moins FTP, simple à mettre en place. C'est un standard mais les serveurs semblent l'implémenter de façons assez différentes…
- Intérêt: 5/5
- Faisabilité: 4/5
- Extension d'HTTP
- Range download : Oui, à condition que le serveur le supporte
- Range upload : Oui, à condition que le serveur le supporte.
- Watching : Oui, à approfondir, est-ce que beaucoup de serveurs le supportent ?
Newsgroups
TODO
- API ?
- Range download : ?
- Range upload : ?
- Watching : ?
Freenet
TODO
- API ?
- Range download : ?
- Range upload : ?
- Watching : ?
Réflexions
- Comment faire en sorte que ces drivers soient configurables depuis la webui ? Un unique fichier de configuration ?
- Au niveau de la sécurité, tous les drivers seront lancés depuis le même user que le serveur ? Pas d'isolation ? Quid des risques ?
- Un process par drivers ?
- Comment déployer ces drivers ?
- Une sorte de dépôt pour les drivers ? Si oui, un template nécessaire.