Installer E-venemement 2.x

Dans le monde de la billetterie, il n’existe pas beaucoup de solutions libres, à l’heure d’aujourd’hui, je n’ai identifié que 2 outils :

  • Fusion Ticket, un projet anglophone sans activité depuis début 2010
  • e-venement, un projet francophone toujours actif

Pour le besoin de ma compagnie de théâtre nous avons décidé de tester e-venement. Cet article est un retour d’expérience suite au manque de la documentation officielle actuelle concernant la dernière version publiée.

Pré requis

Pour la suite de l’article nous considérerons que nous avons la main sur un serveur LAPP (dans notre cas une Debian).
De même, le répertoire home de l’utilisateur est considéré comme un répertoire web accessible depuis n’importe quel navigateur.

E-venement est une application Symfony, il est donc nécessaire d’obtenir :

Installer l’application

L’installation d’une application Symfony et de son environnement est assez simple.
Il s’agit de dézipper les 2 archives précédemment obtenues :

serveur:~# wget http://www.symfony-project.org/get/symfony-1.4.15.zip
serveur:~# unzip symfony-1.4.15.zip
serveur:~# wget http://download.gna.org/e-venement/e-venement-2.0-rc2.tar.gz
serveur:~# tar -xvzf e-venement-2.0-rc2.tar.gz
serveur:~# ls
e-venement-2.0-rc2  e-venement-2.0-rc2.tar.gz  symfony-1.4.15  symfony-1.4.15.zip

Ensuite comme indiqué dans la documentation officielle, nous devons installer symfony comme bibliothéque de notre application e-venement.

serveur:~# mv symfony-1.4.15 e-venement-2.0-rc2/lib/vendor/symfony

Configurer PHP

Il est à noter que pour la suite de l’installation de symfony, la configuration de PHP est insuffisante, il faut augmenter sa mémoire disponible pour le mode CLI.

serveur:~# nano /etc/php5/cli/php.ini
memory_limit = 320M 

Configurer sa base de données

Les développeurs de e-venement préconise l’utilisation de PostgreSQL.
Son installation simple se fait via serveur:~# apt-get install postgresql ou bien apt-get install postgresql-8.4

Nous créons un compte et une base pour l’application :

serveur:~# createuser evenement -P
Saisissez le mot de passe pour le nouveau rôle : 
Saisissez-le à nouveau : 
Le nouveau rôle est-il super-utilisateur ? (o/n) o

Configurer Symfony

Pour que l’application puisse correctement fonctionner, 2 fichiers sont à mettre à jour :

  • config/autoload
  • config/database.yml
serveur:~# mv e-venement-2.0-rc2/config/autoload.inc.php.template e-venement-2.0-rc2/config/autoload.inc.php
serveur:~# mv e-venement-2.0-rc2/config/databases.yml.template e-venement-2.0-rc2/config/databases.yml

Enfin nous pouvons déclarer la base postgres précédemment créée :

serveur:~# nano e-venement-2.0-rc2/config/databases.yml
all:
  doctrine:
    class: sfDoctrineDatabase
    param:
      dsn: 'pgsql:host=localhost;dbname=evenement'
      username: evenement
      password: motdepasse

A cette étape nous venons de rendre l’application "éxecutable", c’est à dire que nous pouvons maintenant configurer à proprement parler l’application e-venement

Activer la base de données

Du fait que nous avons une application symfony, nous pouvons générer la structure et l’ensemble des données de la base via le module doctrine.

serveur :~/e-venement-2.0-rc2# php symfony doctrine:build --all --application=default

Si par la suite vous voulez réinitialiser la base de données ou utiliser un autre serveur de données, vous pourrez le faire en mettant à jour config/databases.yml et en relançant la commande précédente.

Attention à ce moment, il n’est pas encore possible de tester l’application, aucun compte utilisateur n’est encore disponible.

Créer un premier compte administrateur

C’est le module guard de symfony qui gére les comptes utilisateurs et leurs droits.
Pour commencer nous créons un compte utilisateur sans droit via :

serveur :~/e-venement-2.0-rc2# php symfony guard:create-user email@test.com evenement motdepasse
>> guard     Create user "evenement"

Nous pouvons maintenant le promouvoir administrateur ainsi :

serveur :~/e-venement-2.0-rc2# php symfony guard:promote evenement
>> guard     User identified by "evenement" username has been promoted as super administrator

Teste l’application

Enfin nous pouvons tester pour de vrai l’application. Il est possible de voir le rendu sur notre site de demonstration. Le compte test est evenement avec le mot de passe evenement.
Une image pouvant parler mieux voici ce qui devrait être obtenu :

