- README.md : services, projets, liens sociaux, structure, sécurité et copyright 2026 - CHANGELOG.md : ajout d'une section Unreleased (headers HTTP, HTTPS, CSP, FEDIVERSE.OKI, réseaux sociaux, o2switch) - CONTRIBUTING.md : correction des exemples, ajout du filtre CDN et note sécurité - SEO.md : plateformes sociales et checklist HTTPS/hreflang à jour
193 lines
4.2 KiB
Markdown
193 lines
4.2 KiB
Markdown
# Guide de contribution
|
|
|
|
Merci de votre intérêt pour contribuer au site de l'ORGANISATION KA INTERNATIONALE !
|
|
|
|
## Ajouter du contenu
|
|
|
|
### Ajouter un service hébergé
|
|
|
|
Éditez `src/_data/i18n/fr/services.json` (et la version `en/`) :
|
|
|
|
```json
|
|
{
|
|
"name": "NOM_DU_SERVICE",
|
|
"platform": "Nom de la plateforme",
|
|
"description": "Description du service",
|
|
"url": "https://service.o-k-i.net/",
|
|
"linkText": "Accéder à SERVICE"
|
|
}
|
|
```
|
|
|
|
### Ajouter un projet web
|
|
|
|
Éditez `src/_data/i18n/fr/projects.json` (et la version `en/`) :
|
|
|
|
```json
|
|
{
|
|
"name": "NOM.PROJET",
|
|
"icon": "📱",
|
|
"domain": "nom.projet",
|
|
"description": "Description du projet",
|
|
"url": "https://nom.projet/"
|
|
}
|
|
```
|
|
|
|
### Ajouter un client ou partenaire
|
|
|
|
Pour les logos, privilégiez une image locale dans `src/assets/images/` et utilisez le filtre `| cdn` dans les templates. Les URLs distantes fonctionnent mais ne passent pas par le CDN.
|
|
|
|
### Ajouter une valeur
|
|
|
|
Éditez `src/_data/i18n/fr/values.json` (et la version `en/`) :
|
|
|
|
```json
|
|
{
|
|
"icon": "🌟",
|
|
"title": "Titre",
|
|
"description": "Description de la valeur"
|
|
}
|
|
```
|
|
|
|
### Modifier la navigation
|
|
|
|
Éditez `src/_data/i18n/fr/navigation.json` (et la version `en/`) :
|
|
|
|
```json
|
|
{
|
|
"text": "Texte du lien",
|
|
"url": "#section",
|
|
"external": false
|
|
}
|
|
```
|
|
|
|
Pour un lien externe, mettez `"external": true`.
|
|
|
|
### Modifier les informations de contact
|
|
|
|
Les liens de contact sont regroupés par section dans `src/_data/i18n/fr/contact.json` (et la version `en/`). L'icône affichée est déterminée automatiquement à partir du texte du lien (`whatsapp`, `telegram`, `discord`, `labola`, `kontak`/`mail`).
|
|
|
|
```json
|
|
{
|
|
"title": "💬 Communauté",
|
|
"links": [
|
|
{ "text": "Discord", "url": "https://discord.gg/DPvUCA8dD" }
|
|
]
|
|
}
|
|
```
|
|
|
|
## Modifier les styles
|
|
|
|
Les styles sont dans `src/assets/css/styles.css`.
|
|
|
|
### Variables CSS principales
|
|
|
|
```css
|
|
--or-oki: #E8A625;
|
|
--noir-oki: #000000;
|
|
--vert-oki: #00A854;
|
|
--rouge-oki: #ED1C4C;
|
|
--blanc-creme: #F7F7F2;
|
|
--noir-profond: #1A1A1A;
|
|
--gris-sombre: #2A2A2A;
|
|
--or-clair: #F5BD4F;
|
|
--vert-clair: #00C569;
|
|
--rouge-clair: #FF2D5F;
|
|
```
|
|
|
|
## Créer une nouvelle page
|
|
|
|
1. Créez un fichier `.njk` dans `src/` :
|
|
|
|
```njk
|
|
---
|
|
layout: layouts/base.njk
|
|
title: Titre de la page
|
|
description: Description pour le SEO
|
|
---
|
|
|
|
<section>
|
|
<h1>{{ title }}</h1>
|
|
<p>Contenu de votre page</p>
|
|
</section>
|
|
```
|
|
|
|
2. Ajoutez le lien dans `src/_data/i18n/fr/navigation.json` (et `en/`) si nécessaire.
|
|
|
|
3. Mettez à jour `src/sitemap.xml`.
|
|
|
|
4. Reconstruisez le site : `npm run build`.
|
|
|
|
## Modifier un partial
|
|
|
|
Les partials sont dans `src/_includes/partials/` :
|
|
|
|
- `nav.njk` - Navigation
|
|
- `hero.njk` - Section hero (accueil)
|
|
- `services.njk` - Services hébergés
|
|
- `projects.njk` - Projets web
|
|
- `mission.njk` - Mission et valeurs
|
|
- `hosting.njk` - Services d'hébergement
|
|
- `support.njk` - Section dons
|
|
- `clients.njk` - Clients / organisations ayant fait confiance
|
|
- `partners.njk` - Partenaires
|
|
- `faq.njk` - Questions fréquentes
|
|
- `engagement.njk` - Appels à l'action
|
|
- `contact.njk` - Informations de contact
|
|
- `footer.njk` - Pied de page
|
|
|
|
## Workflow de développement
|
|
|
|
1. Créez une branche pour votre fonctionnalité :
|
|
```bash
|
|
git checkout -b feature/ma-fonctionnalite
|
|
```
|
|
|
|
2. Faites vos modifications.
|
|
|
|
3. Testez localement :
|
|
```bash
|
|
npm start
|
|
```
|
|
|
|
4. Buildez pour vérifier :
|
|
```bash
|
|
npm run build
|
|
```
|
|
|
|
5. Commitez vos changements :
|
|
```bash
|
|
git add .
|
|
git commit -m "Description de vos changements"
|
|
```
|
|
|
|
6. Poussez et créez une merge request :
|
|
```bash
|
|
git push origin feature/ma-fonctionnalite
|
|
```
|
|
|
|
## Standards de code
|
|
|
|
### HTML/Nunjucks
|
|
- Indentation : 4 espaces
|
|
- Toujours fermer les balises
|
|
- Attributs entre guillemets doubles
|
|
|
|
### CSS
|
|
- Indentation : 4 espaces
|
|
- Utiliser les variables CSS quand possible
|
|
- Mobile-first pour le responsive
|
|
|
|
### JavaScript
|
|
- Indentation : 4 espaces
|
|
- Vanilla JS (pas de framework)
|
|
- Commentaires en français
|
|
- Gestion des erreurs
|
|
|
|
### Sécurité
|
|
- Ne pas ajouter de scripts inline sans ajuster la CSP dans `src/.htaccess`.
|
|
- Conserver les headers de sécurité lors d'une modification du serveur.
|
|
|
|
## Questions ?
|
|
|
|
Contactez-nous à kontak@o-k-i.net ou ouvrez une issue sur [Labola](https://labola.o-k-i.net/ORGANISATION-KA-INTERNATIONALE/o-k-i.net).
|