Vous connaissez peut-être l'espace de stockage en ligne (cloud)
1fichier.
Très pratique pour partager vos vidéos de vacance en famille ou avec des amis, ou pour stocker vos précieuses données en ligne.
1fichier a récemment exposé des
APIs pour faciliter les développements autour de leur service.
Aussi, j'ai adapté mon "driver" générique
astreamfs avec l'utilisation des APIs.
Pour rappel, le "montage" permet d'accéder à votre espace 1fichier en ligne comme s'il s'agissait de fichiers locaux. Vous pouvez naviguer dans votre arborescence distante avec Nautilus, Nemo, Dolphin, etc... ou en ligne de commande, et cliquer sur les fichiers distants pour les ouvrir avec le programme correspondant associé, au même titre que des fichiers locaux.
Le "driver" est adapté à des opérations de "stream" (la plupart des accès sont en stream), ainsi vous pourrez voir les vidéos de vacance HD (1080p) que vous ont partagées vos cousins avec une ligne ADSL standard à 20Mbps. Pensez dans ce cas là à mettre un "buffer" suffisant à VLC (ou votre lecteur vidéo) pour éviter les freezes dus aux "jitter" réseau, surtout si vous avez une connexion un peu "juste" (par rapport au débit du média).
Avantages :
Simplicité
- Plus besoin de combiner le script (1fichier) avec astreamfs pour monter votre "cloud"
- Le montage se fait, à l'extrême simplicité, avec la commande suivante :
1fichierfs /path_to/mountpoint/
Dans ce cas, le programme vous demandera votre clé d'API. Lancez avec -h pour voir les options.
Fonctionalités
- La lecture des répertoires distants se fait en tant que de besoin, votre montage est donc davantage à jour et pas de ralentissement au lancement avec le script.
- Par effet de l'API, vous pouvez accéder à vos fichiers protégés par mot de passe (bonne pratique pour des fichiers personnels "en clair").
Limitations
- A part l'écriture aléatoire (overwrite) qui n'est pas possible parce que le serveur ne supporte pas cela, il y a très peu de limitations !
Où on trouve ça :
Sur mon Gitlab, ici :
https://gitlab.com/BylonAkila/astreamfs
Vous avez l'option de compiler (une commande pour installer les dépendances, et une commande pour compiler) si vous voulez un driver plus à jour.
Sinon vous pouvez
prendre directement le .deb sur mon PPA (
https://launchpad.net/~alainb06/+archive/ubuntu/astreamfs) pour les 3 dernières LTS.
Installation simple
Donc à partir du ppa ci-dessus, l'installation se fait simplement avec 3 commandes. Ensuite les mise à jour vous seront proposées lorsqu'elles seront disponibles, comme pour tout logiciel.
sudo add-apt-repository ppa:alainb06/astreamfs
sudo apt update
sudo apt install 1fichierfs
Suppression :
sudo apt purge 1fichierfs
sudo add-apt-repository --remove ppa:alainb06/astreamfs
sudo apt update
Distributions
1fichierfs est disponible directement en .deb sur mon ppa pour
Ubuntu 16.04,
Ubuntu 18.04 et
Ubuntu 20.04
Depuis la version 1.5.1, le package est également disponible pour
Raspberry Pi - Buster (32 bits).
Le lien pour le Raspberry Pi est dans les annonces de chaque nouvelle version.
Si votre Raspberry Pi n'est pas dans cette version, vous pouvez compiler depuis le source.
[Non Libre] Besoin d'aide !
Pour les autres O.S., vous pouvez toujours passer via une machine virtuelle Linux. Par exemple via VirtualBox installez Ubuntu (20.04), mettez-y 1fichierfs, et repartagez cela via samba. Pour plus de simplicité mettez le réseau en "bridge" et n'oubliez pas allow_other dans la configuration globale de fuse (/etc/fuse.conf) et dans les paramètres de lancement pour que le "re-partage" soit possible.
Mac
Si quelqu'un a un Mac, et se sent suffisamment à l'aise pour y lancer quelques commandes, le programme est sans doute adaptable sans trop de difficulté sur Mac puisque l'équivalent de "fuse" y existe. L'autre librairie utilisée : curl, est suffisamment universelle pour ne pas poser non plus de problème sur Mac.
Edit il semblerait cependant que l'équivalent de fuse sur Mac ne soit plus OpenSource désormais. En effet, les montages fuse (bien que considérés comme "gadget" par le Gourou Linus) sont tellement populaires (par ex. sshfs) qu'ils sont très demandés et généraient une source de travail pour le mainteneur incompatible avec un modèle "gratuit".
Windows
WSL n'est malheureusement pas compatible fuse, source :
https://superuser.com/questions/1353169/getting-sshfs-working-on-wsl-or-finding-an-alternative.
C'est sans doute possible le faire via WSL2, à vous de tester car il est impossible d'avoir une VM W$10 avec WSL2, Hyper-V est bancal et mouvant et ne supporte pas bien cela, donc pas trop possible de faire le test de mon côté (et je n'ai pas un disque à "sacrifier" pour W$ !..)
Si vous vous lancez dans un portage d'un côté ou de l'autre, n'hésitez pas à entrer en contact ici ou sur le gitlab.
Aide au debug
Si vous rencontrez des bug, essayez de relancer avec l'option -l7 (debug maximal) et mettez la sortie sur un fichier avec par exemple: --log-file=/tmp/debug.txt
Ca permet de voir où ça se passe !
------------------------------------------------------------------------------------
IMPORTANT
Deux modèles de service pour l'hébergement de fichiers en ligne.
Aujourd'hui
(Juin 2019), vous avez deux modèles qui existent.
- Le modèle "file-locker" basé, comme les "réseaux sociaux", sur un partage des fichiers entre "amis".
- Le modèle "sauvegarde" basé sur la sauvegarde et centralisation de vos propres fichiers.
Dans les représentants du premier, on trouve 1fichier, Uptobox ou à l'international des noms comme Uploaded.
Dans les deuxièmes, on trouve le prometteur Suisse pCloud, et à l'international des grands noms comme Google Drive ou Dropbox.
Les modèles des deux types de services sont différents. Le premier, de part le partage assez généralisé, consomme très peu d'espace disque avec un taux de "dé-duplication" énorme (fichiers identiques détenus par plusieurs centaines/milliers d'utilisateurs), par contre consomme une bande passante plus importante, lorsque chaque membre de votre famille va visionner les vacances de tata Simone que vous avez partagées.
Le modèle sauvegarde est exactement l'inverse. Puisque ce sont vos propres fichiers que vous stockez, le taux de "dé-duplication" est potentiellement très faible, voire aucune dé-duplication quand vos fichiers sont vraiment personnels et uniques. La consommation en espace disque est donc bien plus grande, mais comme vous ne passez sans doute pas votre temps à récupérer vos sauvegardes pour vérifier qu'elles sont bien correctes, la bande passante est largement plus faible.
Cependant, à ce jour (juin 2019) ce qui est le plus cher est bien l'espace de stockage sur disque, d'où les différences de prix importantes entre les deux modèles.
Notez également que les deux modèles ne sont pas "étanches" et parfois se rejoignent. En effet, pour partager ses fichiers vidéo de vacance avec ses "amis", il faut bien commencer par les "stocker". Dans l'autre sens, tous les hébergeurs de "sauvegardes" vous proposent de pouvoir les partager en envoyant des liens à vos amis. Cela ne leur coûte pas grand chose car ils marchent alors sur le terrain des premiers.
Une des grosses différences entre les deux types de services est également l'offre logicielle. Les "file-locker" ont tous une offre rudimentaire : un site web, et pour certains des APIs (pour les courageux développeurs !). Les utilisateurs apprennent de toute façon assez vite comment voir les exploits de tata Simone pendant ses vacances, il n'y a guère besoin de plus que de savoir créer des liens sur un contenu sauvegardé (celui qui partage) et cliquer sur le lien (celui qui utilise).
A l'opposé, vendre de la "sauvegarde" n'est pas une mince affaire, surtout quand on s'adresse à des particuliers. Donc ces services là ont en général une offre déjà bien plus riche : intégration avec les O.S. de PC, de mobiles, synchro, etc...
Evolution récente de l'offre 1fichier.
Il faut bien dire que les "file-lockers" ont une réputation quelque peu sulfureuse par l'usage que certains en font. Mais ne confondons pas l'outil et son usage.
Aussi, pour se donner une meilleure image, être plus "légitime", des services comme 1fichier tentent de se "diversifier" en proposant du "Cold" (dans le vocabulaire 1fichier, tout fichier qui n'a pas été partagé dans les 60 jours), autrement dit de la "sauvegarde".
Comme on part pour l'instant des prix du premier modèle, il n'y a guère photo.
Comparez, au tarif "catalogue" (hors promotion), le prix de 2To, pour un an
(Mai 2020), est
Plus du simple au presque quintuple... il n'y a pas photo.
Mais deux bémols à cela, voyons si l'offre chez 1fichier trouvera "son marché". Et aussi si beaucoup de gens l'utilisent réellement pour "sauvegarder", c'est à dire leur véritables fichiers personnels uniques, la structure de prix que paye 1fichier pour servir son offre risque de changer puisque le taux de "dé-duplication" va dégringoler, et les prix pratiqués pourraient s'en ressentir et se rapprocher des solutions de "sauvegarde".
D'autres éditeurs comme Uptobox ont explicitement choisi de
ne pas tenter ce modèle "sauvegarde" à côté de leur offre de "partage". En effet, les conditions générale de vente de Uptobox expliquent clairement que le service n'est pas fait pour stocker du "Cold", et que tout contenu qui ne serait pas partagé pourrait être effacé, voire le compte supprimé. Au moins c'est clair pour le modèle !..
Là où le bât blesse.
Mais il faut bien dire, pourquoi ne pas profiter de l'aubaine puisque pour l'instant 1fichier offre des prix totalement imbattable pour vos sauvegardes. Avec les "promotions permanentes", on est bien à 6 fois moins cher que l'offre pCloud, même si on regarde leur offre "à vie" de 350€ pour 2To (là c'est un pari sur la durée de vie de la société !).
Seulement, là où le bât blesse, c'est que vous avez sans doute 10 000 ou 20 000 fichiers de taille variable, votre vie numérique, à sauvegarder. Et vous ne vous voyez sans doute pas utiliser l'interface web rudimentaire pour faire ces sauvegardes, et aussi calculer vous-mêmes ce qui a été changé depuis la dernière sauvegarde.
Autrement dit, ce qu'il manque pour que ce soit vraiment une offre de "sauvegarde", c'est toute l'offre logicielle qui existe chez les autres.
Par exemple, pour ne pas faire de publicité aux multinationales américaines qui en plus ne font guère d'effort pour Linux, notons que pCloud offre un client natif Linux... même deux ! Un client "graphique" et un client en ligne de commande.
pCloud a repris les bonnes idées du Wuala (également Suisse) qui a fermé, et proposait déjà un client natif Linux (fuse). C'est le minimum à proposer pour de la sauvegarde, pour que l'utilisateur puisse ensuite se servir des outils dont il a l'habitude, par exemple l'excellent
rsync pour nous les
penguinistas. Cerise sur le gâteau, tout est open source (partie "client"), et publié en ligne (GitHub... personne n'est parfait !). Merci pour la transparence pCloud, modèle à suivre.
Mais là où pCloud a la "force de frappe" pour offrir sur Linux 2 clients natifs, un client Mac et W$, et des apps Android et iPhone, en plus d'outils de synchro... 1fichier ne semble pas avoir la même "force de frappe" pour le logiciel.
Aussi, ils ont ouvert des APIs.
Souvent les sociétés espèrent ainsi attirer quelques développeurs passionnés, et disposer alors de logiciels "gratuits", ou disons "communautaires".
Avouez que ça a fonctionné ici.
Vous avez maintenant un driver qui vous permet, sur Linux, d'utiliser les "partages" 1fichier comme s'il s'agissait d'une simple clé USB branchée directement sur votre PC et ainsi de profiter des logiciels que vous aimez : Kodi, Plex, VLC, ou faire un "
cp" en ligne de commande, sans vous soucier du fait que le fichier ne soit pas vraiment local.
La limitation : de l'accès distant.
Bien que l'API ait certaines limites, la documentation de 1fichier dit (source :
https://1fichier.com/hlp.html#features)
Téléchargement (offres payantes) a écritUne fois identifié, un membre payant peut télécharger un nombre illimité de fichiers sans limitations.
... et le driver 1fichier vous procurera exactement ce qui est écrit dans cette documentation !
Cependant, il s'agit d'un accès direct en ligne de vos données, et non d'une synchronisation comme peuvent proposer d'autres fournisseurs.
Et donc en réalité il y a bien
une limitation : la performance. L'accès direct en ligne a un inconvénient majeur, qui
n'est pas propre à 1fichier mais est identique pour tout stockage distant :
la latence.
La latence est le temps qu'il vous faut pour obtenir le premier octet du bloc de données que vous demandez.
Pour vous donner une idée d'ordre de grandeur :
- SSD = 0,1 ms
- HDD = 10 ms
- Cloud = 1s
Autrement dit, pour des accès à beaucoup de petits fichiers (ou quelques octets sur beaucoup de gros fichiers), il y a une facteur 100 à chaque fois.
Cela vous explique qu'un SSD est largement plus "réactif" qu'un disque dur classique à plateau, surtout dans les phases de démarrage où le système va avoir besoin de lire beaucoup de petits fichiers.
De même, vous avez encore un facteur 100 entre votre ancien disque dur rotatif et un accès cloud.
Donc oui, vous allez pouvoir gérer votre collection de 20 000 photos en ligne, mais dans ce cas ne vous attendez pas à de bonnes performances !.. Ça va même être atrocement lent, c'est promis.
Alors pour "contourner" cela, d'autres fournisseurs proposent la "synchronisation".
En effet, un fois que le fichier est posé sur un support local et "synchronisé", il bénéficie des performances locales.
Mais cette "solution" qui est présentée comme une évidence est en réalité horrible. Tout d'abord elle multiplie les espaces de stockage locaux par autant de fois où vous allez "synchroniser"... du coup l'intérêt d'avoir un gros espace distant (2To !) disparaît si on a déjà des blocs de 2To sur toutes ses machines.
L'autre énormité que l'on vous cache est l'erreur de synchro !..
Si vous avez deux appareils "synchronisés" à un instant T, et que vous faites une modification offline sur les deux... laquelle est la bonne ?.. Pour ne pas vous "prendre la tête" avec ça, en général les logiciels de synchro font un choix par défaut... qui peut s'avérer être le contraire de ce que vous voulez, et donc effacer la version que vous considériez comme "la bonne", puisque quand les deux instance seront en ligne, la "mauvaise" version sera répliquée.
Dernier argument, ce n'est pas la "philosophie Linux". 1fichierfs ne fait que l'accès et s'en tient à ça. Si vous voulez "synchroniser" (avec toutes les limitations exposées ci-dessus), il y a des outils qui le font très bien comme rsync, ou ses équivalents graphiques. Vous pouvez tout à fait utiliser ces outils par dessus 1fichierfs.
Au delà de la latence, vous avez la
vitesse d'accès séquentiel. Si vous avez une bonne connexion (genre 1Gbps fibre), à partir d'environ 40Mo séquentiels, vous serez déjà autour de 25Mo/s, soit la vitesse d'une bonne clé USB2. Vous voyez donc, pas de problème pour l'accès en flux (stream) de gros fichiers, vous aurez rapidement des performances excellentes.