Messages

  • Bonjour,
    Au nom des différentes personnes qui attendaient cette doc, et au nom de l’équipe technique de Libre Informatique (qui travaille sur e-venement), merci pour cette préciseuse contribution !!
    N’hésitez pas à nous faire part de vos déploiements, difficultés, avancées, patches, etc... Notez qu’il est aussi possible de passer par Subversion pour tenir son installation d’e-venement à jour des dernières avancées !
    Bonne réception,

  • Salutations,
    Encore merci pour cette très bonne doc. Nous avons mis à jour le site de Libre Informatique grâce à cette dernière, en sitant nos sources évidemment.
    Serait-il possible de savoir quelle est le nom de votre structure qui utilise e-venement, ça fait toujours très plaisir de savoir que ça peut servir, y compris en dehors des services de Libre Informatique !

  • Bonjour,
    J’ai bien suivi à plusieurs reprises vos indications d’installation (sur Ubuntu, Debian).
    Mais à chaque fois que je réussi à me connecter sur le compte ’evenement’,
    j’obtiens une erreur de Symfony :
    Oops ! An Error Occurred
    The server returned a "500 Internal Server Error".
    Et je rencontre la même erreur quand je tente de me connecter sur votre serveur de démonstration (http://billeterie.demo.webelys.com/) avec le login/pwd (evenement/evenement).
    PS : Sur mon serveur quand le login/pwd est mauvais, on a le message normal suivant : "Le mot de passe ou l’identifiant est invalide". Par contre sur votre site demo, on obtient l’erreur interne 500.
    Pourriez-vous m’indiquer la marche à suivre pour corriger le problème.
    Cordialement.

  • Bonjour,
    je rencontre le même problème que Zuiquan.
    pouvez-vous m’aider
    merci

  • Bonjour
    avez vous trouver une solution pour le problème évoqué par Zuiquan, concernant l’erreur 500 lors de la connexion a l’interface web de e-evenement.
    Je rencontre le même problème si vous avez la solution pour m’aider a corriger cette erreur.
    Cordialement.

  • Bonjour,
    Je reviens vers vous pour savoir si vous avez pu trouver une solution
    au probème d’erreur 500.
    A défaut, si vous avez une idée quant à la raison de cette erreur,
    n’hésitez pas à me la dire ici ou par email.
    Etant développeur (mais pas PHP à la base, mais tout s’apprend),
    je pourrais peut-être chercher de mon côté dès que j’ai un peu de temps.
    J’aimerais vraiment réussir à faire fonctionner E-venement
    car ça m’attire plus que FusionTicket...
    Cordialement.

  • Au lieu de parler d’"erreur 500", si qqn avait les logs de son serveur Apache... ça permettrait peut-être de comprendre d’où cela vient ... (à mon avis d’une mauvaise config de l’accès à la DB, d’un pb de configuration générale, etc...)

  • Bonjour
    Je rencontre la meme erreur que tout le monde
    Erreur 500
    La doc d’installation du 2.6.6 n’est pas claire du tout.
    Quelqu’un a trouvé une solution ?
    Le serveur sur lequel je teste l’install est sur debian et pleinement operationnel avec SMI et Dolibarr de même que le framwork symfony est pleinement fonctionnel suivie procédure ici.
    http://www.desai.fr/blog/16/installer-et-configurer-symfony2-sur-ubuntu-server
    J ai un ami a moi qui aimerais l’utiliser dans son activité
    Merci pour votre aide.

  • Bonjour,

    je rencontre un bug suite à l’installation d’e-venement sur mon serveur :

    version e-venement : 2.10.2 Capirinha
    Serveur : linux Centos 7 x64
    Php : 5.4.16
    Apache : 2.4.6
    Psql : 9.6
    Symfony : installé sous lib/vendor/symfony/
    => avec un lien dynamique vers le binaire (lib/vendor/symfony/data/bin/symfony) sous /WEBPATH/e-venement/symfony

    j’ai pu faire le paramétrage de l’application, mais lorsque je veux saisir les contacts/organismes dans le menu RP, j’obtiens une erreur 500 avec ceci dans les logs :

    "[Tue Jul 25 11:00:00.954171 2017] [:error] [pid 6583] [client mon_ip:55836] PHP Fatal error : Call to undefined function mb_strtolower() in /WEBPATH/e-venement/lib/model/MySearchAnalyzer.class.php on line 71, referer : http://URL/e-venement/web/rp.php/contact/new.html"

    Les droits du fichier rp.php sont à 644 avec les bons owners.

    L’erreur 500 me parle mais je ne comprends pas pourquoi le reste fonctionne et pas cela...

    Si quelqu’un aurait une solution à mon problème.

    Merci par avance pour vos réponses.

    ++
    Ludo.

Un message, un commentaire ?

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.