agilare / ladecadanse

đź“… Local cultural events calendar
https://ladecadanse.darksite.ch
GNU Affero General Public License v3.0
22 stars 6 forks source link
event-calendar php

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

La décadanse - accueil

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 :

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

Manuelle

  1. cloner la branche master
  2. composer install
  3. base de données
    1. créer une base de données avec COLLATE 'utf8mb4_unicode_ci' par ex.
      CREATE DATABASE `ladecadanse` /*!40100 COLLATE 'utf8mb4_unicode_ci' */;
    2. 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';
    3. importer dans la base de données resources/ladecadanse.sql (la structure, et les données utiles pour la table localite)
    4. 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');
  4. copier app/env_model.php vers app/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

  1. installer git-ftp
  2. 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

  1. premier envoi des fichiers
    $ git ftp init -s prod
  2. 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

Pour contribuer au travail le plus important actuellement pour La décadanse, consultez le projet de modernisation.

Si vous ne connaissez pas encore bien le code de cette application, vous pouvez commencer par une Good first issue

Les Pull requests sont les bienvenues. Pour les propositions de changements majeurs, veuillez d'abord ouvrir une Issue pour discuter de ce que vous souhaitez changer. En cas de doutes sur les spécifications et/ou la conception d'Issues existantes, vous êtes encouragé à les commenter.

Contact

Michel Gaudry - michel@ladecadanse.ch

GitHub La décadanse

Licence

This work is licensed under AGPL-3.0-or-later