Ce post recense deux alternatives libres à doodle : dudle et Framadate et détaille leur installation sur Ubuntu server, 14.04 LTS.

dudle

dudle est une application web écrite en JavaScript et ruby. Les différentes étapes de l’installation sont les suivantes :

1. Récupérer le code source

Le code source doit être récupéré avec l’application bazaar qui s’intalle avec

sudo apt-get install bzr

En super-utilisateur, placez vous ensuite dans le dossier dans lequel vous souhaitez installer l’application et entrer

bzr branch https://dudle.inf.tu-dresden.de/ dudle
chown www-data:www-data -R dudle
chmod o- -R dudle

Les instructions pour l’installation se trouvent dans le fichier README mais quelques conseils pas à pas sont fournis ci-dessous.

2. Installer les dépendances

Le logiciel nécessite également l’installation de ruby et de diverses librairies :

sudo apt-get install ruby ruby-gettext rubygems ruby-dev libxml2-dev zlib1g-dev
sudo gem install ratom

Au niveau du serveur apache, le module auth_digest doit être activé :

a2enmod auth_digest
service apache2 reload

Pour utiliser les différentes langues, vous devez aussi les télécharger depuis internet avec les lignes de commande suivantes :

cd dudle
for i in locale/??; do
  wget -O $i/dudle.mo https://dudle.inf.tu-dresden.de/locale/`basename $i`/dudle.mo
done

3. Préparer l’hôte virtuel

Dans le répertoire /etc/apache2/site-available, créez (en super-utilisateur) un fichier dudle.conf contenant les instructions suivantes : dudle_apache La directive ScriptAlias permet d’activer l’interprétation des scripts cgi et la directive AllowOverride autorise la prise en compte des fichiers .htaccess. N’oubliez pas d’ajouter dudle.server-name.org à votre liste d’hôtes /etc/hosts. Ensuite, vous devez éditer le fichier .htaccess qui se situe dans le répertoire d’installation de dudle et ajoutez-y la ligne suivante :

SetEnv RUBYLIB /DIR-VERS-INSTALL/dudle

Enfin, pour finaliser le fonctionnement de l’installation, vous entrez

a2ensite dudle
service apache2 reload

Dudle est fonctionnel à http://dudle.server-name.org. Remarque : L’installation n’est pas particulièrement facile et très mal documentée, l’interface est plutôt peu conviviale et j’ai des problèmes importants avec l’encodage : l’application semble incapable d’interpréter le moindre accent.

Framadate

Framadate est une application PhP/MySQL basé sur le logiciel STUdS qui est lui-même développé par l’université de Strasbourg.

1. Récupérer le code source

Le code source doit être récupéré avec l’application git qui s’intalle avec

sudo apt-get install git

En super-utilisateur, placez vous ensuite dans le dossier dans lequel vous souhaitez installer l’application et entrer

git clone https://github.com/framasoft/OpenSondage.git opensondage
chown www-data:www-data -R opensondage
chmod o- -R opensondage

Les instructions pour l’installation se trouvent dans le fichier INSTALL mais quelques conseils pas à pas sont fournis ci-dessous.

2. Installer les dépendances

Framadate demande l’installation des extensions ADOdb et gettext :

apt-get install php5-adodb php-fpdf php-gettext

Les langues peuvent être configurées via l’installation des locales correspondantes, par exemple :

locale-gen fr_FR
locale-gen fr_FR.UTF-8
dpkg-reconfigure locales

pour installer le français.

3. Configurer la base de données

J’ai choisi une BD MySQL mais d’autres alternatives sont possibles. Pour la base de données MySQL, créer sur le serveur une nouvelle base avec un utilisateur dédié puis initialisez-là à l’aide du script install.mysql.sql. Les paramètres de la base (nom de la base, nom du serveur, nom de l’utilisateur, mot de passe, type de base…) sont à entrer dans un fichier variables.php dont un exemple se trouve dans le fichier variables.php.template

cp variables.php.template variables.php
chown www-data:www-data variables.php
chmod o- variables.php

Éditez le fichier variables.php et mettez à jour toutes les variables. J’ai laissé non configurées les variables const LOGOBANDEAU et const LOGOLETTRE.

4. Configurer la partie admin

Dans le dossier admin de l’application, créer un fichier .htaccess que vous éditez en ajoutant les instructions suivantes

AuthType Basic
AuthName "Restricted area: please provide username and password"
AuthBasicProvider file
AuthUserFile /CHEMIN-APPLI/opensondage/admin/passwd/.htpasswd
Require user opensondage

Créez ensuite un dossier passwd dans le dossier admin puis un fichier .htaccess dans ce dossier contenant l’instruction

deny to all

pour prémunir la lecture du mot de passe de la partie administration de l’application. Enfin, créez le fichier mot de passe .htpasswd dans le dossier passwd en copiant le résultat de la commande

htpasswd -mnb opensondage MOT-DE-PASSE

dans celui-ci. Assurez-vous que tous ces fichiers et dossiers créés soient lisibles par le serveur.

5. Configurer l’hôte virtuel

Dans le répertoire /etc/apache2/site-available, créez (en super-utilisateur) un fichier framadate.conf contenant les instructions suivantes : famadate_apache AllowOverride autorise la prise en compte des fichiers .htaccess pour l’authentification. N’oubliez pas d’ajouter dudle.server-name.org à votre liste d’hôtes /etc/hosts. Le fichier variables.php doit être proprement configuré pour son URL

const STUDS_URL = 'framadate.server-name.org';

Enfin, pour finaliser le fonctionnement de l’installation, vous entrez

a2ensite framadate
service apache2 reload

Framadate est fonctionnel à http://framdate.server-name.org. Remarque : L’installation est facile et l’interface est vraiment conviviale. Les accents passent sans problème. J’ai donc finié par opter pour cette solution.