4 Commits
Author SHA1 Message Date
cedric 1644d2606f docs: mise à jour de la documentation suite aux évolutions récentes
- 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
2026-07-09 03:37:51 +04:00
cedric d3afa0ca1d fix(contact): lien Labola vers l'organisation
- Met à jour le lien Labola de la section Code & Développement vers l'organisation Gitea
2026-07-09 03:31:27 +04:00
cedric de4fd1d54c fix(footer): lien Labola vers le dépôt du site
- Remplace le lien générique Labola par le repo o-k-i.net
2026-07-09 03:30:43 +04:00
cedric b650a52591 fix(footer): retire Telegram et remet WhatsApp comme contact
- Supprime le lien Telegram du footer
- Rétablit le lien WhatsApp de contact (wa.me) dans le footer
2026-07-09 03:28:33 +04:00
7 changed files with 111 additions and 61 deletions
+20
View File
@@ -1,5 +1,25 @@
# Changelog # Changelog
## [Unreleased]
### 🛡️ Sécurité
-**Headers HTTP de sécurité** : ajout d'un `.htaccess` Apache avec `Strict-Transport-Security`, `Content-Security-Policy`, `X-Frame-Options`, `X-Content-Type-Options`, `Referrer-Policy` et `Permissions-Policy`
-**Redirection HTTP → HTTPS** : forçage du HTTPS via `mod_rewrite`
-**CSP stricte** : refactorisation des scripts inline en fichiers externes et suppression des gestionnaires `onclick` inline
### 🎬 Contenu
-**Nouveau projet** : ajout de `FEDIVERSE.OKI` dans la section projets
-**Logos clients** : récupération locale des logos distants et service via le CDN
-**Réseaux sociaux** : mise à jour du lien Discord, retrait de Stoat, X (Twitter) et TikTok
-**Chaînes PAWOL.NU** : distinction visuelle dans la page contact entre les chaînes WhatsApp/Telegram et les autres moyens de contact
-**Mentions légales** : hébergeur mis à jour (OVH → o2switch)
-**Footer** : année du copyright générée automatiquement via un shortcode Eleventy
-**Liens Labola** : lien footer vers le dépôt du site, lien contact vers l'organisation Gitea
### 🔧 Technique
- ✅ Shortcode Eleventy `{% year %}` pour l'année en cours
- ✅ Événements JS attachés dans `main.js` pour les accordéons FAQ et les dons personnalisés
## Version 2.1.0 - Design Afrofuturisme Caribéen (2025-11-05) ## Version 2.1.0 - Design Afrofuturisme Caribéen (2025-11-05)
### 🌓 Système de Thème Clair/Sombre ### 🌓 Système de Thème Clair/Sombre
+43 -30
View File
@@ -1,17 +1,16 @@
# Guide de contribution # Guide de contribution
Merci de votre intérêt pour contribuer au site dE l'ORGANISATION KA INTERNATIONALE ! Merci de votre intérêt pour contribuer au site de l'ORGANISATION KA INTERNATIONALE !
## Ajouter du contenu ## Ajouter du contenu
### Ajouter un service Fédiverse ### Ajouter un service hébergé
Éditez `src/_data/services.json` : Éditez `src/_data/i18n/fr/services.json` (et la version `en/`) :
```json ```json
{ {
"name": "NOM_DU_SERVICE", "name": "NOM_DU_SERVICE",
"icon": "🎯",
"platform": "Nom de la plateforme", "platform": "Nom de la plateforme",
"description": "Description du service", "description": "Description du service",
"url": "https://service.o-k-i.net/", "url": "https://service.o-k-i.net/",
@@ -21,20 +20,25 @@ Merci de votre intérêt pour contribuer au site dE l'ORGANISATION KA INTERNATIO
### Ajouter un projet web ### Ajouter un projet web
Éditez `src/_data/projects.json` : Éditez `src/_data/i18n/fr/projects.json` (et la version `en/`) :
```json ```json
{ {
"name": "NOM.PROJET", "name": "NOM.PROJET",
"icon": "📱", "icon": "📱",
"domain": "nom.projet", "domain": "nom.projet",
"description": "Description du 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 ### Ajouter une valeur
Éditez `src/_data/values.json` : Éditez `src/_data/i18n/fr/values.json` (et la version `en/`) :
```json ```json
{ {
@@ -46,7 +50,7 @@ Merci de votre intérêt pour contribuer au site dE l'ORGANISATION KA INTERNATIO
### Modifier la navigation ### Modifier la navigation
Éditez `src/_data/navigation.json` : Éditez `src/_data/i18n/fr/navigation.json` (et la version `en/`) :
```json ```json
{ {
@@ -58,18 +62,15 @@ Merci de votre intérêt pour contribuer au site dE l'ORGANISATION KA INTERNATIO
Pour un lien externe, mettez `"external": true`. Pour un lien externe, mettez `"external": true`.
### Ajouter une section de contact ### Modifier les informations de contact
Éditez `src/_data/contact.json` : 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 ```json
{ {
"title": "🔗 Titre de la section", "title": "💬 Communauté",
"links": [ "links": [
{ { "text": "Discord", "url": "https://discord.gg/DPvUCA8dD" }
"text": "Nom du lien",
"url": "https://example.com"
}
] ]
} }
``` ```
@@ -78,17 +79,19 @@ Pour un lien externe, mettez `"external": true`.
Les styles sont dans `src/assets/css/styles.css`. Les styles sont dans `src/assets/css/styles.css`.
### Variables CSS disponibles ### Variables CSS principales
```css ```css
--bleu-ocean: #003566; --or-oki: #E8A625;
--jaune-soleil: #FFB700; --noir-oki: #000000;
--rouge-resistance: #D62828; --vert-oki: #00A854;
--vert-terre: #2A9134; --rouge-oki: #ED1C4C;
--orange-communaute: #FB8500; --blanc-creme: #F7F7F2;
--noir-profond: #0A0908; --noir-profond: #1A1A1A;
--blanc-lumiere: #F7F7F2; --gris-sombre: #2A2A2A;
--violet-fedi: #6364FF; --or-clair: #F5BD4F;
--vert-clair: #00C569;
--rouge-clair: #FF2D5F;
``` ```
## Créer une nouvelle page ## Créer une nouvelle page
@@ -108,9 +111,11 @@ description: Description pour le SEO
</section> </section>
``` ```
2. Ajoutez le lien dans `src/_data/navigation.json` si nécessaire 2. Ajoutez le lien dans `src/_data/i18n/fr/navigation.json` (et `en/`) si nécessaire.
3. Reconstruisez le site : `npm run build` 3. Mettez à jour `src/sitemap.xml`.
4. Reconstruisez le site : `npm run build`.
## Modifier un partial ## Modifier un partial
@@ -118,11 +123,15 @@ Les partials sont dans `src/_includes/partials/` :
- `nav.njk` - Navigation - `nav.njk` - Navigation
- `hero.njk` - Section hero (accueil) - `hero.njk` - Section hero (accueil)
- `fediverse.njk` - Services Fédiverse - `services.njk` - Services hébergés
- `projects.njk` - Projets web - `projects.njk` - Projets web
- `mission.njk` - Mission et valeurs - `mission.njk` - Mission et valeurs
- `hosting.njk` - Services d'hébergement - `hosting.njk` - Services d'hébergement
- `support.njk` - Section dons - `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 - `contact.njk` - Informations de contact
- `footer.njk` - Pied de page - `footer.njk` - Pied de page
@@ -133,7 +142,7 @@ Les partials sont dans `src/_includes/partials/` :
git checkout -b feature/ma-fonctionnalite git checkout -b feature/ma-fonctionnalite
``` ```
2. Faites vos modifications 2. Faites vos modifications.
3. Testez localement : 3. Testez localement :
```bash ```bash
@@ -151,7 +160,7 @@ Les partials sont dans `src/_includes/partials/` :
git commit -m "Description de vos changements" git commit -m "Description de vos changements"
``` ```
6. Poussez et créez une pull request : 6. Poussez et créez une merge request :
```bash ```bash
git push origin feature/ma-fonctionnalite git push origin feature/ma-fonctionnalite
``` ```
@@ -174,6 +183,10 @@ Les partials sont dans `src/_includes/partials/` :
- Commentaires en français - Commentaires en français
- Gestion des erreurs - 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 ? ## Questions ?
Contactez-nous à kontak@o-k-i.net ou ouvrez une issue sur Codeberg. 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).
+39 -20
View File
@@ -16,6 +16,7 @@ Pas aux GAFAM qui en font leur business. Pas d'algorithmes aveugles, pas de cens
- **Nunjucks** - Moteur de templates - **Nunjucks** - Moteur de templates
- **CSS personnalisé** - Sans framework - **CSS personnalisé** - Sans framework
- **JavaScript Vanilla** - Interactions et animations - **JavaScript Vanilla** - Interactions et animations
- **Apache `.htaccess`** - Headers de sécurité et redirection HTTPS
## Structure du projet ## Structure du projet
@@ -23,14 +24,17 @@ Pas aux GAFAM qui en font leur business. Pas d'algorithmes aveugles, pas de cens
o-k-i.net-V2/ o-k-i.net-V2/
├── src/ ├── src/
│ ├── _data/ # Données JSON (services, projets, valeurs, etc.) │ ├── _data/ # Données JSON (services, projets, valeurs, etc.)
│ │ └── i18n/ # Fichiers de traduction FR/EN
│ ├── _includes/ │ ├── _includes/
│ │ ├── layouts/ # Layouts de base │ │ ├── layouts/ # Layouts de base
│ │ └── partials/ # Composants réutilisables │ │ └── partials/ # Composants réutilisables
│ ├── assets/ │ ├── assets/
│ │ ├── css/ # Feuilles de style │ │ ├── css/ # Feuilles de style
│ │ ├── js/ # Scripts JavaScript │ │ ├── js/ # Scripts JavaScript
│ │ └── images/ # Images │ │ └── images/ # Images (logos, clients, etc.)
── index.njk # Page d'accueil ── .htaccess # Headers de sécurité et rewrite rules
│ ├── index.njk # Page d'accueil
│ └── mentions-legales.njk
├── _site/ # Site généré (git ignoré) ├── _site/ # Site généré (git ignoré)
├── eleventy.config.js # Configuration 11ty ├── eleventy.config.js # Configuration 11ty
└── package.json └── package.json
@@ -40,8 +44,8 @@ o-k-i.net-V2/
```bash ```bash
# Cloner le dépôt # Cloner le dépôt
git clone https://codeberg.org/OKI/o-k-i.net-V2.git git clone https://labola.o-k-i.net/ORGANISATION-KA-INTERNATIONALE/o-k-i.net.git
cd o-k-i.net-V2 cd o-k-i.net
# Installer les dépendances # Installer les dépendances
npm install npm install
@@ -69,16 +73,21 @@ npm run build
### Modifier les données ### Modifier les données
Les données du site sont organisées dans `src/_data/` : Les données du site sont organisées dans `src/_data/i18n/fr/` et `src/_data/i18n/en/` :
- `site.json` - Informations générales du site - `site.json` - Informations générales du site
- `services.json` - Services Fédiverse (KUTE, GADE, BOKANTAJ, MIZIK) - `services.json` - Services hébergés (BOKANTE, GADE, NIYAJ, KUTE)
- `projects.json` - Projets web (FEDIVERSE OKI, OKI.RE, NUVEL.NU, JWE.OVH, GONG.GP) - `projects.json` - Projets web (PAWOL.NU, GONG.GP, FEDIVERSE.OKI)
- `partners.json` - Partenaires (Joukawouvè, Aktivist Vybz #AKV) - `partners.json` - Partenaires (Joukawouvè, cyber-mawonaj, Aktivist Vybz #AKV)
- `clients.json` - Clients / organisations ayant fait confiance à OKI
- `values.json` - Valeurs de l'organisation - `values.json` - Valeurs de l'organisation
- `contact.json` - Informations de contact - `contact.json` - Informations de contact (groupées par section)
- `navigation.json` - Liens de navigation - `navigation.json` - Liens de navigation
### Images et CDN
Les images locales placées dans `src/assets/images/` sont automatiquement copiées dans `_site/assets/images/`. Le filtre `| cdn` appliqué dans les templates préfixe les chemins commençant par `/` avec l'URL du pull zone BunnyCDN définie dans `src/_data/cdn.json`.
### Modifier les styles ### Modifier les styles
Les styles sont dans `src/assets/css/styles.css`. La charte graphique est basée sur les couleurs du logo officiel d'OKI : Les styles sont dans `src/assets/css/styles.css`. La charte graphique est basée sur les couleurs du logo officiel d'OKI :
@@ -104,6 +113,7 @@ Les styles sont dans `src/assets/css/styles.css`. La charte graphique est basée
## Fonctionnalités ## Fonctionnalités
- ✅ Design responsive et moderne - ✅ Design responsive et moderne
- ✅ Bilingue FR/EN
- ✅ Animations fluides - ✅ Animations fluides
- ✅ Navigation mobile - ✅ Navigation mobile
- ✅ Scroll smooth - ✅ Scroll smooth
@@ -112,14 +122,18 @@ Les styles sont dans `src/assets/css/styles.css`. La charte graphique est basée
- ✅ Performance optimisée - ✅ Performance optimisée
- ✅ Logo et favicon intégrés - ✅ Logo et favicon intégrés
- ✅ Charte graphique basée sur le logo officiel - ✅ Charte graphique basée sur le logo officiel
- ✅ Headers de sécurité HTTP (CSP, HSTS, XFO, etc.)
- ✅ Redirection automatique HTTP → HTTPS
- ✅ Année du footer générée automatiquement
### SEO & Référencement ### SEO & Référencement
- ✅ Meta tags Open Graph (Facebook, LinkedIn) - ✅ Meta tags Open Graph (Facebook, LinkedIn)
- ✅ Twitter Cards - ✅ Twitter / X Cards
- ✅ JSON-LD Structured Data (Schema.org) - ✅ JSON-LD Structured Data (Schema.org)
- ✅ Sitemap.xml - ✅ Sitemap.xml
- ✅ Robots.txt - ✅ Robots.txt
- ✅ Balises canonical - ✅ Balises canonical
- ✅ Hreflang FR/EN
- ✅ Meta description personnalisées - ✅ Meta description personnalisées
- ✅ Mots-clés pertinents - ✅ Mots-clés pertinents
@@ -127,19 +141,20 @@ Les styles sont dans `src/assets/css/styles.css`. La charte graphique est basée
1. **Hero** - Présentation de l'organisation avec accroche percutante 1. **Hero** - Présentation de l'organisation avec accroche percutante
2. **Solutions** - Segmentation par public (associations, entreprises, citoyens) 2. **Solutions** - Segmentation par public (associations, entreprises, citoyens)
3. **Fédiverse** - Services alternatifs (GADE, BOKANTAJ, MIZIK, KUTE) 3. **Services hébergés** - Alternatives libres (BOKANTE, GADE, NIYAJ, KUTE)
4. **Projets Web** - Nos projets (FEDIVERSE OKI, OKI.RE, NUVEL.NU, JWE.OVH, GONG.GP) 4. **Projets Web** - Nos projets (PAWOL.NU, GONG.GP, FEDIVERSE.OKI)
5. **Mission** - Valeurs et objectifs avec message anti-GAFAM 5. **Mission** - Valeurs et objectifs avec message anti-GAFAM
6. **Hébergement** - Services d'hébergement et infrastructure 6. **Hébergement** - Services d'hébergement et infrastructure
7. **Support** - Options de dons (Stripe, Liberapay, Ko-fi) 7. **Support** - Options de dons (Stripe, Liberapay, Ko-fi)
8. **Partenaires** - Joukawouvè, cyber-mawonaj, Aktivist Vybz #AKV 8. **Partenaires** - Joukawouvè, cyber-mawonaj, Aktivist Vybz #AKV
9. **FAQ** - Questions fréquentes avec storytelling sur le nom "Ka" 9. **Ils nous ont fait confiance** - KA Ubuntu, KBM
10. **Engagement** - Formulaire de contact et appels à l'action 10. **FAQ** - Questions fréquentes avec storytelling sur le nom "Ka"
11. **Contact** - Liens vers réseaux sociaux et plateformes 11. **Engagement** - Appels à l'action
12. **Contact** - Email, WhatsApp, Discord, chaînes PAWOL.NU, Labola
## Contribution ## Contribution
Les contributions sont les bienvenues ! N'hésitez pas à ouvrir une issue ou une pull request sur [Codeberg](https://codeberg.org/OKI/o-k-i.net-V2). Les contributions sont les bienvenues ! N'hésitez pas à ouvrir une issue ou une pull request sur [Labola](https://labola.o-k-i.net/ORGANISATION-KA-INTERNATIONALE/o-k-i.net).
## Licence ## Licence
@@ -154,14 +169,18 @@ La licence AGPL-V3 est une licence de logiciel libre qui garantit :
Voir le fichier [LICENSE](LICENSE) pour plus de détails ou consultez : https://www.gnu.org/licenses/agpl-3.0.html Voir le fichier [LICENSE](LICENSE) pour plus de détails ou consultez : https://www.gnu.org/licenses/agpl-3.0.html
© 2024 ORGANISATION KA INTERNATIONALE © 2026 ORGANISATION KA INTERNATIONALE
## Liens ## Liens
- 🌐 [Site web](https://o-k-i.net) - 🌐 [Site web](https://o-k-i.net)
- 📺 [GADE (PeerTube)](https://gade.o-k-i.net/) - 📺 [GADE (PeerTube)](https://gade.o-k-i.net/)
- 🐦 [BOKANTAJ (Pleroma)](https://bokantaj.o-k-i.net/) - 🐘 [BOKANTE (Mastodon)](https://bokante.o-k-i.net/)
- 🎵 [MIZIK (Funkwhale)](https://mizik.o-k-i.net/library) - ☁️ [NIYAJ (Nextcloud)](https://niyaj.o-k-i.net/)
- 🎙️ [KUTE (Castopod)](https://kute.o-k-i.net/) - 🎙️ [KUTE (Castopod)](https://kute.o-k-i.net/)
- 💻 [Codeberg](https://codeberg.org/OKI) - 💬 [Discord](https://discord.gg/DPvUCA8dD)
- 📱 [WhatsApp](https://wa.me/262692229740)
- 📢 [Chaîne WhatsApp PAWOL.NU](https://whatsapp.com/channel/0029VbCv7N9AjPXTxygrRu1w)
- ✈️ [Chaîne Telegram PAWOL.NU](https://t.me/OrganisationKA)
- 💻 [Labola (Gitea)](https://labola.o-k-i.net/ORGANISATION-KA-INTERNATIONALE)
- 📧 kontak@o-k-i.net - 📧 kontak@o-k-i.net
+4 -3
View File
@@ -70,7 +70,7 @@ Données structurées conformes à Schema.org pour améliorer l'affichage dans l
- Description - Description
- Adresse physique (Basse-Terre, Guadeloupe) - Adresse physique (Basse-Terre, Guadeloupe)
- Email de contact - Email de contact
- Liens vers les plateformes sociales (GADE, BOKANTAJ, MIZIK, KUTE, Codeberg, Liberapay) - Liens vers les plateformes sociales (GADE, BOKANTE, NIYAJ, KUTE, Discord, Labola, Liberapay)
- Statut : Organisation à but non lucratif - Statut : Organisation à but non lucratif
## 🔍 Optimisations par page ## 🔍 Optimisations par page
@@ -182,7 +182,8 @@ curl http://localhost:8080/ | grep -E "(og:|twitter:)"
- [x] Logo haute résolution (512x512) - [x] Logo haute résolution (512x512)
- [ ] Images avec attributs alt - [ ] Images avec attributs alt
- [ ] Performance optimale (Lighthouse score) - [ ] Performance optimale (Lighthouse score)
- [ ] Mobile-friendly (déjà responsive) - [x] Mobile-friendly (déjà responsive)
- [ ] HTTPS activé configurer en production) - [x] HTTPS activé et HSTS configuré
- [x] Hreflang FR/EN pour les versions multilingues
- [ ] Google Search Console configuré - [ ] Google Search Console configuré
- [ ] Analytics installé (optionnel, respectueux RGPD) - [ ] Analytics installé (optionnel, respectueux RGPD)
+1 -1
View File
@@ -24,7 +24,7 @@
{ {
"title": "💻 Code & Development", "title": "💻 Code & Development",
"links": [ "links": [
{ "text": "Labola (Gitea)", "url": "https://labola.o-k-i.net/" } { "text": "Labola (Gitea)", "url": "https://labola.o-k-i.net/ORGANISATION-KA-INTERNATIONALE" }
] ]
} }
] ]
+1 -1
View File
@@ -24,7 +24,7 @@
{ {
"title": "💻 Code & Développement", "title": "💻 Code & Développement",
"links": [ "links": [
{ "text": "Labola (Gitea)", "url": "https://labola.o-k-i.net/" } { "text": "Labola (Gitea)", "url": "https://labola.o-k-i.net/ORGANISATION-KA-INTERNATIONALE" }
] ]
} }
] ]
+2 -5
View File
@@ -16,16 +16,13 @@
<a href="mailto:kontak@o-k-i.net" title="Email" class="social-link"> <a href="mailto:kontak@o-k-i.net" title="Email" class="social-link">
{% include "icons/email.svg" %} {% include "icons/email.svg" %}
</a> </a>
<a href="https://whatsapp.com/channel/0029VbCv7N9AjPXTxygrRu1w" target="_blank" rel="noopener noreferrer" title="WhatsApp channel (PAWOL.NU)" class="social-link"> <a href="https://wa.me/262692229740" target="_blank" rel="noopener noreferrer" title="WhatsApp" class="social-link">
{% include "icons/whatsapp.svg" %} {% include "icons/whatsapp.svg" %}
</a> </a>
<a href="https://t.me/OrganisationKA" target="_blank" rel="noopener noreferrer" title="Telegram channel (PAWOL.NU)" class="social-link">
{% include "icons/telegram.svg" %}
</a>
<a href="https://discord.gg/DPvUCA8dD" target="_blank" rel="noopener noreferrer" title="Discord" class="social-link"> <a href="https://discord.gg/DPvUCA8dD" target="_blank" rel="noopener noreferrer" title="Discord" class="social-link">
{% include "icons/discord.svg" %} {% include "icons/discord.svg" %}
</a> </a>
<a href="https://labola.o-k-i.net/" target="_blank" rel="noopener noreferrer" title="Labola (Gitea)" class="social-link"> <a href="https://labola.o-k-i.net/ORGANISATION-KA-INTERNATIONALE/o-k-i.net" target="_blank" rel="noopener noreferrer" title="Code source sur Labola (Gitea)" class="social-link">
{% include "icons/gitea.svg" %} {% include "icons/gitea.svg" %}
</a> </a>
</div> </div>