Depuis que Framasoft à annoncé sa Déframasoftisons Internet, en tant que membre des CHATONS (avec zici.fr & retzien.fr), je me suis dis que c’était l’heure de se retrousser les manches.
Faire un framadrop ça me semblait accessible, par contre Lufi (utilisé par framadrop) c’est codé en Perl et sur les serveurs de l’asso on est plus en mode PHP (et j’essaie de pas trop me disperser et pas héberger : un coup du perl, un coup du python, un coup du ruby, du node.js… c’est plus facile à maintenir) Sauf qu’en PHP je n’ai pas trouvé de logiciel maintenu similaire qui répondent à mes attentes, du coup j’en ai pondu un : file2link.
- Démonstration en ligne : https://dl.zici.fr/
- Dépôt des sources du projet : https://framagit.org/kepon/file2link
Bien sûr tout est libre de droit, file2link est sous licence beerware.
Petit tour en images :
Si vous l’utilisez, dites le moi, ça me parait pertinent qu’on fasse du lien avec toutes les instances…
Fonctionnalités
Dans sa version 0.1 le logiciel permet :
- Uploader des fichier (plusieurs possible) et de recevoir des liens en échanges :
- Lien direct
- Lien de téléchargement forcé
- Lien vers un zip contenant tout les fichiers
- Images redimensionné à l’upload possible
- Mémorisation des fichiers précédaient uploadé (via le storages local du navigateur
- Se configure avec un fichier YAML
- Configure with YAML file :
- Limite dans le temps
- Limite le type de fichier (via mime)
- Limite le nombre de fichier envoyé simultanément
- Limite de type de fichier
- Bar de progression en HTML5
- Multi-langue (français / anglais pour le moment)
- Ménage des fichiers expiré par tâche cron (cron.php) ou par traffic sur la page d’accueil (web cron)
- Personnalisation du contenu de la page avec la possibilité de créer des pages header-page.php, header.php, footer-page.php, footer.php, start-home.php, end-home.php
- Ajout d’un menu vers des pages HTML pour créer des pages « contact » « mention légal »…
Installation
Pré-requis :
- Un serveur http configuré compatible avec htaccess / url rewriting (apache2 typiquement
- PHP 5.6 minimum
- Lib php : GD & ZIP
Envoyer le contenu du dépôt sur votre serveur :
git clone https://framagit.org/kepon/file2link.git
Déplacer le fichier de conf distribué :
mv config.yaml.exemple config.yaml
Modifier le fichier config.yaml, changé le baseUrl et autres paramètres que vous souhaitez personnalisé. Assuré vous de la cohérence des paramètres :
- maxUploadPerFile doit être similaire à la config PHP upload_max_filesize and post_max_size
- maxUploadNbdoit doit être similaire à la config PHP config max_file_uploads
Assurez vous que le répertoire « files » soit accessible en écriture pour le servuer
Option : si vous voulez faire le ménage par tâche cron modifier la valeur expireCron par « cron » dans le fichier config.yaml et ajouter votre tâche cron :
* * * * * cd /var/www/file2link/ ; php cron.php
Et voilà, fin de chantier !