diff --git a/.gitea/.gitkeep b/.gitea/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/.gitea/CODEOWNERS b/.gitea/CODEOWNERS new file mode 100644 index 0000000..2cb0c4e --- /dev/null +++ b/.gitea/CODEOWNERS @@ -0,0 +1 @@ +* contact@e-cosplay.fr diff --git a/README.md b/README.md index 55c653e..04982b8 100644 --- a/README.md +++ b/README.md @@ -1,94 +1,31 @@ -# E-Cosplay Ticket +# E-Ticket -Système de billetterie professionnelle pour associations cosplay. Génération, scan et contrôle de tickets pour événements. - -## Fonctionnalités - -- **Génération de tickets** — Création de billets avec QR codes uniques pour chaque participant -- **Scan & Contrôle** — Vérification des tickets par scan QR à l'entrée de l'événement -- **Gestion des événements** — Création et configuration d'événements (date, lieu, capacité, tarifs) -- **Gestion des participants** — Suivi des inscriptions et des présences -- **SEO** — Sitemap XML, métadonnées Open Graph, données structurées (JSON-LD) pour le référencement des événements -- **Notifications** — Envoi des tickets par email avec confirmation de commande -- **Tableau de bord** — Statistiques en temps réel (ventes, entrées, taux de remplissage) +Plateforme destinée aux associations pour la vente de tickets événementiels, la réservation de tables, l'organisation de brocantes et le vote en ligne. ## Stack technique -| Composant | Technologie | -|-----------|-------------| -| Framework | Symfony 8.0 | -| PHP | >= 8.4 | -| Base de données | PostgreSQL 16 | -| ORM | Doctrine 3.6 | -| Frontend | Twig + Stimulus 3.2 + Turbo | -| Assets | Asset Mapper (sans build) | -| PDF | Dompdf 3.1 | -| QR Code | endroid/qr-code 6.1 | -| Emails | Symfony Mailer | -| File d'attente | Symfony Messenger + Redis | -| Tests | PHPUnit 13 | +- Symfony 8 +- PHP 8.4 +- PostgreSQL +- Redis +- Messenger +- Amazon SES +- Cloudflare ## Prérequis - PHP 8.4+ -- PostgreSQL 16 -- Redis 7+ - Composer -- Symfony CLI (recommandé) +- Symfony CLI ## Installation ```bash -# Cloner le dépôt -git clone https://github.com/your-org/e-cosplay-ticket.git -cd e-cosplay-ticket - -# Installer les dépendances composer install +``` -# Configurer l'environnement -cp .env .env.local -# Éditer .env.local avec vos paramètres (DATABASE_URL, MAILER_DSN, etc.) +## Lancement -# Créer la base de données et exécuter les migrations -php bin/console doctrine:database:create -php bin/console doctrine:migrations:migrate - -# Lancer le serveur de développement +```bash symfony server:start ``` - -## Docker (développement) - -```bash -docker compose up -d -``` - -Services inclus : -- **PostgreSQL 16** — port 5432 -- **Redis 7** — port 6379 (transport Messenger) -- **Mailpit** — port 8025 (interface web pour les emails) - -## Structure du projet - -``` -src/ -├── Controller/ # Contrôleurs HTTP -├── Entity/ # Entités Doctrine (Ticket, Event, User…) -└── Repository/ # Repositories Doctrine -templates/ # Templates Twig -assets/ # JS (Stimulus) & CSS -config/ # Configuration Symfony -migrations/ # Migrations Doctrine -tests/ # Tests PHPUnit -``` - -## Tests - -```bash -php bin/phpunit -``` - -## Licence - -Projet privé — Tous droits réservés. diff --git a/ansible/.gitkeep b/ansible/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/ansible/hosts.ini b/ansible/hosts.ini new file mode 100644 index 0000000..cfc0775 --- /dev/null +++ b/ansible/hosts.ini @@ -0,0 +1,5 @@ +[production] +ticket.e-cosplay.fr ansible_user=bot + +[production:vars] +deploy_path=/var/www/e-ticket/ diff --git a/assets/app.scss b/assets/app.scss index e84b7ad..9f687da 100644 --- a/assets/app.scss +++ b/assets/app.scss @@ -1,30 +1,3 @@ @import "tailwindcss"; @import url('https://fonts.googleapis.com/css2?family=Intel+One+Mono:ital,wght@0,300..700;1,300..700&display=swap'); -.bg-op { - background: rgba(0,0,0,0.5); - backdrop-filter: blur(5px); -} - -.epage{ - color: orangered; -} - -#userMenuDesktop { - margin-top: -4px; /* Remonte légèrement le menu pour toucher le bouton */ - padding-top: 10px; /* Ajoute du padding interne pour garder la zone réactive */ -} - -@media (max-width: 764px) { - .list { - display: block !important; - .listitem{ - width: 100% !important; - margin-bottom: 1rem !important; - } - } -} -#join_role { - display: flex; - flex-direction: row; -} diff --git a/docker-compose-dev.yml b/docker-compose-dev.yml index 810d9dd..3a3ed6c 100644 --- a/docker-compose-dev.yml +++ b/docker-compose-dev.yml @@ -46,6 +46,17 @@ services: timeout: 5s retries: 5 + caddy: + image: caddy:2-alpine + container_name: e-ticket_caddy + ports: + - "8000:80" + volumes: + - ./docker/caddy/Caddyfile:/etc/caddy/Caddyfile + - .:/app + depends_on: + - php + messenger: build: context: ./docker/php/dev diff --git a/templates/account/index.html.twig b/templates/account/index.html.twig deleted file mode 100644 index 046c57a..0000000 --- a/templates/account/index.html.twig +++ /dev/null @@ -1,36 +0,0 @@ -{% extends 'base.html.twig' %} - -{% block title %}Mon compte - E-Cosplay Ticket{% endblock %} - -{% block body %} -
Prénom
-{{ app.user.firstName }}
-Nom
-{{ app.user.lastName }}
-{{ app.user.email }}
-Membre depuis
-{{ app.user.createdAt|date('d/m/Y') }}
-Votre inscription à {{ event }} est confirmée.
-Vous recevrez votre ticket avec le QR code par email avant l'événement.
-Si vous avez des questions, n'hésitez pas à nous contacter.
-À bientôt !
-{% endblock %} diff --git a/templates/emails/ticket.html.twig b/templates/emails/ticket.html.twig deleted file mode 100644 index dbf0261..0000000 --- a/templates/emails/ticket.html.twig +++ /dev/null @@ -1,14 +0,0 @@ -{% extends 'emails/base.html.twig' %} - -{% block content %} -Votre ticket pour {{ event }} est prêt !
-Présentez le QR code ci-dessous à l'entrée de l'événement :
- -Conservez bien cet email, il constitue votre preuve d'inscription.
-À bientôt !
-{% endblock %} diff --git a/templates/home/index.html.twig b/templates/home/index.html.twig deleted file mode 100644 index e5311e9..0000000 --- a/templates/home/index.html.twig +++ /dev/null @@ -1,105 +0,0 @@ -{% extends 'base.html.twig' %} - -{% block title %}Accueil - E-Cosplay Ticket{% endblock %} -{% block meta_description %}Billetterie officielle E-Cosplay. Achetez vos tickets en ligne, recevez votre QR code et présentez-le à l'entrée.{% endblock %} - -{% block body %} - {# ── HERO ── #} -- Achetez vos tickets en ligne, recevez votre QR code et présentez-le à l'entrée. -
- - -Sélectionnez votre événement et le nombre de tickets souhaités.
-Paiement sécurisé par carte bancaire via Stripe.
-Recevez votre QR code par email signé et présentez-le à l'entrée.
-// Prochainement
-Aucun événement pour le moment
-E-Cosplay Ticket est une plateforme de billetterie en ligne destinée aux associations, proposée à tarifs réduits. Les présentes CGU régissent l'utilisation de cette plateforme, éditée par l'association E-Cosplay.
- -La plateforme est accessible gratuitement à tout utilisateur disposant d'un accès internet. L'achat de tickets nécessite la création d'un compte.
- -L'association E-Cosplay s'efforce d'assurer la disponibilité du service mais ne saurait être tenue responsable en cas d'interruption temporaire.
- -Voir notre Politique RGPD.
-{% endblock %} diff --git a/templates/legal/cgv.html.twig b/templates/legal/cgv.html.twig deleted file mode 100644 index cd22393..0000000 --- a/templates/legal/cgv.html.twig +++ /dev/null @@ -1,18 +0,0 @@ -{% extends 'legal/_layout.html.twig' %} - -{% block title %}CGV - E-Cosplay Ticket{% endblock %} -{% block legal_title %}Conditions Générales de Vente{% endblock %} - -{% block legal_content %} -Les présentes CGV régissent la vente de tickets pour les événements organisés par l'association E-Cosplay via la plateforme E-Cosplay Ticket.
- -Les prix sont indiqués en euros TTC. Le paiement est effectué en ligne par carte bancaire via la plateforme sécurisée Stripe.
- -Après paiement, un ticket numérique avec QR code unique est envoyé par email. Ce ticket est nominatif et non cessible sauf accord de l'organisateur.
- -Toute demande d'annulation doit être adressée à contact@e-cosplay.fr. Les remboursements sont étudiés au cas par cas selon les conditions de l'événement.
-{% endblock %} diff --git a/templates/legal/cookies.html.twig b/templates/legal/cookies.html.twig deleted file mode 100644 index ab55990..0000000 --- a/templates/legal/cookies.html.twig +++ /dev/null @@ -1,18 +0,0 @@ -{% extends 'legal/_layout.html.twig' %} - -{% block title %}Politique de Cookies - E-Cosplay Ticket{% endblock %} -{% block legal_title %}Politique de Cookies{% endblock %} - -{% block legal_content %} -Un cookie est un petit fichier texte déposé sur votre navigateur lors de votre visite. Il permet de mémoriser vos préférences et d'assurer le bon fonctionnement du site.
- -Vous pouvez configurer votre navigateur pour refuser les cookies. La désactivation des cookies essentiels peut affecter le fonctionnement du site.
-{% endblock %} diff --git a/templates/legal/hosting.html.twig b/templates/legal/hosting.html.twig deleted file mode 100644 index 4a9b24d..0000000 --- a/templates/legal/hosting.html.twig +++ /dev/null @@ -1,14 +0,0 @@ -{% extends 'legal/_layout.html.twig' %} - -{% block title %}Hébergement - E-Cosplay Ticket{% endblock %} -{% block legal_title %}Hébergement{% endblock %} - -{% block legal_content %} -Ce site est hébergé par :
- SARL SITECONSEIL
- www.siteconseil.fr
Les serveurs sont situés en France et conformes aux exigences du RGPD en matière de protection des données personnelles.
-{% endblock %} diff --git a/templates/legal/mentions_legales.html.twig b/templates/legal/mentions_legales.html.twig deleted file mode 100644 index d57b23b..0000000 --- a/templates/legal/mentions_legales.html.twig +++ /dev/null @@ -1,151 +0,0 @@ -{% extends 'base.html.twig' %} - -{% block title %}Mentions Légales - E-Cosplay Ticket{% endblock %} -{% block meta_description %}Mentions Légales de la plateforme E-Cosplay Ticket{% endblock %} - -{% block structured_data %} - {{ parent() }} - -{% endblock %} - -{% block body %} -E-Cosplay Ticket est une plateforme de billetterie en ligne destinée aux associations, proposée à tarifs réduits. Elle a pour objectif de faciliter la gestion, la génération et le contrôle de tickets pour les événements associatifs.
-Nom de l'Association : E-Cosplay
-Numéro RNA : W022006988
-SIREN : 943121517
-Adresse du siège social : 42 rue de Saint-Quentin, 02800 Beautor
-Directeur de la publication :
- Serreau Jovann -Directeur en charge de la gestion de la billetterie
- contact@e-cosplay.fr -Google Cloud Platform
-1600 Amphitheatre Parkway, Mountain View, CA 94043, États-Unis (Siège social)
-Google Cloud Netherlands B.V., O'Mahony's Corner, Block R, Spencer Dock, Dublin 1, Irlande.
-L'association E-Cosplay est propriétaire des droits de propriété intellectuelle ou détient les droits d'usage sur tous les éléments accessibles sur le site.
-Toute reproduction, représentation, modification, publication, adaptation de tout ou partie des éléments du site, quel que soit le moyen ou le procédé utilisé, est interdite, sauf autorisation écrite préalable de l'association E-Cosplay.
-Conformément au Règlement Général sur la Protection des Données (RGPD), l'association E-Cosplay s'engage à protéger la confidentialité des données personnelles collectées. Pour toute information ou exercice de vos droits Informatique et Libertés sur les traitements de données personnelles, vous pouvez contacter notre Délégué à la Protection des Données (DPO).
- - Contact DPO - -Identifiant DPO
-DPO-167945
-Tout litige en relation avec l'utilisation du site E-Cosplay Ticket est soumis au droit français. Il est fait attribution exclusive de juridiction aux tribunaux compétents de Laon.
-Association E-Cosplay
- 42 Rue de Saint-Quentin, 02800 Beautor, France
- Email : contact@e-cosplay.fr
Les données sont collectées pour la gestion des inscriptions, la délivrance des tickets, l'envoi de communications liées aux événements et le respect de nos obligations légales.
- -Les données sont conservées pendant la durée nécessaire aux finalités du traitement, puis supprimées conformément à la réglementation en vigueur.
- -Conformément au RGPD, vous disposez d'un droit d'accès, de rectification, de suppression et de portabilité de vos données. Vous pouvez exercer ces droits en contactant contact@e-cosplay.fr.
- -Vous pouvez vous désinscrire de nos communications à tout moment via le lien présent dans chaque email ou en nous contactant directement.
-{% endblock %} diff --git a/templates/security/login.html.twig b/templates/security/login.html.twig deleted file mode 100644 index 20c31b9..0000000 --- a/templates/security/login.html.twig +++ /dev/null @@ -1,40 +0,0 @@ -{% extends 'base.html.twig' %} - -{% block title %}Connexion - E-Cosplay Ticket{% endblock %} - -{% block body %} -L'adresse {{ email }} ne recevra plus nos emails.
-Vous ne souhaitez plus recevoir nos emails à l'adresse {{ email }} ?
- -