Articles plus anciens

Comme je l’ai indiqué sur Twitter (et hop au passage mon Twitter), je suis actuellement les cours vidéo de Jeffrey Way sur Tuts+ à propos de jQuery.

Ce cours est normalement un cours Premium accessible avec un abonnement de 19$/mois mais Jeffrey le dispense gratuitement pour faire connaître le service.

J’en suis à la leçon 5 et je dois dire que le niveau et la pédagogie sont excellent.

Je connais un peu jQuery, mais on repart des fondamentaux et on y apprend des bonnes pratiques, bref c’est un must see (c’est évidemment en anglais mais Jeffrey à un accent très compréhensible).

Il y a un cours de 10-20 minutes par jour, la vidéo et le code du cours sont téléchargeables, impeccable…

Pour ceux que ça intéresse c’est ici :Learn jQuery in 30 Days

J’ajoute aussi une page jQuery reprenant les notes que j’ai prises durant les différentes leçons (lesson), j’espère que je vais m’y tenir et la mettre à jour….

Rappel du besoin :

Avoir sur mon Dockstar un dépôt de fichier, un endroit ou je (ou des personnes de confiance) puisse facilement uploader des fichiers et avoir un lien vers ce fichier.

Logiciel testés avec les liens vers les articles :

Autres logiciels disponibles (non testés et qui ne le seront probablement pas)

  • BigFileSharing : pas de mise à jour depuis 2008, est prvu pour fonctionner avec un serveur CAS et/ou LDAP (bien qu’une authentification par htaccess semble en théorie possible, modification cvs de 2010), testé mais je n’ai pas réussi a afficher autre chose que cette page :

  • F*ex : non testé car en PERL
  • Droopy : déjà testé (mais non décrit) simple script Python, le plus simple et le plus léger à mettre en oeuvre (aucune installation)
  • xtraupload : commencé à tester sans succès (peut être réessaierai-je ?)

 

Récapitulatif :

Application Jyraphe FileZ KoLoad
Dernière mise à jour

Juin 2009, il existe une version 0.6 alpha de janvier 2010 et un fork sur github de mars 2011

Oct 2011 Nov 2011
Installation Traduction Fr pas simple, sinon facile Assez difficile (création base et utilisateur manuel), beaucoup d’options Facile
Traduit Oui Oui Oui
Authentification Non (contournement via .htaccess) Oui obligatoire pour l’upload, pas pour le téléchargement Optionnel pour l’upload, Non pour le téléchargement
Protection des fichiers par mot de passe Oui Oui Non
Purge automatique des fichiers Non Oui Non
Limitation du nombre de téléchargement Oui (téléchargement unique) Non Non
Durée de validité du téléchargement Oui (1 min / jour/ semaine / mois) Oui (1 à 20j) Non
Aspect Correct Beau Beau
Divers Pas de liste des fichiers existant Lourd (24Mo) !!
Application OpenUpload cFTP
Dernière mise à jour Nov 2010 Oct 2011
Installation Difficile (beaucoup d’options, de paramétrage) Moyen
Traduit Oui Oui
Authentification Oui ultra-paramétrable Oui pour l’upload et le téléchargement
Protection des fichiers par mot de passe Oui Non
Purge automatique des fichiers ? Non
Limitation du nombre de téléchargement Non Non
Durée de validité du téléchargement Non Non
Aspect Moche Beau
Divers Très paramétrable, mais compliqué Usage très spécifique, les fichiers sont rattachés à une notion de client

Promis c’est le dernier (enfin normalement) dépôt de fichier que je test, il s’agit cette fois ci de cFTP

Ce dernier est un peu en marge des autre car clairement orienté professionnel, les fichiers uploadés le sont en effet à destination d’un client particulier.

 

Pré-requis installation

On doit créer une base dédiée, pour cela on se connecte à MySQL :

mysql -u root -p

Puis on lance l’ordre SQL (à adapter):

CREATE DATABASE cftp;

 

Installation

Télécharger l’archive, la décompresser dans l’arborescence de son serveur Web, fixer les droits utilisateur (www-data propriétaire des fichiers) et configurer son serveur Web

On pourra ensuite télécharger la traduction française, deziper le fichier et copier le fichier vars.php dans includes/

