Skip to content

Commit 04bc0ff

Browse files
Developerrvailleux
authored andcommitted
Amélioration complète du README.md
- Suppression du titre "# README" redondant - Ajout d'une description claire du projet - Ajout des prérequis (Ruby, Bundler) - Instructions d'installation en étapes numérotées - Correction de la description de _config.yml (suppression de la mention Hugo) - Explication claire de l'architecture des données (index.md vs _data/commons.yml) - Ajout d'une section "Personnaliser le contenu" avec exemples pour : - Ajouter un intervenant - Ajouter un créneau à l'agenda - Activer/désactiver une section - Ajout d'une section déploiement (GitHub Actions) - Ajout d'un arbre de structure du projet
1 parent 4f3210f commit 04bc0ff

1 file changed

Lines changed: 151 additions & 53 deletions

File tree

README.md

Lines changed: 151 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,76 +1,174 @@
1-
# README
2-
3-
# Organisation du dépôt DevFest Perros-Guirec
4-
5-
Ce dépôt contient le site web de la conférence DevFest Perros-Guirec, construit avec Jekyll. Voici les principaux dossiers et fichiers pour faciliter la prise en main :
6-
7-
## Structure principale
8-
9-
- **index.md** : Page d’accueil, contient la configuration des intervenants, agenda, boutique, etc.
10-
- **_config.yml** : Fichier de configuration principal pour Jekyll ou Hugo, définissant l’URL du site, le thème, les paramètres de la conférence (nom, date, lieu, prix), les sections actives, les sponsors, partenaires et le programme. Modifie ce fichier pour personnaliser le contenu et la structure du site.
11-
- **Gemfile / Gemfile.lock** : Liste et verrouille les dépendances Ruby nécessaires au fonctionnement de Jekyll. Assure la cohérence de l’environnement de développement et facilite l’installation des plugins.
12-
- **_includes/** : Fragments HTML réutilisables (header, footer, agenda, boutons, etc.).
13-
- **_layouts/** : Templates de pages (sponsors, home, etc.).
14-
- **_data/** : Fichiers YAML pour les données partagées (ex : partenaires).
15-
- **_sass/** : Fichiers de styles Sass pour la personnalisation CSS.
16-
- **assets/** : Images, feuilles de style, scripts JS, et ressources statiques pour chaque édition.
17-
- **archives.md** : Page d’archives des éditions précédentes.
18-
- **sponsors.md** : Page dédiée au sponsoring.
19-
- **about_ca.md** : Page “À propos” de l’association Code d’Armor.
20-
21-
## Données
22-
Les données sont réparties entre config.yml et /_data/commons.yml
23-
24-
### Sections de données dans `config.yml`
25-
26-
- **params**
27-
- Conference info (Name, Description, Date, Price, Venue, Address, City, State, Images, GoogleMapsKey)
28-
- Sections (about, location, speakers, schedule, sponsors, partners, contact)
29-
- Titles (about, location, speakers, schedule, sponsors, partners, contact)
30-
- CallToAction
31-
- ForkButton
32-
- Sponsors
33-
- Partners
34-
- Schedule
35-
36-
### Sections de données dans `_data/commons.yml`
37-
- **logo_url**
38-
- **menu**
39-
- **Newsletter**
40-
- **Sponsors**
41-
- logos_basic
42-
- logos_advanced
1+
# DevFest Perros-Guirec
432

3+
Site web de la conférence **DevFest Perros-Guirec**, organisée par l'association Code d'Armor. Ce site est construit avec [Jekyll](https://jekyllrb.com/), un générateur de sites statiques en Ruby.
444

45-
## Démarrage rapide
46-
47-
1. Installe les dépendances Ruby et Jekyll (voir [README.md](README.md)).
48-
2. Lance le serveur local avec `bundle exec jekyll serve --trace`.
49-
3. Modifie le contenu dans les fichiers markdown ou HTML selon la section du site à mettre à jour.
5+
## Prérequis
506

51-
## Bonnes pratiques
7+
- Ruby 2.5 ou supérieur
8+
- Bundler (gestionnaire de dépendances Ruby)
529

53-
- Utilise les fragments dans `_includes/` pour éviter la duplication de code HTML.
54-
- Les données dynamiques (agenda, intervenants, partenaires) sont centralisées dans `index.md` ou `_data/`.
55-
- Les ressources statiques (images, CSS, JS) sont rangées dans `assets/` par année ou usage.
10+
## Installation
5611

57-
## Installer l'environnement
12+
### 1. Installer Ruby et les dépendances système
5813

5914
```shell
6015
apt-get install ruby-full build-essential zlib1g-dev
16+
```
17+
18+
### 2. Configurer l'environnement Ruby
6119

20+
```shell
6221
echo '# Install Ruby Gems to ~/gems' >> ~/.bashrc
6322
echo 'export GEM_HOME="$HOME/gems"' >> ~/.bashrc
6423
echo 'export PATH="$HOME/gems/bin:$PATH"' >> ~/.bashrc
6524
source ~/.bashrc
25+
```
26+
27+
### 3. Installer Jekyll et les dépendances du projet
6628

29+
```shell
6730
gem install jekyll bundler
6831
bundle install
6932
```
7033

71-
## Démarrer une instance locale
34+
## Démarrage rapide
35+
36+
Lancer le serveur de développement local :
7237

7338
```shell
7439
bundle exec jekyll serve --trace
7540
```
7641

42+
Le site est accessible à l'adresse http://localhost:4000
43+
44+
## Structure du projet
45+
46+
```
47+
.
48+
├── index.md # Page d'accueil (configuration principale)
49+
├── _config.yml # Configuration Jekyll
50+
├── Gemfile # Dépendances Ruby
51+
├── _includes/ # Fragments HTML réutilisables
52+
│ ├── header.html
53+
│ ├── footer.html
54+
│ ├── agenda.html
55+
│ └── speakers.html
56+
├── _layouts/ # Templates de pages
57+
│ ├── home_conference.html
58+
│ └── sponsors.html
59+
├── _data/
60+
│ └── commons.yml # Données partagées (menu, sponsors)
61+
├── _sass/ # Styles SCSS
62+
├── assets/ # Ressources statiques
63+
│ ├── 2025/ # Édition 2025
64+
│ │ └── photos_speakers/
65+
│ └── img/
66+
│ └── logos_sponsors/
67+
├── archives.md # Page d'archives
68+
├── sponsors.md # Page sponsoring
69+
└── about_ca.md # Page association Code d'Armor
70+
```
71+
72+
## Architecture des données
73+
74+
Le contenu du site est réparti entre deux sources principales :
75+
76+
### 1. `index.md` (Front Matter YAML)
77+
78+
Contient les données spécifiques à l'édition courante :
79+
- **Speakers** : Liste des intervenants avec bios et photos
80+
- **Agenda** : Programme, créneaux horaires et descriptions
81+
- **Carrousel_Slides** : Diapositives de la bannière d'accueil
82+
- **Details** : Informations de l'événement (date, lieu, etc.)
83+
- **Sponsoring** : Section partenaires
84+
- **Register** : Boutons d'inscription/billetterie
85+
- **Shop** : Section boutique (goodies)
86+
- **Gallery** : Galerie photos
87+
88+
Les sections sont conditionnellement affichées dans le layout. Pour masquer une section, il suffit de la commenter ou de la supprimer du front matter.
89+
90+
### 2. `_data/commons.yml`
91+
92+
Contient les données partagées entre les pages :
93+
- **menu** : Liens de navigation
94+
- **Newsletter** : Configuration de l'inscription newsletter
95+
- **Sponsors** : Logos des sponsors (utilisés dans le footer et autres pages)
96+
97+
## Personnaliser le contenu
98+
99+
### Ajouter un intervenant
100+
101+
Dans `index.md`, ajouter sous `Speakers.list` :
102+
103+
```yaml
104+
Speakers:
105+
list:
106+
- name: "Prénom Nom"
107+
id: "nom_unique"
108+
organization: "Entreprise"
109+
photo_url: "assets/2025/photos_speakers/nom.jpg"
110+
bio: >
111+
Description de l'intervenant...
112+
social_links:
113+
- type: linkedin
114+
url: https://linkedin.com/in/...
115+
- type: twitter
116+
url: https://twitter.com/...
117+
```
118+
119+
### Ajouter un créneau à l'agenda
120+
121+
Dans `index.md`, ajouter sous `Agenda.schedule` :
122+
123+
```yaml
124+
Agenda:
125+
schedule:
126+
- slot_begin_time: "09:00"
127+
slot_type: talk # talk, quickie, ou break
128+
title: "Titre de la présentation"
129+
speakers:
130+
- id: nom_unique # Référence le Speakers.list
131+
description: >
132+
Description du talk...
133+
room: "Salle principale"
134+
```
135+
136+
### Activer/désactiver une section
137+
138+
Pour masquer une section (par exemple quand le CFP est fermé), commentez-la dans `index.md` :
139+
140+
```yaml
141+
# CallForProposal:
142+
# title: "Call for Proposal"
143+
# ...
144+
```
145+
146+
Ou supprimez-la complètement. Le layout vérifie la présence de la section avant de l'afficher.
147+
148+
## Déploiement
149+
150+
Le site est déployé automatiquement sur GitHub Pages via GitHub Actions (voir `.github/workflows/jekyll.yml`).
151+
152+
À chaque push sur la branche `master`, le workflow :
153+
1. Construit le site avec Jekyll
154+
2. Déploie le résultat sur GitHub Pages
155+
156+
### Build manuel
157+
158+
Pour générer le site localement (dans `_site/`) :
159+
160+
```shell
161+
# Build de développement
162+
bundle exec jekyll build
163+
164+
# Build de production
165+
JEKYLL_ENV=production bundle exec jekyll build
166+
```
167+
168+
## Bonnes pratiques
169+
170+
- Les photos des speakers doivent être placées dans `assets/2025/photos_speakers/`
171+
- Les logos des sponsors vont dans `assets/img/logos_sponsors/`
172+
- Les éditions précédentes sont archivées dans `assets/YYYY/`
173+
- Utilisez les fragments dans `_includes/` pour éviter la duplication de code HTML
174+
- Les données dynamiques (agenda, intervenants) sont centralisées dans `index.md`

0 commit comments

Comments
 (0)