Articles plus anciens

Après avoir testé Jyraphe, voici un autre script de dépôt de fichier FileZ

Ce script est développé par l’Université d’Avignon et des Pays de Vaucluse et les sources sont sur GitHub

En vu de tester le logiciel j’ai réalisé une installation minimal, ainsi par exemple je n’ai pas installé APC qui permet d’avoir une barre de progression lors de l’upload (voir section « Installing and configuring APC » de cette page).

FileZ permet de se brancher sur divers base utilisateur existante (LDAP, DB, CAS), j’ai pris le cas le plus simple créer une base utilisateur dédiée.

 

Pré-requis installation

On crée une base dédiée, la table des utilisateurs et un utilisateur.

Pour cela on se connecte à MySQL :

mysql -u root -p

Puis on lance les ordres SQL (à adapter):

CREATE DATABASE filez;
USE filez;
CREATE TABLE `filez`.`db_users` (
`uid` SERIAL NOT NULL ,
`login` VARCHAR( 20 ) NOT NULL ,
`password` VARCHAR( 40 ) NOT NULL ,
`givenname` VARCHAR( 255 ) NOT NULL ,
`sn` VARCHAR( 255 ) NOT NULL ,
`mail` VARCHAR( 255 ) NOT NULL
) ENGINE = MYISAM ;
INSERT INTO `filez`.`db_users` (`uid`, `login`, `password`, `givenname`, `sn`, `mail`) VALUES (NULL, 'admin', MD5('password'), 'Admin', 'Olympe', 'admin@olympe.local');

On crée ensuite les répertoires nécessaires à FileZ, le répertoire d’upload (exemple /var/Filez/uploads) et le répertoire de log (exemple /var/log/filez) et on s’assure que l’utilisateur exécutant le serveur web (www-data sans doute) à le droits d’y écrire.

Installation

Classiquement, 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)

Rque : Filez est assez volumineux, a ce point de l’installation (aucune données) le répertoire fait déjà 20Mo

On configure ensuite son serveur Web, dans le cas de NGINX, filez étant installé dans un sous-répertoire de la racine Web, voici ma configuration

server {
        listen       80;
        server_name  www.domaine.fr;
        root         /var/www/domaine.fr;
 
        index           index.php;
 
	location /filez{
		access_log      /var/log/nginx/filez.access.log;
                location ~ \.php$ {
                        include         /etc/nginx/fastcgi_params;
                        fastcgi_param   SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                        fastcgi_pass    127.0.0.1:9000;
                }
                if (!-e $request_filename) {
                        rewrite ^/(.*)$ /filez/index.php last;
                }
	}
}

A noter ma traduction très personnelle des règles de réécriture Apache contenu dans le .htaccess à la racine de filez

  RewriteCond %{REQUEST_URI} !favicon.ico
  RewriteCond %{REQUEST_URI} !doc/user/(.*)\.
  RewriteCond %{REQUEST_URI} !resources/(.*)\.
  RewriteRule ^(.*)$ index.php [QSA,L]

On peut ensuite aller sur l’URL de FileZ

Le script d’installation nous prévient que le mod_rewrite n’est pas activé, normal puisque l’on est pas sous Apache et préconise divers paramétrages de php pour optimiser l’upload.

Paramétrage que je n’ai pas fait dans le cadre de ce test, peut être plus tard…

On peut continuer, s’affiche ensuite un long formulaire de paramétrage :

Quelques éléments :

  • Upload directory (absolute dir) (required) : mettre ici le répertoire créé en pré-requis
  • Log directory (absolute dir) (required) : mettre ici le répertoire créé en pré-requis
  • Use https : pour ce test je ne tiens pas à configurer le site en https (création et configuration des certificats), on le désactive donc
  • Upload progress monitoring library [help] : voir en introduction, je n’ai pas installé ce qu’il faut pour cette fonctionnalité
  • Database username (required) : toujours pour des raisons de test rapide je ne crée pas d’utilisateur dédié à Filez, j’utilise donc mon root
  • Authentication method : c’est ici que l’on peut choisir d’interfacer Filez avec CAS
  • User profile source : je n’ai pas de LDAP j’utilise donc une base de donnée
  • Use the same configuration as Filez : même base et même méthode d’identification pour la base des utilisateurs que pour la base spécifique a filez
  • Table where username are stored (required), Database column name containing the username (required), Database column name containing the user,  password (required), Algorithm used to hash the password : à mettre en raccord avec la table des utilisateurs créé en pré-requis

Utilisation

On se loggue : 