Editer le fichier includes/sys.vars.php et mettre à jour les informatons de connexion SQL

define('DB_NAME', 'cftp'); // database name
define('DB_HOST', 'localhost'); // database host (most of the times its localhost)
define('DB_USER', 'root'); // user related to cftp's database
define('DB_PASSWORD', ''); // the password for that userfsf

Puis on va à l’URL de cFTP dans le « sous-répertoire » install :

http://www.domaine.fr/cftp/install

Les données à renseigner se passent de commentaires (paramétrage fait avant d’avoir installé la traduction française) :

Sur l’écran suivant on peut directement se logguer.

 

 

Utilisation

L’écran de login sépare l’accès administrateur de client :

La page d’accueil (loggué en administrateur)

 

L’upload d’un fichier est obligatoirement rattaché à un client il faut donc en créer un :

Puis on peut procéder à l’upload :

 

Le client quand il se logguera verra alors le fichier :

On peut accéder à cette même interface du client en cliquant sur la loupe dans l’administration des clients :

 

Conclusion

Usage spécifique (notion de client), propre, beau, léger (600 ko)

Encore un dépôt de fichier : OpenUpload

 

Installation

Après avoir téléchargé l’archive, l’avoir décompressé dans l’arborescence de son serveur Web, fixé les droits utilisateur (www-data propriétaire des fichiers) et configuré son serveur Web (pas de ruse)

On va à l’adresse d’openupload et l’installeur se lance et va nous guider au travers de 9 étapes :

Etape 1 : vérification des pré-requis

Les croix rouges ne posent pas de problème, il faut avoir au moins le support d’une base de données (MySQL dans mon cas) et il n’est pas nécessaire d’avoir un système de barre de progression.

 

Etape 2 : chemins

Le premier chemin est le chemin d’openupload sur le système de fichier, ce répertoire contient les librairies utilisé par openupload, il est envisageable (conseillé) de déplacer ce répertoire de l’arborescence web et de ne garder que le sous-répertoire www (qui contient l’application openupload proprement dite) dans cette dernière

WWW server URL est l’URL de base pour accéder à votre serveur

WWW root path est l’alias web de l’application openupload, celle que vous avez configuré dans votre serveur web.

Enfin le dernier chemin est le chemin dans lequel les fichiers uploadés seront stockés. Ce dernier doit contenir un sous-répertoire tmp et l’utilisateur exécutant le serveur web doit y avoir les droits d’écriture.

 

Etape 3-4 : base de données

 

Le programme d’installation permet la création de la base et de son utilisateur dédié ce qui est pratique (dans mon cas de test je n’ai pas créé d’utilisateur dédié mais utilisé mon root)

La dernière option permet d’indiquer le niveau des données à insérer.

  • No : Rien n’est fait niveau base de données
  • Structure only : seules les structures de table sont créées, aucune données n’est inséré, il vous faudra le faire à la main avant de pouvoir ne serait ce que vous connecter à openupload (sinon message pas clair indiquant que votre IP est blacklistée, banned)
  • Base system data : les groupes sont créés, l’utilisateur admin est créé et les droits de base (pour l’administrateur) sont créés

Les autres options permettent d’insérer les données visant à faire faire fonctionner openupload selon 1 des 4 modes par défaut :

  • Public mode : le site est complètement public. Les utilisateurs n’ont pas besoin d’être enregistrés pour téléchargé ni même uploader (fonctionnement de Jyraphe)
  • Service mode : idem public mais les utilisateurs enregistrés ont plus de fonctions (moins de limitation, protection de leur fichiers par mot de passe, envoi d’email…)
  • Restricted mode : Téléchargement public mais nécessité d’être connecté pour uploader
  • Private mode : nécessité d’être connecté pour télécharger et uploader (fonctionnement de FileZ)

A noter que ces différents modes d’insertion sont concrétisés par l’exécution d’un ou plusieurs fichier SQL présents dans /sql/mysql/

 

Etape 5 : options de l’application

Pas grand chose à dire, je n’ai rien modifié à part le renseignement des adresses email (obligatoires)

 

Etape 6 : utilisateur

On indique ici les nom et mot de passe de l’administrateur et des groupes pré-définis.

A noter que ces données ne seront insérés que si vous avez sélectionné au moins l’insertion des données de base (étapes 3-4)

 

