General points
FileZ is an application developped by the Avignon University. It provides a way to upload and manage files you want to share through a web interface and unique URLs (http), inspired by the perl/mod_perl application filex.
Screenshots :
![]() |
![]() |
![]() |
| Uploaded file list | Upload form | Install form |
Requirements and install instructions :
The installation is very simple, follow the documentation at the bottom of the github page.
Downloads :




Hello,
I’m interested in translating your marvelous application into spanish.
If you could point me in the right direction on how to start I would be delighted to make this tiny contribution to the project.
Thank you.
@exo i think than you have to work with the files in /i18n
apparently this is translated with gettext so
- copy the ‘fr’ folder to a ’sp’ one
- translate the file LC_MESSAGES/default.po
- then generate default.mo with msgfmt (gettex)
You may also use the PoEdit translation tool
——
Suite de mon retour de passage en prod :
- J’ai l’impression qu’il n’y a pas de timeout sur les sessions identifications. Cela pourrais poser problème avec les ordinateurs en accès public ou en les navigateurs en mode kiosque (bibliothèque, etc.). Bien souvent un utilisateur ne pense pas a fermer sa session. Un timeout de 30 minutes à 1 heure devrait suffire.
- Malgré de nombreux essais et bidouilles de php.ini je n’ai pas réussi a utiliser l’outil de progress upload d’APC. C’est sans doute une limitation de mon serveur (PHP ou Apache incompatible, ou conflit avec un autre module ou il n’est tout simplement pas d’humeur) par contre j’ai réussi a utiliser le module php UploadProgress : http://pecl.php.net/package/uploadprogress
Pour ceux que cela intéresse voici comment je m’y suis pris :
(en m’inspirant de http://t.wits.sg/2008/06/25/howto-php-and-jquery-upload-progress-bar/ )
__
1) installer uploadprogress à l’aide de pecl :
> pecl install uploadprogress
2) l’activer dans php.ini ou créer un fichier /etc/php5/conf.d/uploadprogress.ini avec la ligne :
extension=uploadprogress.so
3) redémarrer apache et vérifier l’activation d’uploadprogress avec php_info()
4) modifier le fichier app/controllers/Upload.php
remplacer
>if (! function_exists (‘apc_fetch’))
> halt (HTTP_NOT_IMPLEMENTED, ‘APC not installed’);
par
> if (! function_exists (‘uploadprogress_get_info’))
> halt (HTTP_NOT_IMPLEMENTED, ‘uploadprogress not installed’);
et remplacer
> $progress = apc_fetch (‘upload_’.$upload_id);
par
> $progress = uploadprogress_get_info ($upload_id);
5) modifier le fichier resources/js/filez.js
remplacer
> $(this).prepend (”);
par
> $(this).prepend (”);
et remplacer
> var percentage = Math.floor (100 * parseInt (data.current) / parseInt (data.total));
par
> var percentage = Math.floor (100 * parseInt (data.bytes_uploaded) / parseInt (data.bytes_total));
Au passage, pourquoi pas un choix entre APC et UploadProgress dans une version future, au niveau de la configuration (voir même HTML5 qui permet de faire ça sans rien installer côté serveur, si j’ai bien suivi).
Humm, une partie du code de mon message à été en partie coupé.
ce qu’il faut surtout modifier dans filez.js
> name=”APC_UPLOAD_PROGRESS”
par
> name=”UPLOAD_IDENTIFIER”
au niveau de if (settings.progressBar.enable)
Décidément je suis fatigué :
i faut aussi modifier dans app/controllers/Main.php
> set (‘use_progress_bar’, (function_exists (‘apc_fetch’) && ini_get (‘apc.rfc1867′)));
par
> set (‘use_progress_bar’, function_exists (‘uploadprogress_get_info’));
Sinon la barre de progression est désactivée si l’on désactive APC
Hello
@e}{o It would be great to see Filez translated into spanish. Miniwark exactly replied what I was going to say. I suggest you to use poEdit to edit the .po file. poEdit will also automaticaly update the default.mo file. To see the changes make sure your browser is configured with spanish as the prefered language. To share your work you should create an account on our bugtracker and add a feature request here http://github.com/UAPV/FileZ/issues Thanks a lot !
@Bertrand, Merci pour ce retour très complet ! Les points que vous soulevez sont très intéressants, certains sont déjà dans la roadmap (la gestion des guests notamment, progression par HTML5). Pourriez vous créer des bug ou feature request pour chacun d’eux sur http://github.com/UAPV/FileZ/issues ? En attendant d’y répondre plus en détails sur un bugtracker plus approprié que ce fils de commentaire j’ai cependant quelques remarques.
Je pense qu’il est possible de filtrer les utilisateurs en jouant avec le paramètre “accountFilterFormat” de la librairie Zend (http://zendframework.com/manual/en/zend.ldap.api.html). Essayez d’ajouter cette option dans [user_factory_options] de filez.ini.
Votre solution pour suivre la progression de l’upload est intéressante, on pourrait effectivement rendre configurable la méthode utilisée. A réfléchir car les prochaines version de Filez vont s’orienter comme vous l’avez dis vers une solution coté client, probablement à l’aide de la librairie http://www.plupload.com. J’avais commencé il y a quelques mois l’intégration de cette librairie mais elle ne me semblait pas très stable à l’époque. Je vais refaire des tests pour la version 2.1 ou 2.2.
Merci encore pour votre contribution !
@Arnaud Voilà qui est fait ! Je ne trouvais pas le tracker.
Je regarderais aussi du côté de la librarie Zend pour le filtre d’utilisateurs, même si je dois avouer que le Php ce n’est pas vraiment ma tasse de thé.
Merci de votre aide ! Je suis assez chargé en ce moment mais je vais essayer de m’occuper de ces points rapidement pour finaliser la version stable.
Pour votre problème de filtre, la ligne à ajouter dans filez.ini devrait ressembler à ça :
accountFilterFormat=”(&(objectClass=posixAccount)(uid=%s)(mailenable=true))”
Merci encore !
Bonjour,
je n’arrive pas à faire fonctionner la tache cron pour supprimer les fichiers une fois la date dépassé :
code :
LOG_DIR=/var/log/file
# Url of the CRON web task
URL=http://intranet/file/scripts/cron.sh
url_output=”`wget -q -O – $URL`”
if test -n “$url_output”; then
cd $LOG_DIR
echo “[`date +'%FT%T%:z'`] [CRON] wget output: “$url_output >> “$LOG_DIR/filez-cron-error.log”
fi
Je ne comprends pas vraiment le paramétre Url of the CRON web task ?
Pouvez vous m’aider ?
Merci
Bonjour Sébastien,
Ce paramètre n’est effectivement pas très clair, je l’ai modifié dans le dépôt svn.
A partir de maintenant ce paramètre correspond simplement à la racine web de filez (ex: http://filez.site.com).
Si vous restez sur votre version, URL correspond à la racine web suivie de “/admin/checkFiles” par exemple : URL=http://filez.site.com/admin/checkFiles
Bonne journée
Bonjour,
Il est question d’une mailing list. Ou est-elle ?
Bonjour,
J’ai corrigé la FAQ, la liste de diffusion se trouve ici https://listes.univ-avignon.fr/wws/info/gpl
Bonne après midi
Bonjour
Je test actuellement Filez, mais impossible de me loguer, dès lors que je rentre des identifiants valide, je retombe sur la page de login.
Si un mauvais login est entré, j’ai bien un message d’erreur (j’ai également activé le mode debug), mais rien dans les logs !
ce genre de problème est il déjà arrivé ?
merci
Hum c’est bon j’ai trouvé, il manquait un champs dans la BDD des users, je n’avais pas fait attention !
désolé, et bravo pour ce script
Bonjour,
Quel champ te manquait-il dans la DB des users ?
J’ai exactement le même problème, page de login en boucle…
Bonjour,
Les champs manquants devraient être affichés dans le fichier filez-error.log
Je vais ré-intégrer un script de création d’une base utilisateur dans la prochaine version. En attendant vous pouvez utiliser celui ci http://github.com/UAPV/FileZ/blob/c37c7d5f74313513ff2a31ee8320dcbd70db7a0a/config/db.user-schema.sql
Bonne installation
Bonjour,
Ca fonctionne merci
Par contre, j’ai des erreurs bizarres… genre impossible de télécharger un fichier si il n’est valable qu’une journée, ou si il est protégé par mot de passe… mais pas systématiquement !
Où puis-je vous remonter les infos ?
Merci en tout cas pour ce super soft, une fois que les corrections de bug seront fini, ça sera un must :=)
Hello,
I have finished the spanish translation and it works fine!
I also Added this commento to the bugtracker, but I dont know how to upload the files.
PROBLEM:
I canot use the automatic email system, My postfix reports the following:
—–Jul 20 13:03:26 ymedio postfix/smtpd[21994]: warning: Illegal address —–syntax from ymedia.es[10.10.16.205] in RCPT command:
And this is my config:
[email]
from_email=”my_email@address.net”
from_name=”blabla”
host=”my.local.postfix.server” <– My postfix
name="blabla"
Great news ! Thanks a lot !
I didn’t noticed that it wasn’t possible to upload files to the github bugtracker, this is really annoying. Could you send me your file by mail ? (arnaud.didry__a__univ-avignon.fr)
I never have encountered an error like yours; Have you more informations about it in the filez logs ? Do you notice anything anormal in the database with the following sql request “SELECT DISTINCT (uploader_email) FROM `fz_file`” ?
Bonjour Ludo,
Je ne viens que de voir votre message, désolé pour le retard. Pourriez vous créer un ou plusieurs tickets sur http://github.com/UAPV/FileZ/issues avec le maximum de logs possibles (voir FAQ) ? Vous avez également la possibilité d’activer un mode “debug” pour afficher directement les erreurs sur la page web. Ajouter pour cela la ligne “debug=true” dans la section [app] de filez.ini.
Merci d’avance
Bonjour Arnaud, quelques petites nouvelles en testant la version 2.0.0
1) La ligne de configuration pour le filtre LDAP est la suivante :
accountFilterFormat=”(&(objectClass=posixAccount)(uid=%s)(mailenable=OK))”
(c’est ‘OK’ pour mailenable et non pas ‘true’)
Cela bloque effectivement mes utilisateurs qui n’ont pas de compte mail actif
2) La migration depuis Filez 1 c’est faite comme un charme mais …
3) Je vais devoir vérifier dans le détail la partie pcel:progressbar car cela ne semble plus fonctionner après la migration.
Bonjour,
Pour ceux qui souhaitent s’appuyer sur un serveur LDAP OIDDAS Oracle pour l’authentification, voici les paramètres à positionner :
[user_factory_options]
baseDn = “cn=Users,dc=domain,dc=fr”
host = “serveur.domain.fr”
useSsl = false
bindRequiresDn = true
username = “cn=p.nom,cn=Users,dc=domain,dc=fr”
password = “password”
accountFilterFormat = “(&(objectclass=*)(uid=%s))”
[user_attributes_translation]
firstname = “givenname”
lastname = “sn”
email = “mail”
id = “cn”
lv.
Je confirme le fonctionnement de la progressbar sans problèmes
Encore bravo pour ce superbe boulot !
bonjour,
j’ai un question technique conernant l’accès à filez :
je souhaite que le depot des fichiers ne puisse se faire que depuis le LAN privé.
Par contre, le download des fichiers doit pouvoir être possible à la fois depuis le LAN et Internet.
Quelle solution pourrait être déployée ?
EN effet, en interne et en externe, le FDQN sera le même :
serveur.domain.com.
la seule différence pour le download d’un fichier est l’identifiant rajoutée : serveur.domain.com/dfdf565
merci de vos avis.
Bonjour,
Une des solutions serait d’utiliser mod_rewrite. Ne m’y connaissant pas vraiment dans les règles de réécriture je ne vais vous donner que quelques pistes.
L’URL à bloquer pour éviter tout upload est /login
Ce site pourra peut être vous aider pour construire vos règles en vous basant sur des plages d’IP : http://www.netshinesoftware.com/component/option,com_myblog/Itemid,65/show,Restricting-access-to-a-URL-by-IP-address-using-mod-rewrite.html/
Bonne courage.