On peut alors voir ses précédents upload et les modifier :

Et envoyer un autre fichier :

Lors de l’envoi on précise le fichier, la durée de disponibilité du fichier, un commentaire et éventuellement un mot de passe

Lorsque l’on accède à l’URL du fichier, on revoit tous les détails du fichier et le téléchargement commence :

Conclusion

J’aime beaucoup Filez, l’interface est clair, la plupart des fonctionnalités que j’attend sont présentes.

MAIS

  • la création des utilisateurs doit être faite à la main
  • les fichiers ne sont pas récupérables depuis le filesystem
  • 24Mo pour un dépôt de fichier !!

 

Sources :

Dans la liste des services web que je voulais tester en vue d’autohéberger un maximum mes données se trouvait un agrégateur de flux RSS web.

2 scripts coexistent pour remplir ce rôle, Tiny Tiny RSS et Rsslounge

J’ai choisi de tester ce dernier car il semblerait qu’il soit plus léger, véloce (mais ce n’est pas suffisant, cf. Conclusion)

Installation

  • On télécharge le script sur le site de rsslounge (lien direct vers la 1.7)

  • On dézippe l’archive dans l’arborescence de votre site

  • On change les droits des répertoires et fichiers pour qu’il appartiennent à l’utilisateur exécutant le serveur web (www-data probablement)

  • On configure le serveur web.

Pour les autres services web que je test je ne décris jamais cette dernière étape car elle dépend de votre serveur Web et des choix faits (virtual host, sous-domaine, etc), mais je vais faire une exception ici car j’ai pas mal cherché avant de réussir a faire fonctionner rsslounge.

Je l’ai installé avec le serveur web NGINX, en plaçant RSSLounge dans un sous-répertoire de mon arborescence principal et sans déclarer de sous-domaine.

Soit mon site domaine.fr pour lequel la racine est localisé dans /var/www/domaine.fr, RSSLounge est quand à lui installé dans /var/www/domaine.fr/rsslounge et sera donc accédé via l’URL www.domaine.fr/rsslounge, voici ma configuration NGINX

server {
        listen       80;
        server_name  www.domaine.fr;
        root         /var/www/domaine.fr;
 
        index           index.php;
 
	rewrite ^/rsslounge/favicon.ico$ /rsslounge/public/favicon.ico;
	rewrite ^/rsslounge/plugins/([^/]+)/(.*)$ /rsslounge/plugins/$1/public/$2;
	rewrite ^/rsslounge/favicons/(.*)$ /rsslounge/data/favicons/$1;
	rewrite ^/rsslounge/thumbnails/(.*)$ /rsslounge/data/thumbnails/$1;
	rewrite ^/rsslounge/javascript/(.*)$ /rsslounge/public/javascript/$1;
	rewrite ^/rsslounge/stylesheets/(.*)$ /rsslounge/public/stylesheets/$1;
	location /rsslounge {
		access_log      /var/log/nginx/rsslounge.access.log;
		location ~ \.php$ {
			include         /etc/nginx/fastcgi_params;
			fastcgi_param   SCRIPT_FILENAME  $document_root$fastcgi_script_name;
			fastcgi_pass    127.0.0.1:9000;
			fastcgi_param QUERY_STRING mod_rewrite=1&$query_string; 
			fastcgi_index index.php;
		}
		if (!-e $request_filename) {
			rewrite ^.*$ /rsslounge/index.php last;
		}
	}
}

J’ai pas mal cherché pour réussir à mettre les bonne règles de réécritures, en effet les règles décrites sur la FAQ décrivent une installation de RSS à la racine du serveur web et je ne suis pas du tout un expert en réécriture d’URL

 

Configuration

On va ensuite sur l’URL de RSSLounge et on répond aux questions

Si vous spécifiez une base de données spécifique a rsslounge il faudra penser à la créer auparavant :

mysql -u root -p
CREATE DATABASE rsslounge ;

 

Utilisation

On peut ensuite se connecter :

Et commencer à ajouter des flux,  ou importer ceux de google reader

Pour cela on exporte la liste de ses flux dans Google reader en cliquant sur l’engrenage en haut à droite et choisissant « Paramètre de Google Reader »

 

Puis on clique sur le lien « Télécharge » de la ligne « Vos abonnements » de l’onglet « Importer/exporter » :

Cela sauvegarde la liste de vos abonnements sous la forme d’un fichier XML

Puis sous RSSLounge on clique sur les engrenages, on sélectionne « OPML Import » et on ouvre le fichier XML précédemment sauvegardé :