Etape 7 : plugins

Sélection des plugins a installer, je n’ai pas pris le temps d’étudier la portée et les fonctions de ces plugins.

 

Etape 8 : installation de la base

L’installation proprement dite débute par la base de données (passage des scripts présents sous /sql/mysql/

 

 

 

Etape 9 : sauvegarde configuration

Puis les choix sont sauvegardés dans le fichier www/config.inc.php

 

Utilisation

On peut alors se connecter sur openupload (pas forcement obligatoire si vous avez configuré openupload en mode publique)

On arrive arrive sur la page d’upload :

Les options d’upload (fonction des droits et des plugins activés)

On peut aussi accéder à la liste de ses fichiers :

 

 

Enfin en tant qu’administrateur, on a accès à différentes pages de configuration :

Liste de la totalité des fichiers uploadés (tout utilisateur) avec possibilité de les supprimer et de bannir les IP des uploadeur

Liste des utilisateurs :

Des groupes :

Et des droits par groupe, sous la forme d’ACL : très puissant/configurable mais complexe et pas documenté

Enfin information intéressante opeupload log les accès et les actions des différents utilisateurs (niveau de log paramétré en étape 5)

 

Conclusion

Openupload semble la solution ultime, selon les droits appliqués on peut lui faire prendre différents comportement (publique ou protégé + des étapes intermédiaires) répondant ainsi à la majorité des besoins

L’application est relativement légère (3Mo)

Les fichiers ne sont pas accessibles depuis le disque (noms encodés)

MAIS par contre le thème par défaut (le seul fournis) est moche, très années 90….

 

Sources :

Je continue sur ma lancée du test des dépôts de fichiers.

Le suivant listé dans Applications libres d’upload de fichiers volumineux et testé est KoLoad, cependant le lien indiqué pour la page du projet n’existe plus.

Le code peut être récupéré à cette adresse : KOLoad – CodingTeam

L’installation est ultra-simple, on télécharge l’archive, on la décompresse dans l’arborescence de son serveur Web, on fixe les droits utilisateur (www-data propriétaire des fichiers) et on configure ensuite son serveur Web (pas de ruse).

On peut ensuite aller sur la page du projet :

On arrive directement sur la liste des fichiers disponibles

Si on veut envoyer un fichier on clique sur le lien en bas à gauche et on choisi son fichier dans la popup qui s’ouvre :

On choisi son fichier et on l’envoi :

Il existe 2-3 configurations possibles, faisable dans le fichier conf.php à la racine.

define('VERSION', '1.5');               // version of KOLoad
define('LANG', 'fr');                   // language, available : en, fr, de, es, it
define('SITENAME', 'KOLoad');           // type your site name here
define('UPLOAD', 'true');               // allow upload module, type 'false' to disable and 'true' to enable
define('DELETE', 'true');               // allow delete module, type 'false' to disable and 'true' to enable
define('RENAME', 'true');               // allow rename module, type 'false' to disable and 'true' to enable
define('PASSWORD', '');                 // enable the login fonction if there's a password, else, koload is public
define('COLOURS', 'blue');              // change the colours of KOLoad, available : blue, red, green, grey
ob_start('ob_gzhandler');               // force gzip compression (PHP), delete this line to disable

Notamment la possibilité de mettre un mot de passe, ce qui se traduit par cette page dès lors que la fonctionnalité est activée :

Pour accéder à la liste des fichiers et à l’upload il faut alors saisir le mot de passe choisi.

Par contre ce mot de passe ne protégera pas le téléchargement des fichiers pour peu que vous connaissez l’URL.

Concernant l’URL des fichiers uploadés, il s’agit simplement du nom du fichier, il n’ya pas d’encodage, de caractère aléatoire, etc, ainsi l’URL de téléchargement du fichier exemple fournis par défaut à l’installation de Koload est :

http://www.mon_domaine.fr/koload/files/example.txt

 

Conclusion :

Simple (pas de base, d’URL rewriting, etc), léger, plutôt beau

Pas de notion de date de validité du fichier (pas vraiment nécessaire), pas de mot de passe pour le téléchargement des fichiers, nom des fichiers non protégé, sécurité en règle générale (est ce vraiment sécurisé ?)

 

Sources :