Partager simplement des fichiers sur le Web avec DropCenter

Date: 4/06/2012 | Catégories: Open-source,Planet-libre,Web | Tags: ,,,

Suite à mon billet sur les solutions auto-hébergées de partage de fichiers par interface Web, quelques lecteurs et followers m'ont conseillés de regarder du coté de DropCenter. Une solution libre (licence CC BY-NC-ND 2.0), légère (sans base de données) et que l'on peut auto-héberger.

Cerise sur le gâteau, le projet est développé par deux jeunes Français (aka IdleMan et Fox). Il ne m'en fallait pas plus pour me plonger dans le test de DroCenter. C'est partie pour la visite guidée.

Installation de DropCenter

Nous allons commencer par détailler l'installation de DropCenter sur une machine Debian 6 (mais la procédure peut être suivie pour n'importe quelle distribution GNU/Linux ou BSD).

Les pré-requis sont réduits au strict minimum car il suffit de disposer d'un serveur Web compatible avec le langage PHP (j'utilise personnellement le stack NGinx + PHP FPM).

Note: les commandes précédentes vont installer la version 1.4b de DropCenter dans le répertoire Web /var/www/dropcenter.

Note 2: Par défaut, votre configuration PHP limite la taille maximale des fichiers à uploader à 16 Mo. Pour augmenter cette valeur, il faut modifier les paramètres post_max_size et upload_max_filesize dans votre fichier de configuration php.ini. Attention, sur un système 32 bits, la limite doit être de 2147483647 octets (2 Go - 1). 

Il ne reste plus qu'à pointer un navigateur vers l'URL: http://votreserveur.com/dropcenter pour accéder à la page de configuration du compte administrateur.

Il suffit de saisir les informations suivantes pour créer le compte administrateur initial:

  1. le login de l'administrateur
  2. le mot de passe associé (il serait bien de disposer dans le formulaire d'un champ de confirmation pour ressaisir une seconde fois le mot de passe...)
  3. l'adresse mail de l'administrateur (idem)
  4. l'URL racine de votre installation de DropCenter
  5. de vérifier que les pré-requis de votre serveur Web sont bons

"That's all folks !".

L'installation est terminé, vous pouvez commencer à utiliser votre service DropCenter !

Utilisation de DropCenter

Il suffit de d'aller sur l'URL http://votreserveur.com/dropcenter pour accéder à votre DropCenter.

L'interface utilisateur est simple:

Il suffit de copier/glisser le fichier à uploader (si votre navigateur est compatible, en bref si vous n'utilisez pas IE :)) ou de cliquer sur cette même zone.

Après sélection, les fichiers vont automatiquement être "uploadés" dans le sous-répertoire /var/www/dropcenter/uploads/.

Il est alors simple d'obtenir le lien (URL) vers le fichier en question (une fonction de type raccourcissement d'URL serait la bienvenue !).

Les fichiers uploadés sont seulement visibles des personnes disposant d'un compte sur votre DropCenter. La création de nouveaux comptes utilisateurs est limité aux administrateurs. Par contre ils sont téléchargeables par n'importe qui disposant du lien vers le fichier.

Autre fonction que je trouve intéressante est la possibilité de s'abonner à un flux RSS permettant de suivre tout ce qui se passe sur votre DropCenter (ajout d'utilisateur, upload de fichiers...). Le lien est disponible en bas de l'interface Web. Les auteurs proposent même un deuxième logiciel nommé DropNews (disponible sous Linux et Windows) qui exploite ce flux RSS pour afficher directement les évènements sur le bureau de votre ordinateur.

Note pour les utilisateurs utilisant PHP-FPM

Je suis tombé sur l'erreur suivante qui m’empêchait de  voir la liste des fichiers disponibles sur mon DropCenter:

2012/06/02 16:05:07 [error] 30975#0: *181 FastCGI sent in stderr: "PHP message: PHP Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Berlin' for 'CEST/2.0/DST' instead in /var/www/dropCenter/php/function.php on line 49

Pour résoudre ce petit problème, j'ai ajouter la ligne suivante à mon fichier /etc/php5/fpm/php.ini:

Puis j'ai relancé PHP-FPM:

Alors ?

Je dois dire que j'ai été bluffé par la rapidité d'installation de DropCenter par rapport aux autres solutions du même style.

L'utilisation est du même acabit: simple et efficace. Le logiciel fait ce qu'on lui demande et il le fait bien !