RSSLounge commence alors l’import et la mise à jour des flux (cela prend un certain temps).

In fine on peut lire ses news….

 

Conclusion

RSSLounge change un peu de Google Reader, mais est globalement agréable à utiliser, les raccourcis sont pratiques, l’interface est claire et il rempli correctement son boulot

MAIS

sur un Dockstar ce n’est tout simplement pas possible, ça rame à mort, dommage….

 

Sources :

Pour un fois voici un article à la fois pour Windows et pour Linux et pour cause le logiciel que je présente est multi-plateforme puisqu’en Java.

Je m’attarderais ici essentiellement a son installation et configuration sous Windows (une fois n’est pas coutume) puisque pour l’instant je n’en ai pas trouvé l’utilité sous Linux

Sous Windows l’éditeur texte par défaut est le Notepad autant dire le strict minimum or si on développe un temps soit peu ou si on veut éditer des fichiers volumineux,ou si on édite des fichiers provenant de différents OS (Windows / Linux, les fameux caractères de fin de lignes), le Notepad Windows ne convient pas du tout.

Après en avoir essayé de nombreux (notepad++, pspad, ultraEdit, etc), mon choix s’est porté sur jEdit, essentiellement pour sa gestion des expressions régulière qui est pour moi la plus complète (sous Windows et aux derniers tests effectués datant de plus de 3 ans).

Le site du logiciel :  http://www.jedit.org

Installation

L’installation sous Windows est assez classique (on clique, on clique), hormis les les configuration suivantes :

Je n’installe pas la documentation de l’API, n’ayant pas pour l’instant franchi le pas du développement de macros ou de plugins pour jEdit.

Aucun raccourcis et je ne démarre pas le serveur jEdit (voir à quoi cela sert ici) au démarrage de Windows, ce dernier est déjà suffisamment long à démarrer

On peut lancer jEdit, voici ce a quoi il ressemble avant toute configuration :

Traduction

Par défaut jEdit n’est pas en Français et il n’existe pas de traduction officiel, mais une officieuse qui n’est pas à jour (Traduction 4.3.1 alors qu’on est en version 4.4.2) mais cela fonctionne tout de même très bien.

Pour ma part je n’utilise que la traduction de l’interface (pas des macros / docs)

On télécharge le fichier zip contenant les properties et on le décompresse dans C:\Program Files\jEdit\properties et on peut re-démarrer jEduit

Configuration

En première configuration je décoche l’affichage de l’astuce du jour…

Puis on va dans « Utilitaire » > « Options générales… »

Voici les configurations que j’effectue systématiquement :

jEdit > Générales

  • Décocher  »Rétablir au démarrage les fichiers précédemment ouverts »

jEdit > Apparences

  • Décocher « Afficher les astuces au démarrage »

jEdit > Encodage

  • Sélectionner les encodages avec lesquels vous travaillez (je laisse juste UTF8 et UTF8Y) pour éviter ce genre de liste à rallonge lors d’un changement d’encodage :

  • Sur cette même page il est possible de choisir l’encodage par défaut

jEdit > Marge

  • Côcher « Numérotation des lignes »

jEdit > Serveurs Proxies

  • Si vous êtes en entreprise, il y a de forte chance qu’il y ait un proxy il convient donc de l’activer et de l paramétrer ici.

jEdit > Gestionnaire de plugin

  • Cliquer sur « Mettre à jour la liste des miroirs »
  • Sélectionner un miroir Français (free par exemple)

jEdit > Enregistrement & Sauvegarde

  • Mettre 5 dans la zone Nombre maximum de sauvegarde
  • Mettre un dossier de sauvegarde (évite de polluer ses dossiers avec des fichiers ~)

Voila pour mes configurations de bases mais jEdit est ultra-paramétrable beaucoup d’autres configuration sont possible (je n’ai jamais pris le temps de m’y pencher sérieusement)

Installation de plugins

Une des forces de jEdit, l’installation de plugins, ajoutant des fonctionnalités ou modifiant son comportement, en voici quelques uns que j’utilise.

L’installation se fait en allant dans « Plugins » > « Gestionnaire de plugins… » puis dans l’onglet « Installation » il suffit de cocher la case face au(x) plugin(s) voulu(s) et de cliquer sur « Installer »

Ajout d’onglets : BufferTabs

Par défaut la sélection des différents fichiers ouverts (tampons dans le jargon jEdit) se fait via une liste déroulante, le plugin BufferTabs ajoute des onglets.

Après l’installation il suffit d’activer le plugin en allant dans « Plugins » et en cliquant sur « BufferTabs »

