Skip to content

Commit 5f9490e

Browse files
authored
Merge pull request #149 from RustyRory/feat/148-site-visiteur
feat(website): fixes #148 - site web complet
2 parents 3474692 + 73d26ee commit 5f9490e

157 files changed

Lines changed: 19358 additions & 88711 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/commit-message.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
git fetch origin $BASE_REF
2525
2626
# Commits avec numéro d'issue (feat, fix, hotfix, refactor, test)
27-
REGEX_ISSUE="^(feat|fix|hotfix|refactor|test)\([a-z0-9_-]+\): Fixes #[0-9]+ - .+"
27+
REGEX_ISSUE="^(feat|fix|hotfix|refactor|test)\([a-z0-9_-]+\): [Ff]ixes #[0-9]+ - .+"
2828
# Commits sans numéro d'issue autorisés (chore, docs, ci, fix(ci))
2929
REGEX_NO_ISSUE="^(chore|docs|ci|fix)\(ci\): .+|^(chore|docs)\([a-z0-9_-]+\): .+"
3030

.github/workflows/ticket.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
fi
2626
2727
# Regex pour le titre PR : type(nom): Fixes #<num> - message
28-
TITLE_REGEX='^(feat|feature|fix|docs|chore|refactor|test|hotfix)\([a-zA-Z0-9_-]+\): Fixes #[0-9]+ - .+'
28+
TITLE_REGEX='^(feat|feature|fix|docs|chore|refactor|test|hotfix)\([a-zA-Z0-9_-]+\): [Ff]ixes #[0-9]+ - .+'
2929
if [[ "$PR_TITLE" =~ $TITLE_REGEX ]]; then
3030
echo "✅ Titre de PR valide avec référence au ticket"
3131
exit 0

CHANGELOG.md

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,94 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2424
### Supprimé
2525

2626
-
27+
28+
---
29+
30+
## [0.4.0] - 2026-04-29
31+
32+
### Ajouté
33+
34+
- Site visiteur
35+
- Page d'accueil
36+
- Section « À la une » : carousel des articles marqués à la une, 3 articles par page, navigation par points et flèches
37+
- Section partenaires : carousel des partenaires actifs (logo cliquable, 4 par page) avec navigation
38+
- Section « Prêt à nous rejoindre ? » : affichage du lien d'inscription en ligne si renseigné, sinon affichage du téléphone et de l'e-mail du club pour contact direct
39+
- Page Actualités (`/actualites`)
40+
- Onglet Articles en premier (anciennement Calendrier)
41+
- Calendrier : nouvelle vue par défaut « Tous les événements à venir » (matchs + événements club mélangés, ordre chronologique croissant)
42+
- Calendrier : vue dédiée « Événements du club » (loto, AG, tournois, partenaires…) sans les matchs
43+
- Calendrier : badge « Match » sur les cartes de match pour distinguer des événements club
44+
- Calendrier : libellés des vues matchs clarifiés (« Matchs domicile à venir », « Matchs extérieur à venir »)
45+
- Calendrier : filtre équipe masqué sur les vues sans matchs
46+
- Page Contact (`/contact`)
47+
- E-mail, téléphone et adresse intégrés directement dans la card identité du club (cliquables : `mailto:`, `tel:`, Google Maps)
48+
- Suppression des pills de coordonnées redondantes
49+
- Backend : route `/api/events` — gestion des événements du club (CRUD complet)
50+
- Backend : modèle `Event` (titre, type, description, date, dateFin, lieu, équipe liée, visibilité publique)
51+
- Backend : route `/api/cup-phases` enregistrée dans `app.js`
52+
- Backend : `Album.teamIds` — association multi-équipes (tableau d'ObjectId au lieu d'un seul)
53+
- Backend : `News.teamId` — lien optionnel d'un article vers une équipe
54+
- Frontend : route API Next.js `/api/scrape-cup` — scraping serveur des phases de coupe FFVB (pas de CORS, cache 30 min)
55+
56+
- Dashboard administrateur
57+
- Navigation sidebar restructurée en groupes : « Site public », « Sportif », « Administration »
58+
- Page Événements (`/admin/events`) : CRUD complet, filtre par type (loto, AG, tournoi, partenaire, équipe, autre), bascule public/privé, layout mobile (cards) et desktop (tableau)
59+
- Page Albums & Médias (`/admin/albums`) : grille d'albums, upload de photo de couverture, panneau médias (upload multi-fichiers, suppression au survol), formulaire album avec sélection multi-équipes
60+
- Page Dashboard (`/admin`) : accès rapides reorganisés par groupe, nouvelles cards de stats (événements à venir, albums photo)
61+
- Stats API (`/api/stats`) : ajout de `totalEvents`, `upcomingEvents`, `totalAlbums`
62+
63+
### Changement
64+
65+
- Page d'accueil : section partenaires migrée vers données réelles (API `/api/partners`)
66+
- Page d'accueil : section actualités migrée vers données réelles (articles `isFeatured` uniquement)
67+
- Page d'accueil : CTA « Rejoindre » adapté selon présence ou non du lien d'inscription
68+
- Page Club (`/club`) : suppression du badge « Notre club » au-dessus du titre dans le hero
69+
- Page Actualités : onglet Articles affiché en premier
70+
- Page Contact : layout allégé, coordonnées consolidées dans la card club
71+
- Dashboard admin : `nav-main.tsx` refactorisé pour accepter des groupes (`NavGroup[]`) avec labels optionnels
72+
73+
### Supprimé
74+
75+
- Page Contact : card SportEasy
76+
- Page Contact : section coordonnées en pills (fusionnée dans la card identité)
77+
78+
---
79+
80+
## [0.3.0] - 2026-04-09
81+
82+
### Ajouté
83+
84+
- Frontend
85+
- Installation Next.js (TypeScript, App Router, Tailwind CSS v4, Shadcn/ui)
86+
- Configuration du helper API centralisé (`src/lib/api.ts`)
87+
- Configuration des routes proxy Next.js (`/api/*`)
88+
- Middleware de protection des routes `/admin/*`
89+
- Pages d'authentification
90+
- Login
91+
- Register
92+
- Vérification d'email (`/verify-email`)
93+
- Mot de passe oublié (`/forgot-password`)
94+
- Réinitialisation du mot de passe (`/reset-password`)
95+
- Dashboard administrateur
96+
- Layout admin (sidebar + header)
97+
- Page d'accueil du dashboard (cartes de stats, déclenchement scraping avec logs)
98+
- Gestion du club (`/admin/club`)
99+
- Gestion des saisons (`/admin/seasons`)
100+
- Gestion des équipes par saison (`/admin/seasons/[seasonId]/teams`)
101+
- Gestion des membres (`/admin/members`)
102+
- Gestion des actualités (`/admin/news`)
103+
- Gestion des matchs (`/admin/matches`)
104+
- Gestion des partenaires (`/admin/partners`)
105+
- Gestion des utilisateurs et des rôles (`/admin/users`)
106+
- Composants réutilisables (formulaires CRUD, upload d'image, cartes stats)
107+
108+
### Corrigé
109+
110+
- CI : timeout SSH augmenté à 30 minutes pour le déploiement
111+
- CI : suppression du script `prepare` avant `npm install` dans le build Docker backend
112+
- CI : désactivation de Husky dans le build Docker backend
113+
- CI : remplacement de `docker compose` par `docker-compose` pour compatibilité VPS
114+
27115
---
28116

29117
## [0.2.0] - 2026-02-11

0 commit comments

Comments
 (0)