La décadanse
📅 Agenda culturel local
Warning En raison d’une grande partie de code legacy, et pour des raisons de sécurité, ne déployez pas cette application sur des serveurs publics. La modernisation est en cours, vous pouvez contribuer
La décadanse est un site web qui présente aux visiteurs une sélection d’événements culturels locaux et accessibles. Il est actuellement déployé pour Genève et Lausanne
Les organisateurs d’événements ont la possibilité de s’inscrire puis de se présenter et annoncer leurs événements.
Les principales sections du site sont :
- un agenda d’événements, chacun de ceux-ci ayant sa fiche détaillée accompagnée de quelques services (signaler une erreur, format iCal…)
- un répertoire des Lieux où se déroulent des événements, avec détails, présentation, photos
- un répertoire des Organisateurs d’événements, similaire aux Lieux
- un back-office permettant de gérer les diverses entités du site : utilisateurs, événements, lieux, organisateurs, etc.
Installation locale
Ces instructions vous permettront de mettre en place une copie du projet sur votre machine locale à des fins de développement et de test. Voir déploiement pour des notes sur la façon de déployer le projet sur un système actif.
Prérequis
- Apache 2.4
- PHP 7.4 (avec les extensions
fileinfo
,mysqli
,mbstring
,gd
) - Composer
- MariaDB 10/MySQL 5.7 (with
sql_mode
containingALLOW_INVALID_DATES
)
Manuelle
- cloner la branche
master
composer install
- base de données
- créer une base de données avec
COLLATE 'utf8mb4_unicode_ci'
par ex.CREATE DATABASE `ladecadanse` /*!40100 COLLATE 'utf8mb4_unicode_ci' */;
- créer un utilisateur avec les droits suffisants sur cette base de données, par ex.
CREATE USER 'ladecadanse'@'localhost' IDENTIFIED BY 'my-password'; GRANT USAGE ON *.* TO 'ladecadanse'@'localhost'; GRANT SELECT, INSERT, DELETE, UPDATE ON `ladecadanse`.* TO 'ladecadanse'@'localhost';
- importer dans la base de données
resources/ladecadanse.sql
(la structure, et les données utiles pour la tablelocalite
) - ajouter un 1er utilisateur, l’admin (groupe 1) qui vous servira à gérer le site (mot de passe :
admin_dev
) :INSERT INTO `personne` (`idPersonne`, `pseudo`, `mot_de_passe`, `cookie`, `groupe`, `statut`, `affiliation`, `region`, `email`, `signature`, `avec_affiliation`, `gds`, `actif`, `dateAjout`, `date_derniere_modif`) VALUES (NULL, 'admin', '$2y$10$34Z0QxaycAgPFQGtiVzPbeoZFN1kwLEdWDEBI1kEOJGK4A3xRJtMa', '', '1', 'actif', '', 'ge', '', 'pseudo', 'non', '', '1', '0000-00-00 00:00:00.000000', '0000-00-00 00:00:00.000000');
- créer une base de données avec
- copier
app/env_model.php
versapp/env.php
et y saisir les valeurs de votre environnement (davantage d’explications et exemples se trouvent dans le fichier lui même), avec au minimum les informations de connexion à la base de données
Par Docker
Lancer la commande suivante à la racine du projet :
docker compose up -d
Le site ladecadanse est déployé sur localhost:7777. Le mot de passe, par défaut, pour l’utilisateur admin
est admin_dev
.
Usage
Une fois le site fonctionnel, se connecter avec le login admin (créé ci-dessus) permet d’ajouter et modifier des événements, lieux, etc. (partie publique) et de les gérer largement (partie back-office)
Tests
See tests/README.md
Déploiement
Prérequis
Un espace sur un serveur avec l’infrastructure prérequise, une timezone définie et une base de données
Avec Git-ftp
Prérequis
- installer git-ftp
- dans le répertoire du projet, configurer les données de connexion (ici avec un scope pour le site de production :
prod
) :$ git config git-ftp.prod.user mon-login $ git config git-ftp.prod.url "ftp://le-serveur.ch/web" $ git config git-ftp.prod.password 'le-mot-de-passe'
Pour mettre en place
- premier envoi des fichiers
$ git ftp init -s prod
- dans
app/env.php
configurer le site selon l’environnement
Pour mettre à jour avec les derniers commits
$ git ftp push -s prod
Changelog
Voir le changelog et les releases sur GitHub
Contribuer
Le projet accepte volontiers de l’aide ; il y a diverses manières de contribuer. Cette page décrit l’état actuel du projet, les possibilités d’aide et comment le faire.
Contact
Michel Gaudry - michel@ladecadanse.ch
Licence
This work is licensed under AGPL-3.0-or-later