2025-11-05 17:32:17 +04:00
# Guide de contribution
2026-07-09 03:37:51 +04:00
Merci de votre intérêt pour contribuer au site de l'ORGANISATION KA INTERNATIONALE !
2025-11-05 17:32:17 +04:00
## Ajouter du contenu
2026-07-09 03:37:51 +04:00
### Ajouter un service hébergé
2025-11-05 17:32:17 +04:00
2026-07-09 03:37:51 +04:00
Éditez `src/_data/i18n/fr/services.json` (et la version `en/` ) :
2025-11-05 17:32:17 +04:00
```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
2026-07-09 03:37:51 +04:00
Éditez `src/_data/i18n/fr/projects.json` (et la version `en/` ) :
2025-11-05 17:32:17 +04:00
```json
{
"name" : "NOM.PROJET" ,
"icon" : "📱" ,
"domain" : "nom.projet" ,
2026-07-09 03:37:51 +04:00
"description" : "Description du projet" ,
"url" : "https://nom.projet/"
2025-11-05 17:32:17 +04:00
}
```
2026-07-09 03:37:51 +04:00
### 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.
2025-11-05 17:32:17 +04:00
### Ajouter une valeur
2026-07-09 03:37:51 +04:00
Éditez `src/_data/i18n/fr/values.json` (et la version `en/` ) :
2025-11-05 17:32:17 +04:00
```json
{
"icon" : "🌟" ,
"title" : "Titre" ,
"description" : "Description de la valeur"
}
```
### Modifier la navigation
2026-07-09 03:37:51 +04:00
Éditez `src/_data/i18n/fr/navigation.json` (et la version `en/` ) :
2025-11-05 17:32:17 +04:00
```json
{
"text" : "Texte du lien" ,
"url" : "#section" ,
"external" : false
}
```
Pour un lien externe, mettez `"external": true` .
2026-07-09 03:37:51 +04:00
### Modifier les informations de contact
2025-11-05 17:32:17 +04:00
2026-07-09 03:37:51 +04:00
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` ).
2025-11-05 17:32:17 +04:00
```json
{
2026-07-09 03:37:51 +04:00
"title" : "💬 Communauté" ,
2025-11-05 17:32:17 +04:00
"links" : [
2026-07-09 03:37:51 +04:00
{ "text" : "Discord" , "url" : "https://discord.gg/DPvUCA8dD" }
2025-11-05 17:32:17 +04:00
]
}
```
## Modifier les styles
Les styles sont dans `src/assets/css/styles.css` .
2026-07-09 03:37:51 +04:00
### Variables CSS principales
2025-11-05 17:32:17 +04:00
```css
2026-07-09 03:37:51 +04:00
--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 ;
2025-11-05 17:32:17 +04:00
```
## 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>
```
2026-07-09 03:37:51 +04:00
2. Ajoutez le lien dans `src/_data/i18n/fr/navigation.json` (et `en/` ) si nécessaire.
2025-11-05 17:32:17 +04:00
2026-07-09 03:37:51 +04:00
3. Mettez à jour `src/sitemap.xml` .
4. Reconstruisez le site : `npm run build` .
2025-11-05 17:32:17 +04:00
## Modifier un partial
Les partials sont dans `src/_includes/partials/` :
- `nav.njk` - Navigation
- `hero.njk` - Section hero (accueil)
2026-07-09 03:37:51 +04:00
- `services.njk` - Services hébergés
2025-11-05 17:32:17 +04:00
- `projects.njk` - Projets web
- `mission.njk` - Mission et valeurs
- `hosting.njk` - Services d'hébergement
- `support.njk` - Section dons
2026-07-09 03:37:51 +04:00
- `clients.njk` - Clients / organisations ayant fait confiance
- `partners.njk` - Partenaires
- `faq.njk` - Questions fréquentes
- `engagement.njk` - Appels à l'action
2025-11-05 17:32:17 +04:00
- `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
` ``
2026-07-09 03:37:51 +04:00
2. Faites vos modifications.
2025-11-05 17:32:17 +04:00
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"
` ``
2026-07-09 03:37:51 +04:00
6. Poussez et créez une merge request :
2025-11-05 17:32:17 +04:00
` ``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
2026-07-09 03:37:51 +04:00
### 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.
2025-11-05 17:32:17 +04:00
## Questions ?
2026-07-09 03:37:51 +04:00
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 ).