137 lines
3.9 KiB
Markdown
137 lines
3.9 KiB
Markdown
|
||
---
|
||
|
||
# TheAfriForge
|
||
|
||
**TheAfriForge** est un site statique multilingue (Français/Anglais) construit avec Hugo, dédié à la valorisation des initiatives africaines, à la transparence et à la collaboration.
|
||
|
||
## 🌍 Présentation
|
||
|
||
- **Site principal** : [theafriforge.org](https://theafriforge.org/)
|
||
- **Organisation** : TheAfriForge
|
||
- **Langues** : Français (par défaut), Anglais (`/en/`)
|
||
- **Code source** : [GitForge](https://gitforge.africa/TheAfriForge/website.git)
|
||
- **Contact** : [@theafriforge](https://twitter.com/theafriforge)
|
||
|
||
## 🚀 Prérequis
|
||
|
||
- [Hugo Extended](https://gohugo.io/getting-started/installing/) (version récente recommandée)
|
||
- Git
|
||
- (Optionnel) Python 3 ou Node.js pour tester la build
|
||
|
||
## 🔧 Installation & Lancement local
|
||
|
||
```bash
|
||
git clone https://gitforge.africa/TheAfriForge/website.git
|
||
cd website
|
||
hugo server --config ./hugo.toml -D
|
||
```
|
||
|
||
## ⚙️ Configuration de l'environnement
|
||
|
||
Avant de lancer le projet, copie le fichier `.env.example` en `.env` et adapte les variables à ton contexte :
|
||
|
||
```bash
|
||
cp .env.example .env
|
||
# puis édite .env selon tes besoins
|
||
```
|
||
|
||
Exemple de variables (remplace par tes propres valeurs) :
|
||
|
||
```env
|
||
# Endpoint du formulaire d’adhésion
|
||
HUGO_MEMBERSHIP_FORM_ACTION=https://exemple-endpoint
|
||
|
||
# Formbricks SDK (recommandé)
|
||
HUGO_FORMBRICKS_API_HOST=https://exemple-formbricks
|
||
HUGO_FORMBRICKS_ENV_ID=xxxxxxx
|
||
HUGO_FORMBRICKS_EVENT=membership_form_submitted
|
||
HUGO_FORMBRICKS_SDK_URL=https://exemple-formbricks/js/formbricks.umd.cjs
|
||
|
||
# Redirection après succès (optionnel)
|
||
HUGO_MEMBERSHIP_FORM_SUCCESS_PATH=/chemin-de-redirection
|
||
```
|
||
## 🐳 Utilisation avec Docker
|
||
|
||
Pour lancer le site localement avec Docker :
|
||
|
||
```bash
|
||
docker build -t theafriforge .
|
||
docker run -p 1313:1313 theafriforge
|
||
```
|
||
|
||
Le site sera accessible sur [http://localhost:1313/](http://localhost:1313/).
|
||
|
||
Pour la production, adapte la commande de build selon tes besoins (voir le Dockerfile).
|
||
|
||
- Accès local : [http://localhost:1313/](http://localhost:1313/) (FR), [http://localhost:1313/en/](http://localhost:1313/en/) (EN)
|
||
- L’option `-D` affiche aussi les contenus en brouillon.
|
||
|
||
## 🏗️ Structure du projet
|
||
|
||
- `content/fr/` et `content/en/` : Contenus en français et anglais
|
||
- `layouts/` : Templates Hugo
|
||
- `static/` : Fichiers statiques (images, etc.)
|
||
- `public/` : Build de production générée
|
||
- `hugo.toml` : Configuration principale
|
||
|
||
## 🛠️ Commandes utiles
|
||
|
||
- Build de production :
|
||
```bash
|
||
hugo --config ./hugo.toml --environment production --minify
|
||
```
|
||
- Nettoyage du cache Hugo :
|
||
```bash
|
||
rm -rf resources/_gen
|
||
```
|
||
- Forcer un autre port local :
|
||
```bash
|
||
hugo server --config ./hugo.toml -D --port 1314
|
||
```
|
||
|
||
## 🐞 Dépannage
|
||
|
||
- Si `hugo server` retourne le code 255 :
|
||
- Arrêter les processus Hugo : `pkill -f "hugo server" || true`
|
||
- Supprimer `.hugo_build.lock` : `rm -f .hugo_build.lock`
|
||
- Relancer le serveur.
|
||
|
||
## 🚢 Déploiement
|
||
|
||
### Option 1 : VPS + Nginx
|
||
|
||
1. Générer la build :
|
||
```bash
|
||
hugo --config ./hugo.toml --environment production --minify
|
||
```
|
||
2. Copier le dossier `public/` sur le serveur :
|
||
```bash
|
||
rsync -avz --delete public/ user@serveur:/var/www/theafriforge/
|
||
```
|
||
3. Configurer Nginx (voir exemple ci-dessous) :
|
||
```nginx
|
||
server {
|
||
listen 80;
|
||
server_name theafriforge.org www.theafriforge.org;
|
||
|
||
root /var/www/theafriforge;
|
||
index index.html;
|
||
|
||
location / {
|
||
try_files $uri $uri/ =404;
|
||
}
|
||
}
|
||
```
|
||
4. Activer HTTPS (Certbot recommandé).
|
||
|
||
### Option 2 : Netlify / Cloudflare Pages / Vercel
|
||
|
||
- Build command : `hugo --config ./hugo.toml --environment production --minify`
|
||
- Output/Publish directory : `public`
|
||
- Sélectionner Hugo Extended si nécessaire.
|
||
|
||
## 📄 Licence
|
||
|
||
Ce projet est open source, voir le dépôt pour plus d’informations.
|
||
server_name theafriforge.org www.theafriforge.org;
|