On configure ensuite le plugin en allant dans « Plugins » > « Option des plugins » et sélectionnant « BufferTabs »

  • Cocher « Enable Buffertabs by default »
  • Sélectionner « Top » pour « location of BufferTabs »

La liste déroulant faisant doublon avec les onglets on la désactive :

  • Menu « Affichage » dé-selectionner « afficher le sélecteur de tampons »

 

Travailler avec des fichiers XML

Le plugin XML (installe 4-5 plugins par dépendance) permet de travailler aisément avec des fichiers XML, ne serait ce que le reformatage :

Avant :

Après :

Visualisation de la structure du document dans le Sidekick (plugin dépendant) :

Programmation PHP : PhpParser

Comme son nom l’indique permet de faciliter le travail avec les fichiers php

Gestion des fichiers en projet : ProjectViewer

Travail sur les fichiers textes : TextTool

Permet notamment de trier un fichier, supprimer les doublons, etc

Voir les caractères spéciaux : Whitespace

Edition de fichier distant via FTP ou SFTP : FTP

FTP c’est le nom du plugin, une fois installé le plus simple pour l’utiliser et d’ancrer l’explorateur de fichier, pour cela dans « Utilitaires » > « Option Générales… » dérouler « jEdit » > « Ancrage » et sélectionner l’ancrage voulu (left / right …) pour le panneau « Explorateur »

Dans le panneau « Explorateur », cliquer sur « Plugins » > « FTP » et choisir « Connect to FTP Server » pour une connexion FTP classique et  »Connect to Secure FTP Server » pour une connexion SFTP (ou SSH), remplir les données de connexion.

Le panneau de l’explorateur liste alors les fichiers distants :

En cas de connexion via SSH, il n’est pas nécessaire de renseigner de clé privé…

 

 

Voila pour le principal, jEdit est ultra-puissant mais il faut y passer un peu de temps pour le paramétrer à son gout.

Pour plus de détails (en anglais) voir cet article

 

PS :

je disais en début d’article que jEdit était le seul éditeur texte gérant correctement les expressions régulières, voici un exemple, l’utilisation des références arrières.

Soit les dates suivantes :

20011015
20010812
20011205
20010622
20010504
20010318
20010616
20010101

Que l’on veut transformer ainsi :

15/10/2001
12/08/2001
05/12/2001
22/06/2001
04/05/2001
18/03/2001
16/06/2001
01/01/2001

On utilise l’expression régulière suivantes (pas optimisé, c’est juste un exemple) :

Rechercher : ([0-9]{4})([0-9]{2})([0-9]{2})

Remplacer : $3/$2/$1

Et voila…

Notepad++ ne le permet pas.

A l’heure des nouvelles interfaces de bureau (Unity, Gnome-shell) cet astuce est sans doute inutile.

Mais je n’utilise pas ces nouvelle interfaces, je suis resté sur Ubuntu 11.04 avec Gnome 2.x et j’ai ce tips dans mes brouillons d’article depuis pas mal de temps. ne voulant pas le perdre je le publie.

Par défaut depuis Gnome 2.3 le menu système n’a plus d’icônes :

Pour les faire réapparaître, il suffit de lancer la commande :

gconftool-2 --type Boolean --set /desktop/gnome/interface/menus_have_icons True

Et voila le boulot :

 

Sources :

05 jan 12

Article pense-bête.

Il y a quelques temps de cela j’ai ajouté un groupe secondaire à mon utilisateur avec la commande :

sudo usermod -g groupe_secondaire mon_utilisateur

Mais cela à eu pour conséquence que ce nouveau groupe est devenu le groupe principal de mon utilisateur (visible qu’après déconnexion / reconnexion)

Voici donc la commande pour rétablir le groupe d’origine :

sudo usermod -g mon_groupe_principal mon_utilisateur

mon_groupe_principal = mon_utilisateur

Cela rétabli le groupe de l’utilisateur, mais le groupe secondaire ajouté précédemment est supprimé du compte de l’utilisateur on le rajoute donc avec la bonne commande (celle qu’il aurait fallu faire dès le début) :

sudo adduser mon_utilisateur groupe_secondaire

Pour voir le nouveau groupe ajouté avec la commande groups, il faut se déconnecter/reconnecter

Rque :

J’avais initialement publié cet article le 15/12 mais il était faut car j’utilisais  la commande :

newgrp mon_groupe_principal

Or cette dernière est temporaire, dès que vous vous déconnecté vous retrouvez le précédent groupe principal

 

Commentaires fermés