
Il y a quelques temps que je cherchais à trouver une alternative (ou du moins une complémentarité) aux serveurs cloud traditionnels. Usagé de Dropbox depuis ses débuts, je n’ai pas à m’en plaindre, malgré quelques tares toujours d’actualité (telle l’obligation de ne synchroniser que des dossiers se situant dans un dossier Dropbox), l’espace disque limité, ou encore la dépendance vis à vis du prestataire et la question de la propriété de ses données …
Bref sachez que si vous vous posez ce genre de questions, des solutions existent, et cerise sur le gâteau : des solutions libres, telles Seafile que je vais vous présenter. Seafile est composé de deux parties : Seafile server (le service) et Seahub (interface web).
Seafile Server
Seafile Server représente le service qui tourne en tâche de fond, et qui gère l’intégrité des données, les permissions, les accès, etc … Il est disponible sous a peu près tous les OS (Windows, Mac OS, Linux), et nécessite les pré requis suivants pour fonctionner :
- une base de données (MySQL, ou PostgreSQL)
- python
- de l’espace disque (!)
Personnellement, je l’ai installé sur une Linux Debian 7, 64 bits, sans soucis. L’installation, et le paramétrage se font intégralement en mode console (le tuto est très bien expliqué). Il est ensuite possible de paramétrer les fichiers de démarrage en tant que services.
Seahub
Seahub est le front end, c’est à dire une interface web par laquelle on accède à Seafile Server. Elle s’installe en même temps que Seafile Server, et tourne sur un serveur web autonome (Django) pré configuré, donc vous n’aurez rien à installer de ce côté (il est toujours possible d’utiliser Apache au prix de quelques manipulations). Pensez simplement à faire pointer un nom de domaine vers l’ip de votre serveur, afin de bénéficier d’une url pour accéder proprement à votre front end. Par défaut, le port utilisé par Django est 8000, donc vous accéderez à votre serveur par l’adresse
http://mondomaine.com:8000
L’administrateur peut gérer les comptes utilisateurs à travers Seahub (création, suppression, permissions). Quant aux utilisateurs, ils peuvent accéder à leurs fichiers, en transmettre, en partager ou en télécharger.
Clients mobiles et desktop
Seafile fournit également un client bureau pour Windows, Mac OS et Linux. Ce client permet à la manière de dropbox, de synchroniser des dossiers automatiquement (ou non), mais où qu’ils soient sur l’ordinateur. Des clients iOS et Android sont également disponibles. Bien que très sommaires, ils permettent l’essentiel : l’accès à ses fichiers. Bon point : tous les clients sont gratuits, et sans pub !
Fonctionnalités de Seafile
S’il n’est pas aussi clinquant que des produits du type dropbox ou autre (oubliez les galeries photos, lecteurs vidéo, …), Seafile n’en reste pas moins très efficace pour du partage de fichiers grâce ses fonctions avancées :
- partage de fichiers ou de dossiers (ou sous dossiers) par une simple URL
- partage entre comptes utilisateurs
- versioning automatique des fichiers (un historique des versions de chaque fichier est conservé, et on a la possibilité de télécharger une version plus ancienne à tout moment)
- cryptage des fichiers sur le serveur
- création d’ URL d’upload (un anonyme peut de cette manière uploader un fichier dans un dossier de votre choix)
Fiabilité, et mises à jour
Un des points les plus importants pour moi et la pérennité du serveur. Il faut donc que le système soit fiable, car une corruption de la base de données engendrerait irrémédiablement une catastrophe (fichiers perdus, comptes supprimés, …). Les mises à jour doivent également se faire de manière simple et fiable. Ces deux points m’ont pour le moment donné grande satisfaction. Aucun soucis dans la gestion des données n’a été constaté dans une utilisation quotidienne de plusieurs utilisateurs pendant 2 mois. J’ai également réalisé une mise à jour (mineure certes) sans soucis, et en à peine quelques minutes …
Bref, Seafile est une très bonne solution de cloud privé, qui conviendra aussi bien aux particuliers consciencieux qu’aux entreprises souhaitant partager leurs données de manière sécurisée.