- Ajout d'une section pour la procédure Git Flow (features, fixes, maintenance, documentation). - Ajout du git clone dans les étapes de démarrage du projet.
134 lines
4.7 KiB
Markdown
134 lines
4.7 KiB
Markdown
|
|
# Plateforme web pour les adhérents KAZ
|
|
|
|
## Objectif
|
|
Cette application web permet aux adhérents de l'association KAZ de gérer leur compte en agrégeant les données des utilisateurs dispersées dans plusieurs outils de l'écosystème.
|
|
|
|
## Fonctionnalités (Version 1)
|
|
- **Connexion sécurisée** : Accès réservé aux adhérents à l'administration.
|
|
- **Visualisation des données** : Affichage des informations personnelles de l'utilisateur.
|
|
- **Modification du profil** : Possibilité de changer l'adresse e-mail de secours.
|
|
|
|
## Architecture technique
|
|
- **Frontend** : [Twig](https://twig.symfony.com/) + [Tailwind CSS](https://tailwindcss.com/)
|
|
- **Backend** : PHP 8.4 / [Symfony](https://symfony.com/)
|
|
- **Base de données** : [PostgreSQL](https://www.postgresql.org/)
|
|
- **Intégration** : Communication via API avec les outils de KAZ (notamment OpenLDAP).
|
|
|
|
Cette base est conçue pour évoluer et intégrer de nouveaux outils et fonctionnalités à l'avenir.
|
|
|
|
## Prérequis
|
|
- **PHP** 8.4
|
|
- **[Composer](https://getcomposer.org/download/)** : (Gestionnaire de dépendances PHP)
|
|
- **[Symfony CLI](https://getcomposer.org/download/)** (Interface en ligne de commande Symfony)
|
|
- **Docker** Permet de lancer les services lié: postgres (base de données), mailpit (serveur de messagerie pour le dev)
|
|
- **IDE recommandé** : PhpStorm ou VSCode
|
|
|
|
Vérifier les prérequis : ```symfony check:requirements```
|
|
|
|
## Normes de développement
|
|
Le projet suit les standards de développement suivants :
|
|
- **[Git Flow](https://git-flow.readthedocs.io/fr/latest/presentation.html)** : Modèle de gestion de branches.
|
|
- **[Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/)** : Norme pour les messages de commit.
|
|
|
|
### Procédure de contribution (Git Flow)
|
|
|
|
Toutes les modifications doivent passer par une branche dédiée avant d'être fusionnées dans la branche principal `main` via une Pull Request (Demande d'ajout).
|
|
|
|
#### Exemple d'ajout d'une fonctionnalité (feature)
|
|
1. **Mise à jour de l'environnement local** :
|
|
```bash
|
|
git checkout main
|
|
git pull origin main
|
|
```
|
|
2. **Création de la branche de fonctionnalité** (préfixe `feat/`) :
|
|
```bash
|
|
git checkout -b feat/nom-de-ma-feature
|
|
```
|
|
3. **Développement et commit** (respectant les Conventional Commits) :
|
|
```bash
|
|
git add .
|
|
git commit -m "feat: ajout de la nouvelle fonctionnalité"
|
|
```
|
|
4. **Publication de la branche** :
|
|
```bash
|
|
git push origin feat/nom-de-ma-feature
|
|
```
|
|
5. **Création de la Pull Request** : Rendez-vous sur Gitea pour ouvrir une PR de `feat/nom-de-ma-feature` vers `main`. Une fois revue et validée, elle sera fusionnée via l'interface.
|
|
|
|
#### Exemple de correction de bug (fix)
|
|
La procédure est identique, mais utilisez le préfixe `fix/` :
|
|
```bash
|
|
git checkout -b fix/nom-du-bug
|
|
# ... corrections ...
|
|
git commit -m "fix: résolution du problème"
|
|
git push origin fix/nom-du-bug
|
|
```
|
|
|
|
Pour les tâches de maintenance ou documentation, utilisez respectivement les préfixes `chore/` ou `docs/`.
|
|
|
|
## Quick start
|
|
|
|
### 1. Clonage du projet
|
|
Clonez le projet en utilisant SSH :
|
|
```bash
|
|
git clone ssh://git@git.kaz.bzh:2202/melvin-leveque/interface-kaznautes.git
|
|
cd interface-kaznautes
|
|
```
|
|
|
|
### 2. Installation des dépendances
|
|
Installez les dépendances avec Composer :
|
|
```bash
|
|
composer install
|
|
```
|
|
|
|
### 3. Configuration de l'environnement
|
|
Copiez le fichier `.env` en `.env.local` et configurez vos accès à la base de données et à l'API :
|
|
```bash
|
|
cp .env .env.local
|
|
```
|
|
|
|
### 4. Base de données
|
|
Créez la base de données et exécutez les migrations :
|
|
```bash
|
|
php bin/console doctrine:database:create
|
|
php bin/console doctrine:migrations:migrate
|
|
```
|
|
|
|
### 5. Installation des assets
|
|
Le projet utilise AssetMapper. Installez les dépendances JS :
|
|
```bash
|
|
php bin/console importmap:install
|
|
```
|
|
|
|
### 6. Lancement du serveur
|
|
Utilisez le serveur Symfony pour lancer le projet localement :
|
|
```bash
|
|
symfony serve -d
|
|
```
|
|
L'application sera accessible sur `https://127.0.0.1:8000`.
|
|
|
|
## Structure des dossiers
|
|
|
|
```
|
|
.
|
|
├── assets/
|
|
│ ├── controllers/ # JS
|
|
│ ├── styles/ # CSS
|
|
│ └── images/ # Images du site
|
|
├── public/ # Fichiers publics directs
|
|
└── templates/
|
|
├── _partials/ # TODO: _navbar.html.twig, _footer.html.twig...
|
|
├── bundles/
|
|
│ └── TwigBundle/
|
|
│ └── Exception/
|
|
│ ├── error404.html.twig
|
|
│ ├── error500.html.twig
|
|
│ └── error.html.twig
|
|
├── user/ # Correspond à UserController
|
|
│ └── index.html.twig
|
|
└── base.html.twig # Layout principal
|
|
```
|
|
|
|
---
|
|
*Projet développé pour KAZ.* |