Pour revenir à mon billet précédant, je pense que DropCenter est de loin la meilleure solution légère comme alternative aux services en ligne propriétaire.

Le futur de DropCenter

Ce projet prometteur est actuellement en version 1.4 bêta. La version stable devrait bientôt sortir et être suivie d'une version 2 qui apportera, entre autres, les fonctionnalités suivantes:

  • classement des fichiers par taille, date, tags, auteur
  • upload vers Dropbox
  • édition avancée des fichiers
  • version pour mobile et tablettes
  • restrictions sur le Hotlinking

Les auteurs recherchent des contributeurs matures et motivés ayant des compétences en PHP/Javascript/CSS/HTML (pour la partie web), C++/QT (pour la partie client lourd) et WebDesign (pour la partir UI).

  • http://www.gotofreedom.org zatmania

    Merci pour ce billet ! Une bonne alternative et bien plus légère que d’installer owncloud par exemple si l’on a besoin que de partages de fichiers !

  • http://blog.idleman.fr Idleman

    Merci beaucoup pour ce billet, je précise que la v2.0 du dropcenter contiendra également un moteur template permettant de personnaliser le graphisme ainsi qu’un système plus complet d’upload (l’omnibox) permettant l’upload sous tous les navigateurs (oui, même ie…) en parcourir, en drag and drop et depuis une url :).

  • http://www.sorstoilesdoigts.com Debaru

    Salut Nico,

    J’avais vu ton tweet dimanche sur lequel tu annonçais ce billet. Du coup dans l’attente j’ai testé DropCenter aussi.

    Commet toi, j’ai été bluffé par la rapidité !! Hallucinant. Simplicité, efficacité, rapidité.
    Comme dit Zatmania, il vient remplacer les doigts dans le nez Owncloud pour la solution de partage de fichier (Même si il n’y a pas de Webdav)

    J’attends le pied fermer les clients, qui si ils sont de qualités, viendront magnifiquement compléter cette solution de partage de fichier.

  • N.

    La licence CC-BY-ND-NC n’est pas libre au sens des quatres libertés. Elle permet seulement un diffusion relativement simple.

    • http://www.nicolargo.com nicolargo

      C’est exact, les développeurs expliquent leur choix dans ce billet:

      http://dropcenter.fr/?p=105

    • http://blog.idleman.fr Idleman

      Je re-précise que la licence n’est en place qu’a titre dissuasif pour éviter les abus mais que fox comme moi sommes tous à fait près à autoriser les dérivés sur demande par mail (ou autre) :)

  • http://www.woueb.net Romain

    Excellent !
    Ca donne envi de l’essayer, c’est pile ce que je cherche.

  • http://twitter.com/opencircle_ Nordine KHALFOUN

    Excellent ! idem que Romain !

  • http://www.k1ka.be/desidia/ Desidia

    «Les fichiers uploadés sont seulement visibles des personnes disposant d’un compte sur votre DropCenter. [...] Par contre ils sont téléchargeables par n’importe qui disposant du lien vers le fichier.»

    Ça n’est pas un peu contradictoire, ça ? Pour moi, téléchargeable, ça veut dire visible.

    • http://blog.idleman.fr Idleman

      Dans al v2.0 la sécurité sera renforcée de ce côté la pour ceux qui le souhaitent, nous sommes partis de l’idée que le dropcenter serait utilisé plus pour le libre partage que pour le stockage privé aussi nous n’avons pas mis les points sur les I concernant le hotlinking, ce sera géré dans la prochaine version (ainsi que le flux RSS qui est pour le moment publique)

  • jbd

    http://fex.rus.uni-stuttgart.de/

    Upload via interface web, possibilité d’upload en ligne de commande (avec création de .tar/tgz à la volée pour des arborescences, pas de création temporaire avant upload), supporte les fichiers supérieur à 2 Go, limitation de la bande passante, nettoyage automatique tous les X jours ou bien téléchargement unique… Un simple programme (en perl) qui se lance via inetd qui tourne comme une horloge.

    L’outil en ligne de commande (“fexsend”) fonctionne sur n’importe quelle plateforme disposant de perl.

    Aussi efficace que l’interface web est laide ;)

  • chris

    Est-il possible de partager des fichiers entre plusieurs comptes ?

    • http://blog.idleman.fr Idleman

      C’est le principe même du dropcenter ;)

  • yapayou

    Nickel! installé en 2 minutes (grand max!), redirection du dossier uploads vers un dossier de films de vacances et roulez jeunesse :)

  • http://www.lecentre.net/blog Prune

    Salut,

    Super projet mais aucune envie de m’inscrir à leur forum pour leur proposer 2 fonctions à ajouter :

    – supporter des comptes utilisateur LDAP
    – supporter le SSO du style de CAS…

    J’aurais pu les aider mais on vient de mettre openupload en place, donc je ne vais pas tout refaire de zero…

    • http://blog.idleman.fr Idleman

      Effectivement c’est dommage que nous travaillons chacun de nôtre côté :)

      Nous n’intégrerons pas LDAP ou une gestion SSO car nous souhaitons conserver le script le plus light possible, c’est peut être ce qui différencie nos deux projet et fait de chacun d’eux des solutions adaptées a des besoins différents :)

      En attendant je vous souhaite une bonne continuation et vous félicite pour votre excellente initiative :)

  • Mike

    Salut,

    Il semble y avoir bien moins de fonctionnalités que OpenUpload (qui semble, pourtant, bien plus moche).
    Quelqu’un aurait essayé les 2 et pourrait nous en faire un petit comparatif ?

    • http://blog.idleman.fr Idleman

      Les deux projets sont différents, le dropCenter s’oriente sur la méthode de projet KISS (Keep It Simple Stupid) qui consiste a privilégier le besoin premier et la rapidité/légèreté de l’application.

      Open Upload (de ce que j’en ai vu) semble plus être adapté à des besoin plus grand pour les utilisateurs qui souhaitent greffer le script à leurs annuaire LDAP ou a leurs gestion SSO par exemple.Visiblement c’est très orienté gestion utilisateur/groupe :)

  • http://www.reflexit.fr Domi

    Quit a utiliser quelque chose qui gère le SSO et le LDAP autant déployer FileZ qui tiens gravement la route

    j’ai adoré dropcenter même si il est encore un peu light a mon gout en fonctionnalité,comme la téléchargement unique via lien publique ou une expiration, il ne vas que se bonifier dans le temps je n’en doute pas

    mais qu’elle surprise de voir 1.0 alors que je pensais avoir téléchargé la 1.4b je l’ai donc téléchargé a nouveau pour me rendre compte que ça doit etre une coquille, et de voir la même cas sur ta capture me “rassure”

    Longue vie a se chouette projet

  • Pingback: Mes trouvailles du jour : 6 June 2012 | DotMana

  • lesmyrmidons

    Merci pour ce billet car ça répond exactement à ce que je cherchais.

    PS : ton problème avec timezone est présent pour tout ceux qui ont une version php >= 5.3

    • http://www.nicolargo.com nicolargo

      Tout à fait exact et selon les dires des développeurs, ce problème sera corrigé dans la prochaine version de DropCenter !

    • http://blog.idleman.fr Idleman

      Tout à fait, d’ailleurs c’est une simple ligne à ajouter au début du fichier PHP/config.php :

      date_default_timezone_set(‘Europe/Paris’);

  • Pingback: [Veille]-Lectures de la semaine du 04-06-2012 - Philippe Scoffoni

  • Fox074

    J’ai modifier le fichier php.ini comme indiqué dans ton post avec la valeur 2000M pour post_max_size et upload_max_filesize.

    Mais pour faire fonctionner avec nginx j’ai du modifier une directive de nginx.conf.
    client_max_body_size 2000m;

    Par défaut cette directive a une valeur de 1m.
    Je me demande comment tu as fait pour tester dropcenter ? Est ce que tu peux me dire si ta config est aussi modifié ?

    Merci.

    • http://www.nicolargo.com nicolargo

      Exact, mais pour être plus propre j’ai mis cette configuration dans la définition de mon site owncloud dans le répertoire /etc/nginx/sites-enabled.

      • Fox074

        Oui c’est effectivement là que je l’avait mis.
        Pour être aussi plus propre du coté php j’ai créé un fichier .user.ini (php version 5.3 et suppérieur) plutôt que de le mettre dans le php.ini global :

        dropCenter/.user.ini
        upload_max_filesize=2000M
        post_max_size=2000M

  • http://hostingvps.fr/ hayou

    Hello,
    il y a une solution que j’utilise aussi : Ajaxplorer, Une interface plutôt classe, avec les gestions des groupes, utilisateurs, gestions des droits sur les dossiers très complets.
    @+

  • lemmings

    est-il possible de faire un lien symbolique depuis le répertoire uploads vers un répertoire qui contient déjà une quantités de fichiers ex: une collection de photos si oui est-il possible d’uploader directement dans ce répertoire ?

    Merci

    • http://blog.idleman.fr Idleman

      A partir du moment ou ton répertoire lié est modifiable par l’utilisateur www-data du groupe www-data ça ne devrais pas poser de problèmes.

  • http://blog.info16.fr bartounet

    Bonjour
    Je viens de tester dropcenter, car je cherchais justement quelquechose de simple pour partager des fichiers entre amis.

    Concernant l’installation, pas grand chose à dire à part qu’il faudrait avoir la visu sur les erreurs.
    Je n’avais pas les bon droits sur le dossier dropcenter du coup il ne me créait rien mais sans me mettre de message d’erreur.

    A l’utilisation, 2 choses me gène énormément.

    1- Pas moyen d’uploader autrement qu’en droppant ?? et ceux qui ont IE ou simplement un mobile ??

    2- Une fois uploadé le fichier n’est pas renommé ??
    du coup on facilement retrouvé le lien du fichier …

    Sous Filez que j’utilise aussi , il gère cela très bien, il génère un lien impossible à deviner

    • http://blog.idleman.fr idleman

      Nous laissons a l’utilisateur le choix de renommer ou non ses fichiers et dossiers en faisant un double clic sur le nom de ces derniers :). Nous ne voulons pas renommer automatiquement les fichiers car beaucoup d’utilisateurs tiennent à retrouver leurs fichier uploadé en l’etat.

      Pour ce qui est de l’upload par bouton parcourir c’est prévu dans la prochaine version (ainsi qu’un upload par copie d’url) voir ici : http://dropcenter.fr/?p=133

      Amicalement

      • http://blog.info16.fr bartounet

        Merci de votre réponse.
        Dropcenter est très prometteur.
        Mais c’est vrai qu’en l’état, j’ai peur de l’utiliser, car on à beau dire, il existe encore une bonne partie des users qui utilisent IE… et du coup ils sont bloqués :(

        • http://blog.idleman.fr idleman

          C’est juste, nous sommes partis du principe que les véritables navigateurs étant gratuits, les utilisateurs n’auraient aucun mal a les télécharger pour utiliser le dropcenter, après tout cela revient à télécharger un client spécifique pour se connecter a un serveur spécifique, ce qui est courant :).

          De plus nous aimerions inciter d’avantage les utilisateurs à utiliser des “navigateurs” et non des “visualiseur web” type IE.

          En fait nous proposons le bouton parcourir dans la prochaine version surtout pour ceux qui préfèrent l’exploration que le drag mais nous restons sur une position assez ferme par rapport à IE :)

  • http://blog.info16.fr bartounet

    Bonjour.
    J’ai un problème avec Dropcenter.
    L’upload se coupe innopinément… entre 64 et 80Mo…
    Pourtant j’ai bien modifié les paramètres PHP pour la taille des fichers.. je l’ai mis à 2048M…
    Pour autant ca coupe…

    Pas de message dans error.log

    • http://blog.idleman.fr Idleman

      Bonjour,

      Dans l’optique de ne pas pourri les commentaires du blog de nicolargo, je t’invite a ouvrir un nouveau sujet sur notre forum section bugs/problèmes qu’on puisse en parler plus en détail : http://forum.dropcenter.fr/categories/bugs-probl%C3%A8mes

      • http://www.nicolargo.com nicolargo

        Merci pour lui :)

  • Pingback: Geek De France.fr » Leed : l’agrégateur RSS en ligne ultra-léger

  • Pingback: Geek de France : Leed : l’agrégateur RSS en ligne ultra-léger « Oletrouher

  • Pingback: Geek de France: Leed : l’agrégateur RSS en ligne ultra-léger | AinaBladi

  • Flo

    Mouai l’interface est sympa mais ça serait cool d’avoir plus de fonction notamment le téléchargement d’un dossier, autoriser la lecture d’un dossier qu’à certains user, proposer de nommer directement un dossier quand on clique sur nouveau dossier. Et puis l’utilisation du protocole webdav ça serait cool ;) Super idée par contre le flux RSS ^^
    Sinon projet prometteur, bonne continuation.