Author SHA1 Message Date
cedric 19711cc8e0 fix: lien mentions légales adapté à la langue 2026-07-06 18:20:11 +04:00
cedric ac0fc22f3b feat: page mentions légales bilingue 2026-07-06 18:18:07 +04:00
cedric 40df39cc67 fix: rester sur la même page au changement de langue 2026-07-06 18:13:32 +04:00
cedric 09fef8f590 typo 2026-07-06 17:18:04 +04:00
cedric 711244235f fix: liens du menu pointant vers la page d'accueil 2026-07-06 09:47:19 +04:00
cedric a1e39b88bf fix: fermer le menu mobile après clic sur un lien 2026-07-06 09:40:32 +04:00
cedric 929cb46d4c refactor: regrouper le menu desktop dans Ressources 2026-07-06 09:40:10 +04:00
cedric ffb2eedccb feat: page presse bilingue avec visuels HD en PDF 2026-07-06 09:39:10 +04:00
cedric 58dd9297e0 feat: servir les images via le CDN BunnyCDN 2026-07-06 08:33:43 +04:00
cedric 37121763a9 Merge pull request 'feat: version anglaise du site (i18n)' (#3) from feat/i18n-anglais into master
Reviewed-on: #3
2026-07-06 04:25:26 +00:00
cedric 7a3b730a9c feat: ajouter la page anglaise et l'entrée sitemap 2026-07-06 08:15:39 +04:00
cedric f69ed41ccf chore: retirer les anciens fichiers de données à plat 2026-07-06 08:15:11 +04:00
cedric 120c352aa8 refactor: localiser le layout, hreflang, détection langue 2026-07-06 08:15:02 +04:00
cedric b90228e0bd refactor: migrer les partials vers le contenu localisé 2026-07-06 08:14:52 +04:00
cedric b4c7d557b6 feat: ajouter les contenus FR/EN et les dons partagés 2026-07-06 08:14:33 +04:00
cedric c0af3ebc2e feat: résoudre le contenu par langue via Eleventy 2026-07-06 08:14:20 +04:00
cedric bc9eb2948f fix: corriger le texte DJANGOKAM et assombrir le teint des émojis humains
Harmonise "cultures dites créoles" avec la formulation déjà utilisée
pour "langues dites créoles", et applique le ton de peau foncé aux
émojis représentant des personnes (poing levé, poignée de main).
2026-07-06 07:50:32 +04:00
cedric d5f4e7b92e Merge pull request 'refactor: nouvelle identité visuelle, design plat et affirmé' (#2) from feat/identite-visuelle into master
Reviewed-on: #2
2026-07-05 21:40:44 +00:00
cedric f7e9acb2d3 refactor: nouvelle identité visuelle, design plat et affirmé
Remplace les codes visuels generiques (degrades animes, icones
flottantes, cartes glassmorphiques, coins organiques) par un systeme
graphique sobre et institutionnel : aplats de couleur, bandeau
'drapeau' OKI, typographie Archivo/Inter, cartes a bordure d'accent.
Les couleurs de marque sont inchangees.
2026-07-06 01:23:33 +04:00
cedric 4eaad7a49e fix: corriger la typographie et les liens PAWÒL-NU de la section DJANGOKAM 2026-07-06 00:56:47 +04:00
cedric ea7736cb28 Merge pull request 'feat: ajouter les données de la section DJANGOKAM' (#1) from feat/djangokam into master
Reviewed-on: #1
2026-07-05 20:39:58 +00:00
79 changed files with 2778 additions and 1109 deletions
+14
View File
@@ -1,4 +1,18 @@
const cdn = require("./src/_data/cdn.json");
module.exports = function(eleventyConfig) {
// Locale-aware content: `t` resolves to the content bundle for the page's locale (fr by default)
eleventyConfig.addGlobalData("eleventyComputed", {
locale: (data) => data.locale || "fr",
t: (data) => data.i18n[data.locale || "fr"]
});
// Serve local images through the BunnyCDN pull zone; leaves external URLs untouched
eleventyConfig.addFilter("cdn", (path) => {
if (typeof path !== "string" || !path.startsWith("/")) return path;
return cdn.url + path;
});
// Copy assets folders to output
eleventyConfig.addPassthroughCopy("src/assets");
+3
View File
@@ -0,0 +1,3 @@
{
"url": "https://organisationka.b-cdn.net"
}
-23
View File
@@ -1,23 +0,0 @@
[
{
"name": "KA UBUNTU",
"domain": "kaubuntu.com",
"url": "https://kaubuntu.com",
"logo": "https://kaubuntu.com/wp-content/uploads/2026/04/logo-ka-ubuntu.png",
"description": "Mouvement politique panafricaniste et indépendantiste réunionnais. Lutte pour l'autodétermination de La Réunion et l'unité africaine. \"Je suis parce que nous sommes.\""
},
{
"name": "KA UBUNTU — Hub multimédia",
"domain": "kaubuntu.re",
"url": "https://kaubuntu.re",
"logo": "https://kaubuntu.re/img/logo.png",
"description": "Agrégateur multimédia centralisé pour Ka Ubuntu : vidéos YouTube, articles, Instagram et TikTok réunis en une seule page. Application web progressive (PWA)."
},
{
"name": "KBM Ka Pou Nou Bwè é Manjé",
"domain": "kbm.gp",
"url": "https://kbm.gp",
"logo": "https://kbm.gp/images/logo-1024.webp",
"description": "Mouvement pour l'émancipation et la souveraineté alimentaire du peuple guadeloupéen. Radio communautaire Radyo Bòkaz, podcasts, lakou et agriculture locale."
}
]
-48
View File
@@ -1,48 +0,0 @@
{
"sections": [
{
"title": "🌐 Web & Contact",
"links": [
{
"text": "kontak@o-k-i.net",
"url": "mailto:kontak@o-k-i.net"
}
]
},
{
"title": "💬 Réseaux sociaux",
"links": [
{
"text": "Telegram",
"url": "https://t.me/OrganisationKA"
},
{
"text": "X (Twitter)",
"url": "https://x.com/OrganisationKA"
}
]
},
{
"title": "💬 Communauté",
"links": [
{
"text": "Discord",
"url": "https://discord.gg/a2r9NYNM"
},
{
"text": "Revolt",
"url": "https://rvlt.gg/e1zJrg3p"
}
]
},
{
"title": "💻 Code & Développement",
"links": [
{
"text": "Labola (Gitea)",
"url": "https://labola.o-k-i.net/"
}
]
}
]
}
-75
View File
@@ -1,75 +0,0 @@
{
"surtitre": "Notre projet musical",
"titre": "DJANGOKAM",
"titreAccent": "l'artiste IA caribéen",
"accroche": "Quand l'intelligence artificielle chante en KA.",
"message_cle": "DJANGOKAM n'est pas simplement un artiste virtuel. Il est le premier projet musical porté par l'ORGANISATION KA INTERNATIONALE (OKI), une association culturelle guadeloupéenne qui explore les possibilités offertes par l'intelligence artificielle pour promouvoir les langues, les cultures et la création artistique caribéennes. À travers ce projet, OKI démontre que les technologies émergentes peuvent être mises au service du patrimoine culturel plutôt que de s'y opposer.",
"histoire": [
"DJANGOKAM est né il y a 29 ans à Wanakaera — le nom que les Kalinas, premiers habitants de l'île, donnaient à ce qu'on appelle aujourd'hui la Martinique. Il porte le reggae, le zouk et le konpa de scène en scène, jusqu'à la K-pop qu'il chante en coréen. La langue de son cœur est le KA, celle qu'on appelle à tort « créole » ; son arme, la musique. Ses scènes préférées : Wanakaera et Karukera, l'île de son grand-père — la Guadeloupe.",
"À ses côtés, NYYOKA, artiste IA caribéenne du même collectif, mène le même combat depuis la mer — en solo ou en duo, comme sur le single « She Told Me (Fanm-la di mwen) »."
],
"duo": {
"image": "/assets/images/djangokam-she-told-me.webp",
"alt": "Pochette du single « She Told Me (Fanm-la di mwen) » — DJANGOKAM x NYYOKA",
"legende": "« She Told Me (Fanm-la di mwen) » — DJANGOKAM x NYYOKA",
"url": "https://pawol.nu/paroles/djangokam-nyyoka-she-told-me-fanm-la-di-mwen"
},
"clips": [
{
"titre": "I Want You Girl",
"image": "/assets/images/djangokam-i-want-you-girl.webp",
"alt": "Pochette du clip « I Want You Girl »",
"url": "https://pawol.nu/paroles/djangokam-i-want-you-girl"
},
{
"titre": "Ish Mwen KUTE",
"image": "/assets/images/djangokam-ish-mwen-kute.jpg",
"alt": "Pochette du clip « Ish Mwen KUTE »",
"url": "https://pawol.nu/paroles/djangokam-ish-mwen-kute"
}
],
"faits": [
{
"icon": "🎵",
"chiffre": "12 sorties",
"texte": "disponibles sur toutes les plateformes (Spotify, Apple Music, Deezer, Tidal, Qobuz, Amazon Music, SoundCloud), référencées sur MusicBrainz"
},
{
"icon": "🎬",
"chiffre": "2 clips officiels",
"texte": "pour les singles « I Want You Girl » et « Ish Mwen KUTE »"
},
{
"icon": "🎤",
"chiffre": "2 artistes IA",
"texte": "DJANGOKAM et NYYOKA, duos et remixes croisés"
},
{
"icon": "📝",
"chiffre": "Paroles & traductions",
"texte": "transcriptions, traductions et karaokés de chaque titre sur PAWOL.NU"
}
],
"ia_instrument": "L'intelligence artificielle n'a pas vocation à remplacer les artistes : elle constitue un nouvel instrument, un outil de création, un laboratoire artistique — et un moyen de faire rayonner les cultures créoles. DJANGOKAM est un personnage artistique complet — identité, univers graphique, répertoire — créé et dirigé par des humains. Il est la vitrine musicale de l'écosystème d'OKI : PAWOL.NU, médias libres, outils libres et plateformes du Fédiverse.",
"boutons": [
{
"text": "Écouter DJANGOKAM",
"url": "https://djangokam.pawol.nu",
"primary": true
},
{
"text": "Découvrir NYYOKA",
"url": "https://nyyoka.pawol.nu",
"primary": false
},
{
"text": "PAWOL.NU",
"url": "https://pawol.nu",
"primary": false
}
],
"presse": {
"texte": "Presse & médias : dossier de presse, visuels HD et interviews sur demande —",
"email": "kontak@o-k-i.net"
}
}
+18
View File
@@ -0,0 +1,18 @@
{
"oneTime": [
{ "amount": 1, "url": "https://don.o-k-i.net/b/aEUdTw5SD3SH7m0bII" },
{ "amount": 5, "url": "https://don.o-k-i.net/b/4gw6r480L1Kz5dScMO" },
{ "amount": 10, "url": "https://don.o-k-i.net/b/5kA02G1Cn4WLbCgeUV" },
{ "amount": 20, "url": "https://don.o-k-i.net/b/fZebLo94PfBpayc5kn" },
{ "amount": 50, "url": "https://don.o-k-i.net/b/6oE5n05SDdth49O004" }
],
"monthly": [
{ "amount": 1, "url": "https://don.o-k-i.net/b/7sI9Dgch14WL7m0fZ3" },
{ "amount": 5, "url": "https://don.o-k-i.net/b/8wM4iW4Ozbl95dS6ow" },
{ "amount": 10, "url": "https://don.o-k-i.net/b/8wM2aO80L74TcGk3ci" },
{ "amount": 20, "url": "https://don.o-k-i.net/b/00g7v894P88XgWAfZ7" },
{ "amount": 50, "url": "https://don.o-k-i.net/b/4gw8zc6WHgFtcGkbIP" }
],
"liberapay": "https://liberapay.com/OKI/donate",
"kofi": "https://ko-fi.com/J3J5TOZPI"
}
-26
View File
@@ -1,26 +0,0 @@
[
{
"question": "Qu'est-ce qu'une application web sur mesure ?",
"answer": "C'est une application développée spécifiquement pour répondre à VOS besoins, pas un template générique qu'on adapte à la va-vite. On part de votre fonctionnement réel : gestion de membres, agenda militant, système de pétitions, caisse de grève, newsletter... et on construit l'outil qui correspond exactement à votre organisation."
},
{
"question": "Quels sont vos tarifs préférentiels pour les associations militantes ?",
"answer": "Nous appliquons une grille tarifaire solidaire basée sur vos ressources réelles. Pour les syndicats, collectifs et associations militantes à but non lucratif, nous pratiquons des prix réduits et pouvons étaler le paiement. L'audit initial est gratuit. Contactez-nous pour un devis personnalisé : kontak@o-k-i.net"
},
{
"question": "Faut-il être expert en informatique pour utiliser vos solutions ?",
"answer": "Pas du tout. Nous concevons des interfaces simples, adaptées à vos bénévoles et adhérents. On inclut systématiquement une formation à la prise en main et un accompagnement continu. Si quelque chose ne fonctionne pas ou doit évoluer, on est là."
},
{
"question": "Combien de temps pour développer notre application ?",
"answer": "Ça dépend de la complexité. Un site vitrine : 2 à 4 semaines. Une application avec gestion de membres et d'événements : 4 à 8 semaines. On travaille en transparence avec vous, avec des points réguliers pour valider chaque étape."
},
{
"question": "Nos données sont-elles en sécurité ?",
"answer": "Oui. Vos données vous appartiennent et restent sur des serveurs que nous contrôlons, pas chez des géants américains. Nous n'avons aucun intérêt commercial à exploiter vos informations. Sauvegardes automatiques quotidiennes et accès sécurisé inclus."
},
{
"question": "Pourquoi le nom 'KA' ?",
"answer": "Le Ka représente avant tout l'énergie vitale, la force divine présente en chaque être vivant. Dans la spiritualité caribéenne héritée des traditions africaines et égyptiennes, le Ka est cette puissance intérieure qui nous anime et nous relie les uns aux autres. Le Ka, c'est aussi notre tambour sacré, nos langues, nos traditions tout ce qui porte notre identité. ORGANISATION KA INTERNATIONALE incarne cette force vitale collective : un internet qui nous ressemble, qui vibre de nos énergies, de nos voix, de notre puissance créatrice."
}
]
+29
View File
@@ -0,0 +1,29 @@
{
"section_title": "Organisations that",
"section_title_accent": "trusted us",
"section_subtitle": "Committed organisations that chose OKI to build their digital presence",
"link_text": "Visit the site",
"items": [
{
"name": "KA UBUNTU",
"domain": "kaubuntu.com",
"url": "https://kaubuntu.com",
"logo": "https://kaubuntu.com/wp-content/uploads/2026/04/logo-ka-ubuntu.png",
"description": "Pan-Africanist and pro-independence political movement from Réunion. Fighting for the self-determination of Réunion and African unity. \"I am because we are.\""
},
{
"name": "KA UBUNTU — Media hub",
"domain": "kaubuntu.re",
"url": "https://kaubuntu.re",
"logo": "https://kaubuntu.re/img/logo.png",
"description": "Centralised media aggregator for Ka Ubuntu: YouTube videos, articles, Instagram and TikTok brought together on a single page. Progressive web application (PWA)."
},
{
"name": "KBM Ka Pou Nou Bwè é Manjé",
"domain": "kbm.gp",
"url": "https://kbm.gp",
"logo": "https://kbm.gp/images/logo-1024.webp",
"description": "Movement for the emancipation and food sovereignty of the Guadeloupean people. Community radio Radyo Bòkaz, podcasts, lakou and local farming."
}
]
}
+32
View File
@@ -0,0 +1,32 @@
{
"title": "Ready to take action?",
"lede": "\"But I don't know where to start!\" No worries! We'll walk you through it step by step. A message on our socials, an email to <a href=\"mailto:kontak@o-k-i.net\">kontak@o-k-i.net</a>, and we'll show you how your talent can change things. Even if it's just an idea in your head with us, ideas become actions.",
"sections": [
{
"title": "🌐 Web & Contact",
"links": [
{ "text": "kontak@o-k-i.net", "url": "mailto:kontak@o-k-i.net" }
]
},
{
"title": "💬 Social networks",
"links": [
{ "text": "Telegram", "url": "https://t.me/OrganisationKA" },
{ "text": "X (Twitter)", "url": "https://x.com/OrganisationKA" }
]
},
{
"title": "💬 Community",
"links": [
{ "text": "Discord", "url": "https://discord.gg/a2r9NYNM" },
{ "text": "Revolt", "url": "https://rvlt.gg/e1zJrg3p" }
]
},
{
"title": "💻 Code & Development",
"links": [
{ "text": "Labola (Gitea)", "url": "https://labola.o-k-i.net/" }
]
}
]
}
+63
View File
@@ -0,0 +1,63 @@
{
"surtitre": "Our music project",
"titre": "DJANGOKAM",
"titreAccent": "the Caribbean AI artist",
"accroche": "When artificial intelligence sings in KA.",
"message_cle": "DJANGOKAM is not simply a virtual artist. He is the first music project carried by ORGANISATION KA INTERNATIONALE (OKI), a Guadeloupean cultural association exploring what artificial intelligence can offer to promote the languages known as \"Creole\", and Caribbean cultures and artistic creation. Through this project, OKI shows that emerging technologies can serve cultural heritage rather than oppose it.",
"histoire": [
"DJANGOKAM was born 29 years ago in Wanakaera - the name the Kalinas, the island's first inhabitants, gave to what is known today as Martinique. He carries reggae, zouk and konpa from stage to stage, all the way to K-pop, which he sings in Korean. The language of his heart is KA, wrongly called \"Creole\"; his weapon is music. His favourite stages: Wanakaera and Karukera, his grandfather's island - Guadeloupe.",
"By his side, NYYOKA, a Caribbean AI artist from the same collective, leads the same fight from the sea - solo or in duet, as on the single \"She Told Me (Fanm-la di mwen)\"."
],
"duo": {
"image": "/assets/images/djangokam-she-told-me.webp",
"alt": "Cover art for the single \"She Told Me (Fanm-la di mwen)\" - DJANGOKAM x NYYOKA",
"legende": "\"She Told Me (Fanm-la di mwen)\" - DJANGOKAM x NYYOKA",
"url": "https://pawol.nu/paroles/djangokam-nyyoka-she-told-me-fanm-la-di-mwen"
},
"clips": [
{
"titre": "I Want You Girl",
"image": "/assets/images/djangokam-i-want-you-girl.webp",
"alt": "Cover art for the video \"I Want You Girl\"",
"url": "https://pawol.nu/paroles/djangokam-i-want-you-girl"
},
{
"titre": "Ish Mwen KUTE",
"image": "/assets/images/djangokam-ish-mwen-kute.jpg",
"alt": "Cover art for the video \"Ish Mwen KUTE\"",
"url": "https://pawol.nu/paroles/djangokam-ish-mwen-kute"
}
],
"faits": [
{
"icon": "🎵",
"chiffre": "12 releases",
"texte": "available on every platform (Spotify, Apple Music, Deezer, Tidal, Qobuz, Amazon Music, SoundCloud), listed on MusicBrainz"
},
{
"icon": "🎬",
"chiffre": "2 official videos",
"texte": "for the singles \"I Want You Girl\" and \"Ish Mwen KUTE\""
},
{
"icon": "🎤",
"chiffre": "2 AI artists",
"texte": "DJANGOKAM and NYYOKA, cross duets and remixes"
},
{
"icon": "📝",
"chiffre": "Lyrics & translations",
"texte": "transcriptions, translations and karaoke versions of every track on <a href=\"https://pawol.nu\" target=\"_blank\" rel=\"noopener noreferrer\">PAWÒL-NU</a>"
}
],
"ia_instrument": "Artificial intelligence is not meant to replace artists: it is a new instrument, a creative tool, an artistic laboratory - and a way to give the languages known as \"Creole\" a wider stage. DJANGOKAM is a complete artistic character - identity, visual universe, repertoire - created and directed by humans. He is the musical showcase of OKI's ecosystem: <a href=\"https://pawol.nu\" target=\"_blank\" rel=\"noopener noreferrer\">PAWÒL-NU</a>, free media, free tools and Fediverse platforms.",
"boutons": [
{ "text": "Listen to DJANGOKAM", "url": "https://djangokam.pawol.nu", "primary": true },
{ "text": "Discover NYYOKA", "url": "https://nyyoka.pawol.nu", "primary": false },
{ "text": "PAWÒL-NU", "url": "https://pawol.nu", "primary": false }
],
"presse": {
"texte": "Press & media: press kit, HD visuals and interviews on request -",
"email": "kontak@o-k-i.net"
}
}
+25
View File
@@ -0,0 +1,25 @@
{
"section_title": "Your project",
"section_title_accent": "starts here",
"section_subtitle": "Because every organisation deserves digital tools worthy of its ambitions",
"cards": [
{
"icon": "✊🏿",
"title": "Activist Associations",
"text": "A custom web application with preferential rates for your struggles",
"cta": "Contact us"
},
{
"icon": "🏛️",
"title": "Associations & Collectives",
"text": "Showcase site, member management, calendar, built for you",
"cta": "Contact us"
},
{
"icon": "💼",
"title": "Responsible Businesses",
"text": "Ethical digital presence, hosting independent from GAFAM",
"cta": "Contact us"
}
]
}
+33
View File
@@ -0,0 +1,33 @@
{
"section_title": "Frequently",
"section_title_accent": "asked questions",
"section_subtitle": "Everything you need to know to start your digital transition",
"footer_text": "Have other questions?",
"footer_cta": "Contact us",
"items": [
{
"question": "What is a custom web application?",
"answer": "It's an application built specifically to meet YOUR needs, not a generic template hastily adapted. We start from how you actually work: member management, activist calendar, petition system, strike fund, newsletter... and we build the tool that matches your organisation exactly."
},
{
"question": "What are your preferential rates for activist associations?",
"answer": "We apply a solidarity pricing scale based on your actual resources. For unions, collectives and non-profit activist associations, we offer reduced prices and can spread out payment. The initial audit is free. Contact us for a personalised quote: kontak@o-k-i.net"
},
{
"question": "Do I need to be a computer expert to use your solutions?",
"answer": "Not at all. We design simple interfaces, suited to your volunteers and members. We always include hands-on training and ongoing support. If something isn't working or needs to evolve, we're here."
},
{
"question": "How long does it take to develop our application?",
"answer": "It depends on the complexity. A showcase website: 2 to 4 weeks. An application with member and event management: 4 to 8 weeks. We work transparently with you, with regular check-ins to validate each step."
},
{
"question": "Is our data secure?",
"answer": "Yes. Your data belongs to you and stays on servers we control, not with American giants. We have no commercial interest in exploiting your information. Automatic daily backups and secure access included."
},
{
"question": "Why the name 'KA'?",
"answer": "The Ka represents above all the vital energy, the divine force present in every living being. In Caribbean spirituality inherited from African and Egyptian traditions, the Ka is that inner power that animates us and connects us to one another. The Ka is also our sacred drum, our languages, our traditions everything that carries our identity. ORGANISATION KA INTERNATIONALE embodies this collective vital force: an internet that resembles us, that vibrates with our energies, our voices, our creative power."
}
]
}
+4
View File
@@ -0,0 +1,4 @@
{
"tagline_line": "Non-profit association | Promotion of languages and cultures | Free alternatives to GAFAM",
"legal_link": "Legal Notice"
}
+9
View File
@@ -0,0 +1,9 @@
{
"tags": [
"✊🏿 Web applications for your associations",
"💸 Preferential rates for activist organisations",
"🔓 Independent from GAFAM"
],
"cta_primary": "Our Solutions",
"cta_secondary": "Our Mission"
}
+68
View File
@@ -0,0 +1,68 @@
{
"section_title": "Custom",
"section_title_accent": "Web Development",
"section_subtitle": "Every organisation has unique needs. We design and build the digital tool that matches exactly how you work, not a template, a real application.",
"banner_title": "Complete solutions, from A to Z",
"banner_text": "OKI supports associations and collectives at every step: design, development, hosting, training and maintenance.",
"features": [
"Custom web application development",
"Professional showcase websites",
"Turnkey Fediverse instances",
"Secure, independent hosting",
"Domain name management",
"Automatic daily backups",
"Training and technical support included"
],
"offerings_title": "Our service offerings",
"offer_cards": [
{
"modifier": "",
"title": "Custom Web Application",
"items": [
"Membership management",
"Calendar and event management",
"Petitions and online mobilisation",
"Solidarity fund, donations",
"Newsletter and internal communication"
],
"tagline": "Custom development"
},
{
"modifier": "hosting",
"title": "Showcase Website & Hosting",
"items": [
"WordPress or static site",
"Secure shared hosting",
"MySQL/PostgreSQL database",
"Free SSL certificate",
"Mail server included"
],
"tagline": "Ethical hosting"
},
{
"modifier": "fediverse",
"title": "Fediverse Instance",
"intro": "Does your association want its own free platform, without depending on a third party? We install and administer your instance:",
"items": [
"Mastodon / Pleroma (social network)",
"PeerTube (video)",
"Castopod (podcast)",
"Pixelfed (photos)",
"Funkwhale (music)"
],
"tagline": "Installation & maintenance"
}
],
"note_title": "Secure digital management",
"note_intro": "OKI can fully manage your digital assets:",
"note_items": [
"Domain name ownership and management",
"Web account administration (social networks, emails)",
"Secure management of access and passwords",
"Protection against internal takeovers",
"Mediation in case of conflicts over digital tools"
],
"why_title": "Why choose OKI?",
"why_text": "Our technical team, made up of committed experts, guarantees the impartiality, security and longevity of your digital tools. We pool costs across solidarity projects for fair, accessible rates, and we apply preferential rates to activist organisations.",
"why_cta": "Contact us"
}
+6
View File
@@ -0,0 +1,6 @@
{
"section_title": "Our",
"section_title_accent": "Mission",
"paragraph_main": "OKI builds custom web applications for associations, collectives and organisations that are changing the world. We believe the quality of digital tools shouldn't be reserved for those who can afford it, which is why we offer rates matched to the reality of each structure, with particular attention to activist organisations.",
"paragraph_secondary": "Our languages, our cultures, our struggles deserve tools that look like them. Not generic templates, real solutions designed for you."
}
+18
View File
@@ -0,0 +1,18 @@
[
{ "text": "Solutions", "url": "/en/#solutions" },
{ "text": "Our projects", "url": "/en/#projets" },
{ "text": "DJANGOKAM", "url": "/en/#djangokam" },
{ "text": "Services", "url": "/en/#hebergement" },
{ "text": "Donate", "url": "/en/#dons" },
{
"text": "Resources",
"children": [
{ "text": "Our work", "url": "/en/#clients" },
{ "text": "Our instances", "url": "/en/#services-libres" },
{ "text": "FAQ", "url": "/en/#faq" },
{ "text": "Press", "url": "/en/press/" },
{ "text": "Labola", "url": "https://labola.o-k-i.net/", "external": true }
]
},
{ "text": "Contact", "url": "/en/#contact" }
]
+26
View File
@@ -0,0 +1,26 @@
{
"section_title": "Our",
"section_title_accent": "Partners",
"section_subtitle": "They share our values and help enrich our free digital ecosystem",
"link_text": "Discover on GADE",
"items": [
{
"name": "Joukawouvè",
"logo": "/assets/images/joukawouve.png",
"description": "Sharing Guadeloupean and international news.",
"url": "https://gade.o-k-i.net/accounts/joukawouve"
},
{
"name": "cyber-mawonaj",
"logo": "/assets/images/cyber_mawonaj.jpg",
"description": "Towards digital mawonaj - Winning your freedom also runs through the digital world.",
"url": "https://gade.o-k-i.net/c/cyber_mawonaj/videos"
},
{
"name": "Aktivist Vybz #AKV",
"logo": "/assets/images/akv.png",
"description": "Committed selectors and DJs, with content focused on activism and cultural expression.",
"url": "https://gade.o-k-i.net/accounts/aktivist_vybz_akv"
}
]
}
+33
View File
@@ -0,0 +1,33 @@
{
"title": "Press",
"title_accent": "& Media",
"lede": "Press resources for DJANGOKAM, the first Caribbean AI artist, produced by ORGANISATION KA INTERNATIONALE (OKI). HD visuals and listening links, ready to use for newsrooms and radio programmers.",
"facts_title": "The essentials",
"facts": [
{ "label": "Artist", "value": "DJANGOKAM, the first Caribbean AI artist, joined by NYYOKA in duets" },
{ "label": "Producer", "value": "ORGANISATION KA INTERNATIONALE (OKI), a cultural association based in Basse-Terre, Guadeloupe" },
{ "label": "Discography", "value": "12 releases available on every platform, listed on MusicBrainz" },
{ "label": "Official videos", "value": "\"I Want You Girl\" and \"Ish Mwen KUTE\"" },
{ "label": "Language", "value": "Sings in KA, a language known as \"Creole\", with lyrics and translations on PAWÒL-NU" }
],
"visuals_title": "HD visuals",
"visuals_intro": "Free to use for editorial coverage of DJANGOKAM. Click a cover for a preview, or download the high-resolution PDF.",
"visuals": [
{ "image": "/assets/images/djangokam-she-told-me.webp", "caption": "\"She Told Me (Fanm-la di mwen)\" — DJANGOKAM x NYYOKA", "pdf": "DJANGOKAM_She_Told_Me_HD.pdf" },
{ "image": "/assets/images/djangokam-i-want-you-girl.webp", "caption": "\"I Want You Girl\"", "pdf": "DJANGOKAM_I_Want_You_Girl_HD.pdf" },
{ "image": "/assets/images/djangokam-ish-mwen-kute.jpg", "caption": "\"Ish Mwen KUTE\"", "pdf": "DJANGOKAM_Ish_Mwen_Kute_HD.pdf" }
],
"visual_pdf_label": "HD PDF",
"visuals_pdf_label": "Download all 3 HD visuals (PDF)",
"visuals_pdf_file": "DJANGOKAM_Visuels_HD.pdf",
"links_title": "Listen & watch",
"links": [
{ "text": "Listen on PAWÒL-NU (lyrics & translations)", "url": "https://pawol.nu" },
{ "text": "DJANGOKAM on every platform", "url": "https://djangokam.pawol.nu" },
{ "text": "NYYOKA on every platform", "url": "https://nyyoka.pawol.nu" },
{ "text": "Videos on GADE (PeerTube, sovereign hosting)", "url": "https://gade.o-k-i.net" }
],
"contact_title": "Press contact",
"contact_text": "Localised press kit, additional visuals, broadcast WAV or interview requests: get in touch, we reply quickly.",
"contact_email": "kontak@o-k-i.net"
}
+21
View File
@@ -0,0 +1,21 @@
{
"section_title": "Our",
"section_title_accent": "Web Projects",
"link_text": "Visit the site",
"items": [
{
"name": "PAWOL.NU",
"icon": "🎶",
"domain": "pawol.nu",
"description": "Transcriptions and translations of musical works",
"url": "https://pawol.nu/"
},
{
"name": "GONG.GP",
"icon": "📚",
"domain": "gong.gp",
"description": "Historical documents from the GONG",
"url": "https://gong.gp/"
}
]
}
+48
View File
@@ -0,0 +1,48 @@
{
"section_title": "Solutions for",
"section_title_accent": "every need",
"section_subtitle": "Whether you're an association, a business or an engaged citizen, we have the tools for your digital transition",
"benefits_label": "What you get:",
"footer_line1": "Ready to take the leap?",
"footer_line2": "Because every great change starts with a conversation",
"items": [
{
"icon": "✊🏿",
"title": "Activist Associations & Unions",
"description": "You fight, you organise, you mobilise, your digital tool should be up to the task. OKI offers preferential rates to committed organisations so budget is never a barrier.",
"cta": "Request a quote",
"benefits": [
"Solidarity pricing matched to your resources",
"Custom web application (membership, calendar, petitions...)",
"Professional, accessible showcase website",
"Secure hosting, independent from GAFAM",
"Ongoing technical support"
]
},
{
"icon": "🏛️",
"title": "Associations & Collectives",
"description": "Whatever your cause, we build the digital tool that matches exactly what you need, not a generic template, a real application designed for you.",
"cta": "Contact us",
"benefits": [
"Custom web application development",
"WordPress site or static solution",
"Event, member and donation management",
"Ethical, secure hosting",
"Training and support included"
]
},
{
"icon": "💼",
"title": "Responsible Businesses",
"description": "Want an ethical digital presence, without depending on the giants of the web? We build solid web solutions that match your values.",
"cta": "Contact us",
"benefits": [
"Custom web development",
"Ethical, secure hosting",
"Audit of your existing infrastructure",
"Free-software strategy consulting"
]
}
]
}
+39
View File
@@ -0,0 +1,39 @@
{
"section_title": "Our",
"section_title_accent": "hosted services",
"section_subtitle": "Free alternatives to the giants of the web, your data stays under your control, not on Google's or Amazon's servers.",
"items": [
{
"name": "BOKANTE",
"icon": "🐘",
"platform": "Mastodon",
"description": "Our free social network instance. Exchange, share and connect without surveillance or algorithms, far from X or Facebook.",
"url": "https://bokante.o-k-i.net",
"linkText": "Join BOKANTE"
},
{
"name": "GADE",
"icon": "📺",
"platform": "PeerTube",
"description": "Our free and sovereign video instance. Stream your videos without algorithms or censorship, dedicated to Afro-diasporic languages, cultures and productions.",
"url": "https://gade.o-k-i.net",
"linkText": "Watch on GADE"
},
{
"name": "NIYAJ",
"icon": "☁️",
"platform": "Nextcloud",
"description": "Your personal cloud, far from Google's servers. Files, calendar, contacts, collaborative documents, everything Google Drive offers, but your data stays yours.",
"url": "https://niyaj.o-k-i.net",
"linkText": "Access NIYAJ"
},
{
"name": "KUTE",
"icon": "🎙️",
"platform": "Castopod",
"description": "Our free podcasting instance. Create, host and distribute your podcasts fully autonomously, without algorithms or censorship.",
"url": "https://kute.o-k-i.net/",
"linkText": "Discover KUTE"
}
]
}
+12
View File
@@ -0,0 +1,12 @@
{
"name": "ORGANISATION KA INTERNATIONALE",
"shortName": "OKI",
"description": "We build custom web applications for grassroots associations, collectives and activist organisations, with rates that match your means.",
"url": "https://o-k-i.net",
"email": "kontak@o-k-i.net",
"copyright": "© 2025 ORGANISATION KA INTERNATIONALE",
"tagline": "Digital tools in service of your struggles",
"og_tagline": "Taking back control of our internet",
"keywords": "OKI, ORGANISATION KA INTERNATIONALE, custom web application, activist associations, web development, digital sovereignty, solidarity pricing, free software, Guadeloupe, Martinique, Caribbean, ethical digital, Castopod, KUTE, ethical hosting, GAFAM alternative",
"og_locale": "en_US"
}
+22
View File
@@ -0,0 +1,22 @@
{
"section_title": "Support",
"section_title_accent": "Us",
"lede": "Every like, every share, every donation matters to build that internet",
"lede_secondary": "One where our ancestors wouldn't be erased by blind algorithms. One where a young woman from Lapwent (Pointe-à-Pitre) can launch a media outlet in a language called \"Creole\", without asking a multinational for permission.",
"one_time_title": "One-time donation",
"one_time_suffix": "€",
"custom_amount_label": "Custom amount:",
"custom_amount_placeholder": "Amount",
"custom_amount_btn": "Donate",
"monthly_title": "Monthly donation",
"monthly_suffix": "€/month",
"custom_monthly_label": "Custom monthly amount:",
"custom_monthly_btn": "Subscribe",
"alt_title": "Other ways to support us",
"liberapay_title": "Liberapay",
"liberapay_text": "Support us via Liberapay, a free and ethical platform",
"kofi_title": "Ko-fi",
"kofi_text": "Buy us a coffee on Ko-fi to cheer us on",
"security_stripe": "Direct donations (amounts above) are secured by <a href=\"https://stripe.com/\" target=\"_blank\">Stripe</a>.",
"security_alt": "Liberapay and Ko-fi use their own secure payment systems."
}
+5
View File
@@ -0,0 +1,5 @@
{
"theme_toggle": "Toggle theme",
"lang_switch_label": "FR",
"back_home": "Back to home"
}
+22
View File
@@ -0,0 +1,22 @@
[
{
"icon": "✊🏿",
"title": "Commitment",
"description": "Priority to organisations fighting for a fairer world"
},
{
"icon": "🔓",
"title": "Freedom",
"description": "Free software, your data under your control"
},
{
"icon": "🤝🏿",
"title": "Solidarity",
"description": "Rates that match what you can actually pay"
},
{
"icon": "🛡️",
"title": "Sovereignty",
"description": "Independence from GAFAM and centralised platforms"
}
]
+29
View File
@@ -0,0 +1,29 @@
{
"section_title": "Ils nous ont",
"section_title_accent": "fait confiance",
"section_subtitle": "Des organisations engagées qui ont choisi OKI pour construire leur présence numérique",
"link_text": "Visiter le site",
"items": [
{
"name": "KA UBUNTU",
"domain": "kaubuntu.com",
"url": "https://kaubuntu.com",
"logo": "https://kaubuntu.com/wp-content/uploads/2026/04/logo-ka-ubuntu.png",
"description": "Mouvement politique panafricaniste et indépendantiste réunionnais. Lutte pour l'autodétermination de La Réunion et l'unité africaine. \"Je suis parce que nous sommes.\""
},
{
"name": "KA UBUNTU — Hub multimédia",
"domain": "kaubuntu.re",
"url": "https://kaubuntu.re",
"logo": "https://kaubuntu.re/img/logo.png",
"description": "Agrégateur multimédia centralisé pour Ka Ubuntu : vidéos YouTube, articles, Instagram et TikTok réunis en une seule page. Application web progressive (PWA)."
},
{
"name": "KBM Ka Pou Nou Bwè é Manjé",
"domain": "kbm.gp",
"url": "https://kbm.gp",
"logo": "https://kbm.gp/images/logo-1024.webp",
"description": "Mouvement pour l'émancipation et la souveraineté alimentaire du peuple guadeloupéen. Radio communautaire Radyo Bòkaz, podcasts, lakou et agriculture locale."
}
]
}
+32
View File
@@ -0,0 +1,32 @@
{
"title": "Envie de passer à l'action ?",
"lede": "« Mais je sais pas par où commencer ! » Aucun souci ! On t'accompagne pas à pas. Un message sur nos réseaux, un mail à <a href=\"mailto:kontak@o-k-i.net\">kontak@o-k-i.net</a>, et on te montre comment ton talent peut changer les choses. Même si c'est juste une idée dans ta tête chez nous, les idées deviennent des actions.",
"sections": [
{
"title": "🌐 Web & Contact",
"links": [
{ "text": "kontak@o-k-i.net", "url": "mailto:kontak@o-k-i.net" }
]
},
{
"title": "💬 Réseaux sociaux",
"links": [
{ "text": "Telegram", "url": "https://t.me/OrganisationKA" },
{ "text": "X (Twitter)", "url": "https://x.com/OrganisationKA" }
]
},
{
"title": "💬 Communauté",
"links": [
{ "text": "Discord", "url": "https://discord.gg/a2r9NYNM" },
{ "text": "Revolt", "url": "https://rvlt.gg/e1zJrg3p" }
]
},
{
"title": "💻 Code & Développement",
"links": [
{ "text": "Labola (Gitea)", "url": "https://labola.o-k-i.net/" }
]
}
]
}
+63
View File
@@ -0,0 +1,63 @@
{
"surtitre": "Notre projet musical",
"titre": "DJANGOKAM",
"titreAccent": "l'artiste IA Caribéen",
"accroche": "Quand l'intelligence artificielle chante en KA.",
"message_cle": "DJANGOKAM n'est pas simplement un artiste virtuel. Il est le premier projet musical porté par ORGANISATION KA INTERNATIONALE (OKI), une association culturelle guadeloupéenne qui explore les possibilités offertes par l'intelligence artificielle pour promouvoir les langues dites « créoles », les cultures et la création artistique Caribéennes. À travers ce projet, OKI démontre que les technologies émergentes peuvent être mises au service du patrimoine culturel plutôt que de s'y opposer.",
"histoire": [
"DJANGOKAM est né il y a 29 ans à Wanakaera - le nom que les Kalinas, premiers habitants de l'île, donnaient à ce qu'on appelle aujourd'hui la Martinique. Il porte le reggae, le zouk et le konpa de scène en scène, jusqu'à la K-pop qu'il chante en coréen. La langue de son cœur est le KA, celle qu'on appelle à tort « créole » ; son arme, la musique. Ses scènes préférées : Wanakaera et Karukera, l'île de son grand-père - la Guadeloupe.",
"À ses côtés, NYYOKA, artiste IA Caribéenne du même collectif, mène le même combat - en solo ou en duo, comme sur le single « She Told Me (Fanm-la di mwen) »."
],
"duo": {
"image": "/assets/images/djangokam-she-told-me.webp",
"alt": "Pochette du single « She Told Me (Fanm-la di mwen) » - DJANGOKAM x NYYOKA",
"legende": "« She Told Me (Fanm-la di mwen) » - DJANGOKAM x NYYOKA",
"url": "https://pawol.nu/paroles/djangokam-nyyoka-she-told-me-fanm-la-di-mwen"
},
"clips": [
{
"titre": "I Want You Girl",
"image": "/assets/images/djangokam-i-want-you-girl.webp",
"alt": "Pochette du clip « I Want You Girl »",
"url": "https://pawol.nu/paroles/djangokam-i-want-you-girl"
},
{
"titre": "Ish Mwen KUTE",
"image": "/assets/images/djangokam-ish-mwen-kute.jpg",
"alt": "Pochette du clip « Ish Mwen KUTE »",
"url": "https://pawol.nu/paroles/djangokam-ish-mwen-kute"
}
],
"faits": [
{
"icon": "🎵",
"chiffre": "12 sorties",
"texte": "disponibles sur toutes les plateformes (Spotify, Apple Music, Deezer, Tidal, Qobuz, Amazon Music, SoundCloud), référencées sur MusicBrainz"
},
{
"icon": "🎬",
"chiffre": "2 clips officiels",
"texte": "pour les singles « I Want You Girl » et « Ish Mwen KUTE »"
},
{
"icon": "🎤",
"chiffre": "2 artistes IA",
"texte": "DJANGOKAM et NYYOKA, duos et remixes croisés"
},
{
"icon": "📝",
"chiffre": "Paroles & traductions",
"texte": "transcriptions, traductions et karaokés de chaque titre sur <a href=\"https://pawol.nu\" target=\"_blank\" rel=\"noopener noreferrer\">PAWÒL-NU</a>"
}
],
"ia_instrument": "L'intelligence artificielle n'a pas vocation à remplacer les artistes : elle constitue un nouvel instrument, un outil de création, un laboratoire artistique - et un moyen de faire rayonner les cultures dites « créoles ». DJANGOKAM est un personnage artistique complet - identité, univers graphique, répertoire - créé et dirigé par des humains. Il est la vitrine musicale de l'écosystème de OKI : <a href=\"https://pawol.nu\" target=\"_blank\" rel=\"noopener noreferrer\">PAWÒL-NU</a>, médias libres, outils libres et plateformes du Fédiverse.",
"boutons": [
{ "text": "Écouter DJANGOKAM", "url": "https://djangokam.pawol.nu", "primary": true },
{ "text": "Découvrir NYYOKA", "url": "https://nyyoka.pawol.nu", "primary": false },
{ "text": "PAWÒL-NU", "url": "https://pawol.nu", "primary": false }
],
"presse": {
"texte": "Presse & médias : dossier de presse, visuels HD et interviews sur demande -",
"email": "kontak@o-k-i.net"
}
}
+25
View File
@@ -0,0 +1,25 @@
{
"section_title": "Votre projet",
"section_title_accent": "commence ici",
"section_subtitle": "Parce que chaque organisation mérite des outils numériques à la hauteur de ses ambitions",
"cards": [
{
"icon": "✊🏿",
"title": "Associations Militantes",
"text": "Une application web sur mesure avec tarifs préférentiels pour vos luttes",
"cta": "Contactez-nous"
},
{
"icon": "🏛️",
"title": "Associations & Collectifs",
"text": "Site vitrine, gestion de membres, agenda, développé pour vous",
"cta": "Contactez-nous"
},
{
"icon": "💼",
"title": "Entreprises Responsables",
"text": "Présence numérique éthique, hébergement indépendant des GAFAM",
"cta": "Contactez-nous"
}
]
}
+33
View File
@@ -0,0 +1,33 @@
{
"section_title": "Questions",
"section_title_accent": "fréquentes",
"section_subtitle": "Tout ce que vous devez savoir pour commencer votre transition numérique",
"footer_text": "Vous avez d'autres questions ?",
"footer_cta": "Contactez-nous",
"items": [
{
"question": "Qu'est-ce qu'une application web sur mesure ?",
"answer": "C'est une application développée spécifiquement pour répondre à VOS besoins, pas un template générique qu'on adapte à la va-vite. On part de votre fonctionnement réel : gestion de membres, agenda militant, système de pétitions, caisse de grève, newsletter... et on construit l'outil qui correspond exactement à votre organisation."
},
{
"question": "Quels sont vos tarifs préférentiels pour les associations militantes ?",
"answer": "Nous appliquons une grille tarifaire solidaire basée sur vos ressources réelles. Pour les syndicats, collectifs et associations militantes à but non lucratif, nous pratiquons des prix réduits et pouvons étaler le paiement. L'audit initial est gratuit. Contactez-nous pour un devis personnalisé : kontak@o-k-i.net"
},
{
"question": "Faut-il être expert en informatique pour utiliser vos solutions ?",
"answer": "Pas du tout. Nous concevons des interfaces simples, adaptées à vos bénévoles et adhérents. On inclut systématiquement une formation à la prise en main et un accompagnement continu. Si quelque chose ne fonctionne pas ou doit évoluer, on est là."
},
{
"question": "Combien de temps pour développer notre application ?",
"answer": "Ça dépend de la complexité. Un site vitrine : 2 à 4 semaines. Une application avec gestion de membres et d'événements : 4 à 8 semaines. On travaille en transparence avec vous, avec des points réguliers pour valider chaque étape."
},
{
"question": "Nos données sont-elles en sécurité ?",
"answer": "Oui. Vos données vous appartiennent et restent sur des serveurs que nous contrôlons, pas chez des géants américains. Nous n'avons aucun intérêt commercial à exploiter vos informations. Sauvegardes automatiques quotidiennes et accès sécurisé inclus."
},
{
"question": "Pourquoi le nom 'KA' ?",
"answer": "Le Ka représente avant tout l'énergie vitale, la force divine présente en chaque être vivant. Dans la spiritualité caribéenne héritée des traditions africaines et égyptiennes, le Ka est cette puissance intérieure qui nous anime et nous relie les uns aux autres. Le Ka, c'est aussi notre tambour sacré, nos langues, nos traditions tout ce qui porte notre identité. ORGANISATION KA INTERNATIONALE incarne cette force vitale collective : un internet qui nous ressemble, qui vibre de nos énergies, de nos voix, de notre puissance créatrice."
}
]
}
+4
View File
@@ -0,0 +1,4 @@
{
"tagline_line": "Association à but non lucratif | Promotion des langues et cultures | Alternatives libres aux GAFAM",
"legal_link": "Mentions Légales"
}
+9
View File
@@ -0,0 +1,9 @@
{
"tags": [
"✊🏿 Applications web pour vos associations",
"💸 Tarifs préférentiels pour les organisations militantes",
"🔓 Indépendant des GAFAM"
],
"cta_primary": "Nos Solutions",
"cta_secondary": "Notre Mission"
}
+68
View File
@@ -0,0 +1,68 @@
{
"section_title": "Développement",
"section_title_accent": "Web sur Mesure",
"section_subtitle": "Chaque organisation a des besoins uniques. Nous concevons et développons l'outil numérique qui correspond exactement à votre fonctionnement, pas un template, une vraie application.",
"banner_title": "Des solutions complètes, de A à Z",
"banner_text": "OKI accompagne les associations et collectifs à chaque étape : conception, développement, hébergement, formation et maintenance.",
"features": [
"Développement d'applications web sur mesure",
"Sites vitrine professionnels",
"Instances Fédiverse clé en main",
"Hébergement sécurisé et indépendant",
"Gestion de noms de domaine",
"Sauvegardes automatiques quotidiennes",
"Formation et support technique inclus"
],
"offerings_title": "Nos offres de services",
"offer_cards": [
{
"modifier": "",
"title": "Application Web Sur Mesure",
"items": [
"Gestion de membres et adhésions",
"Agenda et gestion d'événements",
"Pétitions et mobilisation en ligne",
"Caisse de solidarité, dons",
"Newsletter et communication interne"
],
"tagline": "Développement sur mesure"
},
{
"modifier": "hosting",
"title": "Site Vitrine & Hébergement",
"items": [
"WordPress ou site statique",
"Hébergement mutualisé sécurisé",
"Base de données MySQL/PostgreSQL",
"Certificat SSL gratuit",
"Serveur mail inclus"
],
"tagline": "Hébergement éthique"
},
{
"modifier": "fediverse",
"title": "Instance Fédiverse",
"intro": "Votre association veut sa propre plateforme libre, sans dépendre d'un tiers ? On installe et administre votre instance :",
"items": [
"Mastodon / Pleroma (réseau social)",
"PeerTube (vidéo)",
"Castopod (podcast)",
"Pixelfed (photos)",
"Funkwhale (musique)"
],
"tagline": "Installation & maintenance"
}
],
"note_title": "Gestion numérique sécurisée",
"note_intro": "OKI peut assurer la gestion complète de vos propriétés numériques :",
"note_items": [
"Propriété et gestion de noms de domaine",
"Administration de comptes web (réseaux sociaux, emails)",
"Gestion sécurisée des accès et mots de passe",
"Protection contre les prises de contrôle internes",
"Médiation en cas de conflits sur les outils numériques"
],
"why_title": "Pourquoi choisir OKI ?",
"why_text": "Notre équipe technique, composée d'experts engagés, garantit l'impartialité, la sécurité et la pérennité de vos outils numériques. Nous mutualisons les coûts entre projets solidaires pour des tarifs justes et accessibles et nous appliquons des tarifs préférentiels aux organisations militantes.",
"why_cta": "Contactez-nous"
}
+6
View File
@@ -0,0 +1,6 @@
{
"section_title": "Notre",
"section_title_accent": "Mission",
"paragraph_main": "OKI développe des applications web sur mesure pour les associations, collectifs et organisations qui changent le monde. Nous croyons que la qualité des outils numériques ne devrait pas être réservée à ceux qui ont les moyens, c'est pourquoi nous proposons des tarifs adaptés à la réalité de chaque structure, avec une attention particulière pour les organisations militantes.",
"paragraph_secondary": "Nos langues, nos cultures, nos luttes méritent des outils qui leur ressemblent. Pas des templates génériques, de vraies solutions pensées pour vous."
}
+18
View File
@@ -0,0 +1,18 @@
[
{ "text": "Solutions", "url": "/#solutions" },
{ "text": "Nos projets", "url": "/#projets" },
{ "text": "DJANGOKAM", "url": "/#djangokam" },
{ "text": "Services", "url": "/#hebergement" },
{ "text": "Dons", "url": "/#dons" },
{
"text": "Ressources",
"children": [
{ "text": "Réalisations", "url": "/#clients" },
{ "text": "Nos instances", "url": "/#services-libres" },
{ "text": "FAQ", "url": "/#faq" },
{ "text": "Presse", "url": "/presse/" },
{ "text": "Labola", "url": "https://labola.o-k-i.net/", "external": true }
]
},
{ "text": "Contact", "url": "/#contact" }
]
+26
View File
@@ -0,0 +1,26 @@
{
"section_title": "Nos",
"section_title_accent": "Partenaires",
"section_subtitle": "Ils partagent nos valeurs et contribuent à enrichir notre écosystème numérique libre",
"link_text": "Découvrir sur GADE",
"items": [
{
"name": "Joukawouvè",
"logo": "/assets/images/joukawouve.png",
"description": "Partage de l'actualité guadeloupéenne et internationale.",
"url": "https://gade.o-k-i.net/accounts/joukawouve"
},
{
"name": "cyber-mawonaj",
"logo": "/assets/images/cyber_mawonaj.jpg",
"description": "Vers le mawonaj numérique - Conquérir sa liberté passe aussi par le numérique.",
"url": "https://gade.o-k-i.net/c/cyber_mawonaj/videos"
},
{
"name": "Aktivist Vybz #AKV",
"logo": "/assets/images/akv.png",
"description": "Sélecteurs et DJs engagés, avec un contenu axé sur l'activisme et l'expression culturelle.",
"url": "https://gade.o-k-i.net/accounts/aktivist_vybz_akv"
}
]
}
+33
View File
@@ -0,0 +1,33 @@
{
"title": "Presse",
"title_accent": "& Médias",
"lede": "Ressources presse pour DJANGOKAM, le premier artiste IA caribéen produit par ORGANISATION KA INTERNATIONALE (OKI). Visuels HD et liens d'écoute, prêts à l'emploi pour les rédactions et programmateurs radio.",
"facts_title": "L'essentiel",
"facts": [
{ "label": "Artiste", "value": "DJANGOKAM, premier artiste IA caribéen, porté par NYYOKA en duo" },
{ "label": "Producteur", "value": "ORGANISATION KA INTERNATIONALE (OKI), association culturelle basée à Basse-Terre, Guadeloupe" },
{ "label": "Discographie", "value": "12 sorties disponibles sur toutes les plateformes, référencées sur MusicBrainz" },
{ "label": "Clips officiels", "value": "\"I Want You Girl\" et \"Ish Mwen KUTE\"" },
{ "label": "Langue", "value": "Chante en KA, langue dite « créole », avec paroles et traductions sur PAWÒL-NU" }
],
"visuals_title": "Visuels HD",
"visuals_intro": "Libres de droits pour un usage rédactionnel autour de DJANGOKAM. Cliquez sur une pochette pour l'aperçu, ou téléchargez le PDF haute résolution.",
"visuals": [
{ "image": "/assets/images/djangokam-she-told-me.webp", "caption": "« She Told Me (Fanm-la di mwen) » — DJANGOKAM x NYYOKA", "pdf": "DJANGOKAM_She_Told_Me_HD.pdf" },
{ "image": "/assets/images/djangokam-i-want-you-girl.webp", "caption": "« I Want You Girl »", "pdf": "DJANGOKAM_I_Want_You_Girl_HD.pdf" },
{ "image": "/assets/images/djangokam-ish-mwen-kute.jpg", "caption": "« Ish Mwen KUTE »", "pdf": "DJANGOKAM_Ish_Mwen_Kute_HD.pdf" }
],
"visual_pdf_label": "PDF HD",
"visuals_pdf_label": "Télécharger les 3 visuels HD (PDF)",
"visuals_pdf_file": "DJANGOKAM_Visuels_HD.pdf",
"links_title": "Écoute & visionnage",
"links": [
{ "text": "Écouter sur PAWÒL-NU (paroles & traductions)", "url": "https://pawol.nu" },
{ "text": "DJANGOKAM sur toutes les plateformes", "url": "https://djangokam.pawol.nu" },
{ "text": "NYYOKA sur toutes les plateformes", "url": "https://nyyoka.pawol.nu" },
{ "text": "Vidéos sur GADE (PeerTube, hébergement souverain)", "url": "https://gade.o-k-i.net" }
],
"contact_title": "Contact presse",
"contact_text": "Dossier de presse localisé, visuels complémentaires, WAV broadcast ou proposition d'interview : contactez-nous, nous répondons rapidement.",
"contact_email": "kontak@o-k-i.net"
}
+21
View File
@@ -0,0 +1,21 @@
{
"section_title": "Nos",
"section_title_accent": "Projets Web",
"link_text": "Visiter le site",
"items": [
{
"name": "PAWOL.NU",
"icon": "🎶",
"domain": "pawol.nu",
"description": "Transcriptions et traductions de productions musicales",
"url": "https://pawol.nu/"
},
{
"name": "GONG.GP",
"icon": "📚",
"domain": "gong.gp",
"description": "Documents historiques du GONG",
"url": "https://gong.gp/"
}
]
}
+48
View File
@@ -0,0 +1,48 @@
{
"section_title": "Des solutions pour",
"section_title_accent": "chaque besoin",
"section_subtitle": "Que vous soyez association, entreprise ou citoyen engagé, nous avons les outils pour votre transition numérique",
"benefits_label": "Ce que vous obtenez :",
"footer_line1": "Prêt à franchir le pas ?",
"footer_line2": "Parce que tout grand changement commence par une conversation",
"items": [
{
"icon": "✊🏿",
"title": "Associations Militantes & Syndicats",
"description": "Vous luttez, vous organisez, vous mobilisez, votre outil numérique doit être à la hauteur. OKI propose des tarifs préférentiels aux organisations engagées pour que le budget ne soit jamais un frein.",
"cta": "Demander un devis",
"benefits": [
"Tarifs solidaires adaptés à vos ressources",
"Application web sur mesure (gestion membres, agenda, pétitions...)",
"Site vitrine professionnel et accessible",
"Hébergement sécurisé et indépendant des GAFAM",
"Accompagnement technique continu"
]
},
{
"icon": "🏛️",
"title": "Associations & Collectifs",
"description": "Quelle que soit votre cause, nous développons l'outil numérique qui correspond exactement à vos besoins pas un template générique, une vraie application pensée pour vous.",
"cta": "Contactez-nous",
"benefits": [
"Développement d'application web sur mesure",
"Site WordPress ou solution statique",
"Gestion d'événements, de membres, de dons",
"Hébergement éthique et sécurisé",
"Formation et support inclus"
]
},
{
"icon": "💼",
"title": "Entreprises Responsables",
"description": "Vous voulez une présence numérique éthique, sans dépendre des géants du web ? Nous construisons des solutions web solides qui correspondent à vos valeurs.",
"cta": "Contactez-nous",
"benefits": [
"Développement web sur mesure",
"Hébergement éthique et sécurisé",
"Audit de votre infrastructure existante",
"Conseil en stratégie numérique libre"
]
}
]
}
+39
View File
@@ -0,0 +1,39 @@
{
"section_title": "Nos",
"section_title_accent": "services hébergés",
"section_subtitle": "Des alternatives libres aux géants du web, vos données restent sous votre contrôle, pas dans les serveurs de Google ou d'Amazon.",
"items": [
{
"name": "BOKANTE",
"icon": "🐘",
"platform": "Mastodon",
"description": "Notre instance du réseau social libre. Échangez, partagez et connectez-vous sans surveillance ni algorithme, loin des réseaux de X ou Facebook.",
"url": "https://bokante.o-k-i.net",
"linkText": "Rejoindre BOKANTE"
},
{
"name": "GADE",
"icon": "📺",
"platform": "PeerTube",
"description": "Notre instance vidéo libre et souveraine. Diffusez vos vidéos sans algorithme ni censure, dédiée aux langues, cultures et productions afro-diasporiques.",
"url": "https://gade.o-k-i.net",
"linkText": "Regarder sur GADE"
},
{
"name": "NIYAJ",
"icon": "☁️",
"platform": "Nextcloud",
"description": "Votre cloud personnel, loin des serveurs de Google. Fichiers, agenda, contacts, documents collaboratifs, tout ce que Google Drive propose, mais vos données restent les vôtres.",
"url": "https://niyaj.o-k-i.net",
"linkText": "Accéder à NIYAJ"
},
{
"name": "KUTE",
"icon": "🎙️",
"platform": "Castopod",
"description": "Notre instance de podcasting libre. Créez, hébergez et diffusez vos podcasts en toute autonomie, sans algorithme ni censure.",
"url": "https://kute.o-k-i.net/",
"linkText": "Découvrir KUTE"
}
]
}
+12
View File
@@ -0,0 +1,12 @@
{
"name": "ORGANISATION KA INTERNATIONALE",
"shortName": "OKI",
"description": "Nous développons des applications web sur mesure pour les associations, collectifs et organisations militantes, avec des tarifs adaptés à vos moyens.",
"url": "https://o-k-i.net",
"email": "kontak@o-k-i.net",
"copyright": "© 2025 ORGANISATION KA INTERNATIONALE",
"tagline": "Le numérique au service de vos luttes",
"og_tagline": "Prenons le contrôle de notre internet",
"keywords": "OKI, ORGANISATION KA INTERNATIONALE, application web sur mesure, associations militantes, développement web, souveraineté numérique, tarifs solidaires, logiciel libre, Guadeloupe, Martinique, Caraïbes, numérique éthique, Castopod, KUTE, hébergement libre, alternative GAFAM",
"og_locale": "fr_FR"
}
+22
View File
@@ -0,0 +1,22 @@
{
"section_title": "Nous",
"section_title_accent": "Soutenir",
"lede": "Chaque like, chaque partage, chaque don compte pour construire cet internet-là",
"lede_secondary": "Celui où nos ancêtres ne seraient pas effacés par des algorithmes aveugles. Celui où une jeune fille de Lapwent (Pointe-à-Pitre) peut lancer un média en langue dite \"créole\", sans demander la permission à une multinationale.",
"one_time_title": "Don ponctuel",
"one_time_suffix": "€",
"custom_amount_label": "Montant personnalisé :",
"custom_amount_placeholder": "Montant",
"custom_amount_btn": "Donner",
"monthly_title": "Don mensuel",
"monthly_suffix": "€/mois",
"custom_monthly_label": "Montant mensuel personnalisé :",
"custom_monthly_btn": "S'abonner",
"alt_title": "Autres moyens de nous soutenir",
"liberapay_title": "Liberapay",
"liberapay_text": "Soutenez-nous via Liberapay, une plateforme libre et éthique",
"kofi_title": "Ko-fi",
"kofi_text": "Offrez-nous un café sur Ko-fi pour nous encourager",
"security_stripe": "Les dons directs (montants ci-dessus) sont sécurisés par <a href=\"https://stripe.com/\" target=\"_blank\">Stripe</a>.",
"security_alt": "Liberapay et Ko-fi utilisent leurs propres systèmes de paiement sécurisés."
}
+5
View File
@@ -0,0 +1,5 @@
{
"theme_toggle": "Changer de thème",
"lang_switch_label": "EN",
"back_home": "Retour à l'accueil"
}
@@ -1,6 +1,6 @@
[
{
"icon": "✊",
"icon": "✊🏿",
"title": "Engagement",
"description": "Priorité aux organisations qui luttent pour un monde plus juste"
},
@@ -10,7 +10,7 @@
"description": "Logiciels libres, données sous votre contrôle"
},
{
"icon": "🤝",
"icon": "🤝🏿",
"title": "Solidarité",
"description": "Tarifs adaptés à vos moyens réels"
},
-43
View File
@@ -1,43 +0,0 @@
[
{
"text": "Solutions",
"url": "#solutions"
},
{
"text": "Nos projets",
"url": "#projets"
},
{
"text": "DJANGOKAM",
"url": "#djangokam"
},
{
"text": "Services",
"url": "#hebergement"
},
{
"text": "Réalisations",
"url": "#clients"
},
{
"text": "Nos instances",
"url": "#services-libres"
},
{
"text": "FAQ",
"url": "#faq"
},
{
"text": "Dons",
"url": "#dons"
},
{
"text": "Contact",
"url": "#contact"
},
{
"text": "Labola",
"url": "https://labola.o-k-i.net/",
"external": true
}
]
-20
View File
@@ -1,20 +0,0 @@
[
{
"name": "Joukawouvè",
"logo": "/assets/images/joukawouve.png",
"description": "Partage de l'actualité guadeloupéenne et internationale.",
"url": "https://gade.o-k-i.net/accounts/joukawouve"
},
{
"name": "cyber-mawonaj",
"logo": "/assets/images/cyber_mawonaj.jpg",
"description": "Vers le mawonaj numérique - Conquérir sa liberté passe aussi par le numérique.",
"url": "https://gade.o-k-i.net/c/cyber_mawonaj/videos"
},
{
"name": "Aktivist Vybz #AKV",
"logo": "/assets/images/akv.png",
"description": "Sélecteurs et DJs engagés, avec un contenu axé sur l'activisme et l'expression culturelle.",
"url": "https://gade.o-k-i.net/accounts/aktivist_vybz_akv"
}
]
-16
View File
@@ -1,16 +0,0 @@
[
{
"name": "PAWOL.NU",
"icon": "🎶",
"domain": "pawol.nu",
"description": "Transcriptions et traductions de productions musicales",
"url": "https://pawol.nu/"
},
{
"name": "GONG.GP",
"icon": "📚",
"domain": "gong.gp",
"description": "Documents historiques du GONG",
"url": "https://gong.gp/"
}
]
-40
View File
@@ -1,40 +0,0 @@
[
{
"icon": "✊",
"title": "Associations Militantes & Syndicats",
"description": "Vous luttez, vous organisez, vous mobilisez, votre outil numérique doit être à la hauteur. OKI propose des tarifs préférentiels aux organisations engagées pour que le budget ne soit jamais un frein.",
"cta": "Demander un devis",
"benefits": [
"Tarifs solidaires adaptés à vos ressources",
"Application web sur mesure (gestion membres, agenda, pétitions...)",
"Site vitrine professionnel et accessible",
"Hébergement sécurisé et indépendant des GAFAM",
"Accompagnement technique continu"
]
},
{
"icon": "🏛️",
"title": "Associations & Collectifs",
"description": "Quelle que soit votre cause, nous développons l'outil numérique qui correspond exactement à vos besoins pas un template générique, une vraie application pensée pour vous.",
"cta": "Contactez-nous",
"benefits": [
"Développement d'application web sur mesure",
"Site WordPress ou solution statique",
"Gestion d'événements, de membres, de dons",
"Hébergement éthique et sécurisé",
"Formation et support inclus"
]
},
{
"icon": "💼",
"title": "Entreprises Responsables",
"description": "Vous voulez une présence numérique éthique, sans dépendre des géants du web ? Nous construisons des solutions web solides qui correspondent à vos valeurs.",
"cta": "Contactez-nous",
"benefits": [
"Développement web sur mesure",
"Hébergement éthique et sécurisé",
"Audit de votre infrastructure existante",
"Conseil en stratégie numérique libre"
]
}
]
-34
View File
@@ -1,34 +0,0 @@
[
{
"name": "BOKANTE",
"icon": "🐘",
"platform": "Mastodon",
"description": "Notre instance du réseau social libre. Échangez, partagez et connectez-vous sans surveillance ni algorithme, loin des réseaux de X ou Facebook.",
"url": "https://bokante.o-k-i.net",
"linkText": "Rejoindre BOKANTE"
},
{
"name": "GADE",
"icon": "📺",
"platform": "PeerTube",
"description": "Notre instance vidéo libre et souveraine. Diffusez vos vidéos sans algorithme ni censure, dédiée aux langues, cultures et productions afro-diasporiques.",
"url": "https://gade.o-k-i.net",
"linkText": "Regarder sur GADE"
},
{
"name": "NIYAJ",
"icon": "☁️",
"platform": "Nextcloud",
"description": "Votre cloud personnel, loin des serveurs de Google. Fichiers, agenda, contacts, documents collaboratifs, tout ce que Google Drive propose, mais vos données restent les vôtres.",
"url": "https://niyaj.o-k-i.net",
"linkText": "Accéder à NIYAJ"
},
{
"name": "KUTE",
"icon": "🎙️",
"platform": "Castopod",
"description": "Notre instance de podcasting libre. Créez, hébergez et diffusez vos podcasts en toute autonomie, sans algorithme ni censure.",
"url": "https://kute.o-k-i.net/",
"linkText": "Découvrir KUTE"
}
]
-9
View File
@@ -1,9 +0,0 @@
{
"name": "ORGANISATION KA INTERNATIONALE",
"shortName": "OKI",
"description": "Nous développons des applications web sur mesure pour les associations, collectifs et organisations militantes, avec des tarifs adaptés à vos moyens.",
"url": "https://o-k-i.net",
"email": "kontak@o-k-i.net",
"copyright": "© 2025 ORGANISATION KA INTERNATIONALE",
"tagline": "Le numérique au service de vos luttes"
}
+51 -23
View File
@@ -1,42 +1,52 @@
<!DOCTYPE html>
<html lang="fr">
<html lang="{{ locale }}">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Title & Description -->
<title>{% if title %}{{ title }} | {{ site.name }}{% else %}{{ site.name }} | {{ site.shortName }}{% endif %}</title>
<meta name="description" content="{{ description or site.description }}">
<meta name="keywords" content="OKI, ORGANISATION KA INTERNATIONALE, application web sur mesure, associations militantes, développement web, souveraineté numérique, tarifs solidaires, logiciel libre, Guadeloupe, Martinique, Caraïbes, numérique éthique, Castopod, KUTE, hébergement libre, alternative GAFAM">
<meta name="author" content="{{ site.name }}">
<title>{% if title %}{{ title }} | {{ t.site.name }}{% else %}{{ t.site.name }} | {{ t.site.shortName }}{% endif %}</title>
<meta name="description" content="{{ description or t.site.description }}">
<meta name="keywords" content="{{ t.site.keywords }}">
<meta name="author" content="{{ t.site.name }}">
<!-- Canonical URL -->
<link rel="canonical" href="https://o-k-i.net{{ page.url or '/' }}">
<!-- Alternate languages -->
<link rel="alternate" hreflang="fr" href="https://o-k-i.net/">
<link rel="alternate" hreflang="en" href="https://o-k-i.net/en/">
<link rel="alternate" hreflang="x-default" href="https://o-k-i.net/">
<!-- Open Graph / Facebook -->
<meta property="og:type" content="website">
<meta property="og:url" content="https://o-k-i.net{{ page.url or '/' }}">
<meta property="og:title" content="{% if title %}{{ title }}{% else %}{{ site.name }} - Prenons le contrôle de notre internet{% endif %}">
<meta property="og:description" content="{{ description or site.description }}">
<meta property="og:image" content="https://o-k-i.net/assets/images/logo-512x512.png">
<meta property="og:title" content="{% if title %}{{ title }}{% else %}{{ t.site.name }} - {{ t.site.og_tagline }}{% endif %}">
<meta property="og:description" content="{{ description or t.site.description }}">
<meta property="og:image" content="{{ '/assets/images/logo-512x512.png' | cdn }}">
<meta property="og:image:width" content="512">
<meta property="og:image:height" content="512">
<meta property="og:image:alt" content="Logo {{ site.name }}">
<meta property="og:locale" content="fr_FR">
<meta property="og:site_name" content="{{ site.name }}">
<meta property="og:image:alt" content="Logo {{ t.site.name }}">
<meta property="og:locale" content="{{ t.site.og_locale }}">
<meta property="og:site_name" content="{{ t.site.name }}">
<!-- Twitter Card -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:url" content="https://o-k-i.net{{ page.url or '/' }}">
<meta name="twitter:title" content="{% if title %}{{ title }}{% else %}{{ site.name }} - Prenons le contrôle de notre internet{% endif %}">
<meta name="twitter:description" content="{{ description or site.description }}">
<meta name="twitter:image" content="https://o-k-i.net/assets/images/logo-512x512.png">
<meta name="twitter:image:alt" content="Logo {{ site.name }}">
<meta name="twitter:title" content="{% if title %}{{ title }}{% else %}{{ t.site.name }} - {{ t.site.og_tagline }}{% endif %}">
<meta name="twitter:description" content="{{ description or t.site.description }}">
<meta name="twitter:image" content="{{ '/assets/images/logo-512x512.png' | cdn }}">
<meta name="twitter:image:alt" content="Logo {{ t.site.name }}">
<!-- Favicons -->
<link rel="icon" type="image/x-icon" href="/assets/images/favicon.ico">
<link rel="icon" type="image/png" sizes="512x512" href="/assets/images/logo-512x512.png">
<link rel="apple-touch-icon" href="/assets/images/logo-512x512.png">
<link rel="icon" type="image/x-icon" href="{{ '/assets/images/favicon.ico' | cdn }}">
<link rel="icon" type="image/png" sizes="512x512" href="{{ '/assets/images/logo-512x512.png' | cdn }}">
<link rel="apple-touch-icon" href="{{ '/assets/images/logo-512x512.png' | cdn }}">
<!-- Fonts -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Archivo:wght@600;700;800;900&family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet">
<!-- Stylesheet -->
<link rel="stylesheet" href="/assets/css/styles.css">
@@ -46,11 +56,11 @@
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "{{ site.name }}",
"alternateName": "{{ site.shortName }}",
"name": "{{ t.site.name }}",
"alternateName": "{{ t.site.shortName }}",
"url": "https://o-k-i.net",
"logo": "https://o-k-i.net/assets/images/logo-512x512.png",
"description": "{{ site.description }}",
"logo": "{{ '/assets/images/logo-512x512.png' | cdn }}",
"description": "{{ t.site.description }}",
"address": {
"@type": "PostalAddress",
"streetAddress": "36 Rue Lethière",
@@ -84,7 +94,7 @@
"sameAs": ["https://djangokam.pawol.nu"],
"member": {
"@type": "Organization",
"name": "{{ site.name }}",
"name": "{{ t.site.name }}",
"url": "https://o-k-i.net"
}
}
@@ -109,6 +119,24 @@
}
})();
</script>
<script>
(function() {
// Redirection automatique selon la langue du navigateur, sauf choix explicite déjà mémorisé
var pref = localStorage.getItem('oki-lang-pref');
if (pref) return;
var browserLang = (navigator.language || navigator.userLanguage || '').toLowerCase();
var wantsEnglish = browserLang.indexOf('en') === 0;
var currentLocale = '{{ locale }}';
if (wantsEnglish && currentLocale !== 'en') {
window.location.replace('/en/' + window.location.hash);
} else if (!wantsEnglish && currentLocale === 'en') {
window.location.replace('/' + window.location.hash);
}
})();
</script>
</head>
<body>
{% include "partials/nav.njk" %}
+4 -4
View File
@@ -1,12 +1,12 @@
<section id="clients" class="partners">
<div class="section-container">
<h2 style="text-align: center; margin-bottom: 1rem;">Ils nous ont <span class="accent-text">fait confiance</span></h2>
<h2>{{ t.clients.section_title }} <span class="accent-text">{{ t.clients.section_title_accent }}</span></h2>
<p class="section-subtitle">
Des organisations engagées qui ont choisi OKI pour construire leur présence numérique
{{ t.clients.section_subtitle }}
</p>
<div class="partners-grid">
{% for client in clients %}
{% for client in t.clients.items %}
<a href="{{ client.url }}" target="_blank" rel="noopener noreferrer" class="partner-card">
<div class="partner-logo-container">
<img src="{{ client.logo }}" alt="Logo {{ client.name }}" class="partner-logo">
@@ -15,7 +15,7 @@
<p class="project-domain">{{ client.domain }}</p>
<p class="partner-description">{{ client.description }}</p>
<span class="partner-link">
Visiter le site
{{ t.clients.link_text }}
</span>
</a>
{% endfor %}
+4 -4
View File
@@ -1,12 +1,12 @@
<section class="contact" id="contact">
<div class="section-container">
<h2 style="text-align: center; margin-bottom: 1rem; color: var(--or-oki);">Envie de passer à l'action ?</h2>
<p style="text-align: center; max-width: 800px; margin: 0 auto 3rem; font-size: 1.1rem; line-height: 1.6;">
« Mais je sais pas par où commencer ! » Aucun souci ! On t'accompagne pas à pas. Un message sur nos réseaux, un mail à <a href="mailto:kontak@o-k-i.net" style="color: var(--or-oki);">kontak@o-k-i.net</a>, et on te montre comment ton talent peut changer les choses. Même si c'est juste une idée dans ta tête chez nous, les idées deviennent des actions.
<h2>{{ t.contact.title }}</h2>
<p class="contact-lede">
{{ t.contact.lede | safe }}
</p>
</div>
<div class="contact-grid">
{% for section in contact.sections %}
{% for section in t.contact.sections %}
<div class="contact-card">
<h3>{{ section.title }}</h3>
<div class="contact-links">
+16 -16
View File
@@ -1,55 +1,55 @@
<section id="djangokam" class="djangokam">
<div class="section-container">
<p class="djangokam-surtitre">{{ djangokam.surtitre }}</p>
<h2>{{ djangokam.titre }} <span class="accent-text">{{ djangokam.titreAccent }}</span></h2>
<p class="section-subtitle">{{ djangokam.accroche }}</p>
<p class="djangokam-surtitre">{{ t.djangokam.surtitre }}</p>
<h2>{{ t.djangokam.titre }} <span class="accent-text">{{ t.djangokam.titreAccent }}</span></h2>
<p class="section-subtitle">{{ t.djangokam.accroche }}</p>
<img src="/assets/images/djangokam-portrait.webp" alt="Portrait officiel de DJANGOKAM" class="djangokam-portrait" width="512" height="512" loading="lazy">
<img src="{{ '/assets/images/djangokam-portrait.webp' | cdn }}" alt="Portrait officiel de DJANGOKAM" class="djangokam-portrait" width="512" height="512" loading="lazy">
<blockquote class="djangokam-highlight">
{{ djangokam.message_cle }}
{{ t.djangokam.message_cle }}
</blockquote>
<div class="djangokam-histoire-wrapper">
<div class="djangokam-histoire">
{% for paragraphe in djangokam.histoire %}
{% for paragraphe in t.djangokam.histoire %}
<p>{{ paragraphe }}</p>
{% endfor %}
</div>
<figure class="djangokam-duo">
<a href="{{ djangokam.duo.url }}" target="_blank" rel="noopener noreferrer">
<img src="{{ djangokam.duo.image }}" alt="{{ djangokam.duo.alt }}" loading="lazy">
<figcaption>{{ djangokam.duo.legende }}</figcaption>
<a href="{{ t.djangokam.duo.url }}" target="_blank" rel="noopener noreferrer">
<img src="{{ t.djangokam.duo.image | cdn }}" alt="{{ t.djangokam.duo.alt }}" loading="lazy">
<figcaption>{{ t.djangokam.duo.legende }}</figcaption>
</a>
</figure>
</div>
<div class="djangokam-facts">
{% for fait in djangokam.faits %}
{% for fait in t.djangokam.faits %}
<div class="djangokam-fact-card">
<div class="djangokam-fact-icon">{{ fait.icon }}</div>
<h3>{{ fait.chiffre }}</h3>
<p>{{ fait.texte }}</p>
<p>{{ fait.texte | safe }}</p>
</div>
{% endfor %}
</div>
<div class="djangokam-clips">
{% for clip in djangokam.clips %}
{% for clip in t.djangokam.clips %}
<figure class="djangokam-clip">
<a href="{{ clip.url }}" target="_blank" rel="noopener noreferrer">
<img src="{{ clip.image }}" alt="{{ clip.alt }}" loading="lazy">
<img src="{{ clip.image | cdn }}" alt="{{ clip.alt }}" loading="lazy">
<figcaption>{{ clip.titre }}</figcaption>
</a>
</figure>
{% endfor %}
</div>
<p class="djangokam-instrument">{{ djangokam.ia_instrument }}</p>
<p class="djangokam-instrument">{{ t.djangokam.ia_instrument | safe }}</p>
<div class="cta-buttons djangokam-buttons">
{% for bouton in djangokam.boutons %}
{% for bouton in t.djangokam.boutons %}
<a href="{{ bouton.url }}" target="_blank" rel="noopener noreferrer" class="btn {% if bouton.primary %}btn-primary{% else %}btn-secondary{% endif %}">
{{ bouton.text }} →
</a>
@@ -57,7 +57,7 @@
</div>
<p class="djangokam-presse">
{{ djangokam.presse.texte }} <a href="mailto:{{ djangokam.presse.email }}">{{ djangokam.presse.email }}</a>
{{ t.djangokam.presse.texte }} <a href="mailto:{{ t.djangokam.presse.email }}">{{ t.djangokam.presse.email }}</a>
</p>
</div>
</section>
+8 -20
View File
@@ -1,31 +1,19 @@
<section id="engagement" class="engagement">
<div class="section-container">
<h2>Votre projet <span class="accent-text">commence ici</span></h2>
<h2>{{ t.engagement.section_title }} <span class="accent-text">{{ t.engagement.section_title_accent }}</span></h2>
<p class="section-subtitle">
Parce que chaque organisation mérite des outils numériques à la hauteur de ses ambitions
{{ t.engagement.section_subtitle }}
</p>
<div class="engagement-options">
{% for card in t.engagement.cards %}
<div class="engagement-card">
<div class="engagement-icon"></div>
<h3>Associations Militantes</h3>
<p>Une application web sur mesure avec tarifs préférentiels pour vos luttes</p>
<a href="#contact" class="btn btn-primary">Contactez-nous</a>
</div>
<div class="engagement-card">
<div class="engagement-icon">🏛️</div>
<h3>Associations & Collectifs</h3>
<p>Site vitrine, gestion de membres, agenda, développé pour vous</p>
<a href="#contact" class="btn btn-primary">Contactez-nous</a>
</div>
<div class="engagement-card">
<div class="engagement-icon">💼</div>
<h3>Entreprises Responsables</h3>
<p>Présence numérique éthique, hébergement indépendant des GAFAM</p>
<a href="#contact" class="btn btn-primary">Contactez-nous</a>
<div class="engagement-icon">{{ card.icon }}</div>
<h3>{{ card.title }}</h3>
<p>{{ card.text }}</p>
<a href="#contact" class="btn btn-primary">{{ card.cta }}</a>
</div>
{% endfor %}
</div>
</div>
</section>
+6 -6
View File
@@ -1,12 +1,12 @@
<section id="faq" class="faq">
<div class="section-container">
<h2>Questions <span class="accent-text">fréquentes</span></h2>
<h2>{{ t.faq.section_title }} <span class="accent-text">{{ t.faq.section_title_accent }}</span></h2>
<p class="section-subtitle">
Tout ce que vous devez savoir pour commencer votre transition numérique
{{ t.faq.section_subtitle }}
</p>
<div class="faq-container">
{% for item in faq %}
{% for item in t.faq.items %}
<div class="faq-item">
<button class="faq-question" onclick="this.parentElement.classList.toggle('active')">
<span>{{ item.question }}</span>
@@ -20,11 +20,11 @@
</div>
<div class="faq-footer">
<p style="font-size: 1.1rem; margin-bottom: 1rem;">
Vous avez d'autres questions ?
<p>
{{ t.faq.footer_text }}
</p>
<a href="#contact" class="btn btn-secondary">
Contactez-nous
{{ t.faq.footer_cta }}
</a>
</div>
</div>
+3 -3
View File
@@ -1,12 +1,12 @@
<section id="services-libres" class="fediverse">
<div class="section-container">
<h2>Nos <span class="accent-text">services hébergés</span></h2>
<h2>{{ t.services.section_title }} <span class="accent-text">{{ t.services.section_title_accent }}</span></h2>
<p class="section-subtitle">
Des alternatives libres aux géants du web, vos données restent sous votre contrôle, pas dans les serveurs de Google ou d'Amazon.
{{ t.services.section_subtitle }}
</p>
<div class="services-grid">
{% for service in services %}
{% for service in t.services.items %}
<div class="service-card">
<div class="service-icon">{{ service.icon }}</div>
<h3>{{ service.name }}</h3>
+10 -9
View File
@@ -1,17 +1,18 @@
<footer>
<div class="flag-bar"></div>
<div class="footer-content">
<p style="font-size: 1.2rem; font-weight: 600; margin-bottom: 1rem;">
{{ site.name }}
<p class="footer-name">
{{ t.site.name }}
</p>
<p style="opacity: 0.8;">
Association à but non lucratif | Promotion des langues et cultures | Alternatives libres aux GAFAM
<p>
{{ t.footer.tagline_line }}
</p>
<p style="margin-top: 1rem; font-size: 0.9rem; opacity: 0.7;">
{{ site.copyright }} | {{ site.tagline }}
<p class="footer-meta">
{{ t.site.copyright }} | {{ t.site.tagline }}
</p>
<p style="margin-top: 1rem;">
<a href="/mentions-legales/" style="color: var(--or-oki); text-decoration: none; transition: opacity 0.3s;" onmouseover="this.style.opacity='0.7'" onmouseout="this.style.opacity='1'">
Mentions Légales
<p class="footer-legal">
<a href="{% if locale == 'en' %}/en/legal-notice/{% else %}/mentions-legales/{% endif %}">
{{ t.footer.legal_link }}
</a>
</p>
</div>
+8 -15
View File
@@ -1,26 +1,19 @@
<section class="hero">
<div class="network-bg">
<div class="node" style="top: 20%; left: 10%;"></div>
<div class="node" style="top: 50%; left: 80%; animation-delay: 1s;"></div>
<div class="node" style="top: 70%; left: 30%; animation-delay: 2s;"></div>
<div class="node" style="top: 30%; left: 60%; animation-delay: 0.5s;"></div>
<div class="node" style="top: 80%; left: 70%; animation-delay: 1.5s;"></div>
</div>
<div class="hero-content">
<h1>ORGANISATION KA</h1>
<h2 class="hero-subtitle">INTERNATIONALE</h2>
<p style="font-size: 1.5rem; margin-bottom: 1.5rem; color: var(--or-oki); font-weight: 600;">
{{ site.tagline }}
<p class="hero-tagline">
{{ t.site.tagline }}
</p>
<div class="hero-tags">
<span class="tag">✊ Applications web pour vos associations</span>
<span class="tag">💸 Tarifs préférentiels pour les organisations militantes</span>
<span class="tag">🔓 Indépendant des GAFAM</span>
{% for tag in t.hero.tags %}
<span class="tag">{{ tag }}</span>
{% endfor %}
</div>
<p>{{ site.description }}</p>
<p>{{ t.site.description }}</p>
<div class="cta-buttons">
<a href="#solutions" class="btn btn-primary">Nos Solutions</a>
<a href="#mission" class="btn btn-secondary">Notre Mission</a>
<a href="#solutions" class="btn btn-primary">{{ t.hero.cta_primary }}</a>
<a href="#mission" class="btn btn-secondary">{{ t.hero.cta_secondary }}</a>
</div>
</div>
</section>
+34 -78
View File
@@ -1,105 +1,61 @@
<section id="hebergement" class="hosting">
<div class="section-container">
<h2 style="text-align: center; margin-bottom: 1rem;">Développement <span class="accent-text">Web sur Mesure</span></h2>
<h2>{{ t.hosting.section_title }} <span class="accent-text">{{ t.hosting.section_title_accent }}</span></h2>
<p class="section-subtitle" style="text-align: center; margin-bottom: 3rem;">
Chaque organisation a des besoins uniques. Nous concevons et développons l'outil numérique qui correspond exactement à votre fonctionnement, pas un template, une vraie application.
<p class="section-subtitle">
{{ t.hosting.section_subtitle }}
</p>
<div class="hosting-banner">
<h3>🚀 Des solutions complètes, de A à Z</h3>
<p>OKI accompagne les associations et collectifs à chaque étape : conception, développement, hébergement, formation et maintenance.</p>
<h3>{{ t.hosting.banner_title }}</h3>
<p>{{ t.hosting.banner_text }}</p>
<div class="hosting-features">
{% for feature in t.hosting.features %}
<div class="hosting-feature">
<span>✓</span> Développement d'applications web sur mesure
</div>
<div class="hosting-feature">
<span>✓</span> Sites vitrine professionnels
</div>
<div class="hosting-feature">
<span>✓</span> Instances Fédiverse clé en main
</div>
<div class="hosting-feature">
<span>✓</span> Hébergement sécurisé et indépendant
</div>
<div class="hosting-feature">
<span>✓</span> Gestion de noms de domaine
</div>
<div class="hosting-feature">
<span>✓</span> Sauvegardes automatiques quotidiennes
</div>
<div class="hosting-feature">
<span>✓</span> Formation et support technique inclus
<span>✓</span> {{ feature }}
</div>
{% endfor %}
</div>
</div>
<div class="services-offerings">
<h3 style="text-align: center; color: var(--or-oki); margin: 3rem 0 2rem;">Nos offres de services</h3>
<h3>{{ t.hosting.offerings_title }}</h3>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 2rem; margin-bottom: 3rem;">
<div class="service-offering-card" style="background: rgba(0, 168, 84, 0.1); border: 2px solid var(--vert-oki); border-radius: 20px; padding: 2rem;">
<h4 style="color: var(--vert-oki); margin-bottom: 1rem;">💻 Application Web Sur Mesure</h4>
<ul style="list-style: none; padding: 0; margin-bottom: 1.5rem;">
<li style="margin-bottom: 0.5rem;">• Gestion de membres et adhésions</li>
<li style="margin-bottom: 0.5rem;">• Agenda et gestion d'événements</li>
<li style="margin-bottom: 0.5rem;">• Pétitions et mobilisation en ligne</li>
<li style="margin-bottom: 0.5rem;">• Caisse de solidarité, dons</li>
<li style="margin-bottom: 0.5rem;">• Newsletter et communication interne</li>
<div class="offer-cards">
{% for card in t.hosting.offer_cards %}
<div class="offer-card{% if card.modifier %} offer-card--{{ card.modifier }}{% endif %}">
<h4>{{ card.title }}</h4>
{% if card.intro %}
<p class="offer-intro">{{ card.intro }}</p>
{% endif %}
<ul class="offer-list">
{% for item in card.items %}
<li>{{ item }}</li>
{% endfor %}
</ul>
<p style="color: var(--or-oki); font-weight: bold;">Développement sur mesure</p>
</div>
<div class="service-offering-card" style="background: rgba(237, 28, 76, 0.1); border: 2px solid var(--rouge-oki); border-radius: 20px; padding: 2rem;">
<h4 style="color: var(--rouge-oki); margin-bottom: 1rem;">🌐 Site Vitrine & Hébergement</h4>
<ul style="list-style: none; padding: 0; margin-bottom: 1.5rem;">
<li style="margin-bottom: 0.5rem;">• WordPress ou site statique</li>
<li style="margin-bottom: 0.5rem;">• Hébergement mutualisé sécurisé</li>
<li style="margin-bottom: 0.5rem;">• Base de données MySQL/PostgreSQL</li>
<li style="margin-bottom: 0.5rem;">• Certificat SSL gratuit</li>
<li style="margin-bottom: 0.5rem;">• Serveur mail inclus</li>
</ul>
<p style="color: var(--or-oki); font-weight: bold;">Hébergement éthique</p>
</div>
<div class="service-offering-card" style="background: rgba(232, 166, 37, 0.1); border: 2px solid var(--or-oki); border-radius: 20px; padding: 2rem;">
<h4 style="color: var(--or-oki); margin-bottom: 1rem;">🕸️ Instance Fédiverse</h4>
<p style="margin-bottom: 1rem; font-size: 0.95rem; opacity: 0.9;">Votre association veut sa propre plateforme libre, sans dépendre d'un tiers ? On installe et administre votre instance :</p>
<ul style="list-style: none; padding: 0; margin-bottom: 1.5rem;">
<li style="margin-bottom: 0.5rem;">• Mastodon / Pleroma (réseau social)</li>
<li style="margin-bottom: 0.5rem;">• PeerTube (vidéo)</li>
<li style="margin-bottom: 0.5rem;">• Castopod (podcast)</li>
<li style="margin-bottom: 0.5rem;">• Pixelfed (photos)</li>
<li style="margin-bottom: 0.5rem;">• Funkwhale (musique)</li>
</ul>
<p style="color: var(--or-oki); font-weight: bold;">Installation & maintenance</p>
<p class="offer-tagline">{{ card.tagline }}</p>
</div>
{% endfor %}
</div>
<div style="background: rgba(232, 166, 37, 0.1); border-radius: 15px; padding: 2rem; margin-bottom: 2rem;">
<h4 style="color: var(--or-oki); margin-bottom: 1rem;">🔐 Gestion numérique sécurisée</h4>
<p style="margin-bottom: 1rem;">OKI peut assurer la gestion complète de vos propriétés numériques :</p>
<ul style="list-style: none; padding-left: 1rem;">
<li style="margin-bottom: 0.5rem;">✅ Propriété et gestion de noms de domaine</li>
<li style="margin-bottom: 0.5rem;">✅ Administration de comptes web (réseaux sociaux, emails)</li>
<li style="margin-bottom: 0.5rem;">✅ Gestion sécurisée des accès et mots de passe</li>
<li style="margin-bottom: 0.5rem;">✅ Protection contre les prises de contrôle internes</li>
<li style="margin-bottom: 0.5rem;">✅ Médiation en cas de conflits sur les outils numériques</li>
<div class="hosting-note">
<h4>{{ t.hosting.note_title }}</h4>
<p>{{ t.hosting.note_intro }}</p>
<ul>
{% for item in t.hosting.note_items %}
<li>{{ item }}</li>
{% endfor %}
</ul>
</div>
<div style="text-align: center; margin-top: 3rem;">
<h4 style="color: var(--or-oki); margin-bottom: 1rem;">💡 Pourquoi choisir OKI ?</h4>
<p style="max-width: 800px; margin: 0 auto 2rem; line-height: 1.6;">
Notre équipe technique, composée d'experts engagés, garantit l'impartialité,
la sécurité et la pérennité de vos outils numériques. Nous mutualisons les coûts entre
projets solidaires pour des tarifs justes et accessibles et nous appliquons des tarifs
préférentiels aux organisations militantes.
<div class="hosting-why">
<h4>{{ t.hosting.why_title }}</h4>
<p>
{{ t.hosting.why_text }}
</p>
<a href="#contact" class="btn btn-primary">
Contactez-nous
{{ t.hosting.why_cta }}
</a>
</div>
</div>
+5 -5
View File
@@ -1,15 +1,15 @@
<section id="mission" class="mission">
<div class="section-container">
<h2>Notre <span class="accent-text">Mission</span></h2>
<h2>{{ t.mission.section_title }} <span class="accent-text">{{ t.mission.section_title_accent }}</span></h2>
<p class="mission-text">
OKI développe des applications web sur mesure pour les associations, collectifs et organisations qui changent le monde. Nous croyons que la qualité des outils numériques ne devrait pas être réservée à ceux qui ont les moyens, c'est pourquoi nous proposons des tarifs adaptés à la réalité de chaque structure, avec une attention particulière pour les organisations militantes.
{{ t.mission.paragraph_main }}
</p>
<p class="mission-text" style="font-size: 1.1rem; margin-top: 1rem;">
Nos langues, nos cultures, nos luttes méritent des outils qui leur ressemblent. Pas des templates génériques, de vraies solutions pensées pour vous.
<p class="mission-text mission-text--secondary">
{{ t.mission.paragraph_secondary }}
</p>
<div class="values-grid">
{% for value in values %}
{% for value in t.values %}
<div class="value-card">
<div class="value-icon">{{ value.icon }}</div>
<h3>{{ value.title }}</h3>
+28 -5
View File
@@ -1,19 +1,41 @@
<nav>
<div class="nav-container">
<a href="/" class="logo logo-with-glow" style="display: flex; align-items: center; gap: 0.5rem;">
<img src="/assets/images/logo-512x512.png" alt="{{ site.shortName }} Logo" class="logo-image" style="height: 2.5rem; width: auto;">
<span>{{ site.shortName }}</span>
<a href="/" class="logo">
<img src="{{ '/assets/images/logo-512x512.png' | cdn }}" alt="{{ t.site.shortName }} Logo" class="logo-image">
<span>{{ t.site.shortName }}</span>
</a>
<ul class="nav-links">
{% for item in navigation %}
{% for item in t.navigation %}
{% if item.children %}
<li class="has-dropdown">
<button type="button" class="nav-dropdown-trigger" aria-haspopup="true" aria-expanded="false">
{{ item.text }} <span class="dropdown-caret">▾</span>
</button>
<ul class="nav-dropdown">
{% for child in item.children %}
<li>
<a href="{{ child.url }}"{% if child.external %} target="_blank"{% endif %}>
{{ child.text }}
</a>
</li>
{% endfor %}
</ul>
</li>
{% else %}
<li>
<a href="{{ item.url }}"{% if item.external %} target="_blank"{% endif %}>
{{ item.text }}
</a>
</li>
{% endif %}
{% endfor %}
</ul>
<button id="theme-toggle" class="theme-toggle" aria-label="Changer de thème" title="Changer de thème">
{% if locale == 'en' %}
<a href="#" class="lang-switch" onclick="localStorage.setItem('oki-lang-pref','fr'); switchLanguage('fr'); return false;">{{ t.ui.lang_switch_label }}</a>
{% else %}
<a href="#" class="lang-switch" onclick="localStorage.setItem('oki-lang-pref','en'); switchLanguage('en'); return false;">{{ t.ui.lang_switch_label }}</a>
{% endif %}
<button id="theme-toggle" class="theme-toggle" aria-label="{{ t.ui.theme_toggle }}" title="{{ t.ui.theme_toggle }}">
<span class="theme-icon theme-icon-dark">🌙</span>
<span class="theme-icon theme-icon-light">☀️</span>
</button>
@@ -23,4 +45,5 @@
<span></span>
</div>
</div>
<div class="flag-bar"></div>
</nav>
+5 -5
View File
@@ -1,20 +1,20 @@
<section id="partenaires" class="partners">
<div class="section-container">
<h2 style="text-align: center; margin-bottom: 1rem;">Nos <span class="accent-text">Partenaires</span></h2>
<h2>{{ t.partners.section_title }} <span class="accent-text">{{ t.partners.section_title_accent }}</span></h2>
<p class="section-subtitle">
Ils partagent nos valeurs et contribuent à enrichir notre écosystème numérique libre
{{ t.partners.section_subtitle }}
</p>
<div class="partners-grid">
{% for partner in partners %}
{% for partner in t.partners.items %}
<a href="{{ partner.url }}" target="_blank" rel="noopener noreferrer" class="partner-card">
<div class="partner-logo-container">
<img src="{{ partner.logo }}" alt="Logo {{ partner.name }}" class="partner-logo">
<img src="{{ partner.logo | cdn }}" alt="Logo {{ partner.name }}" class="partner-logo">
</div>
<h3>{{ partner.name }}</h3>
<p class="partner-description">{{ partner.description }}</p>
<span class="partner-link">
Découvrir sur GADE
{{ t.partners.link_text }}
</span>
</a>
{% endfor %}
+5 -5
View File
@@ -1,16 +1,16 @@
<section id="projets" class="projects">
<div class="section-container">
<h2>Nos <span class="accent-text">Projets Web</span></h2>
<h2>{{ t.projects.section_title }} <span class="accent-text">{{ t.projects.section_title_accent }}</span></h2>
<div class="project-cards">
{% for project in projects %}
<a href="{{ project.url }}" target="_blank" rel="noopener noreferrer" class="project-card" style="text-decoration: none; color: inherit;">
{% for project in t.projects.items %}
<a href="{{ project.url }}" target="_blank" rel="noopener noreferrer" class="project-card">
<div class="project-icon">{{ project.icon }}</div>
<h3>{{ project.name }}</h3>
<p class="project-domain">{{ project.domain }}</p>
<p>{{ project.description }}</p>
<span class="service-link" style="margin-top: 1rem;">
Visiter le site
<span class="service-link project-card-link">
{{ t.projects.link_text }}
</span>
</a>
{% endfor %}
+8 -8
View File
@@ -1,19 +1,19 @@
<section id="solutions" class="publics">
<div class="section-container">
<h2>Des solutions pour <span class="accent-text">chaque besoin</span></h2>
<h2>{{ t.publics.section_title }} <span class="accent-text">{{ t.publics.section_title_accent }}</span></h2>
<p class="section-subtitle">
Que vous soyez association, entreprise ou citoyen engagé, nous avons les outils pour votre transition numérique
{{ t.publics.section_subtitle }}
</p>
<div class="publics-grid">
{% for public in publics %}
{% for public in t.publics.items %}
<div class="public-card">
<div class="public-icon">{{ public.icon }}</div>
<h3>{{ public.title }}</h3>
<p class="public-description">{{ public.description }}</p>
<div class="public-benefits">
<h4>Ce que vous obtenez :</h4>
<h4>{{ t.publics.benefits_label }}</h4>
<ul>
{% for benefit in public.benefits %}
<li>✓ {{ benefit }}</li>
@@ -29,11 +29,11 @@
</div>
<div class="publics-footer">
<p style="font-size: 1.2rem; margin-bottom: 1rem; font-weight: 600;">
💡 Prêt à franchir le pas ?
<p>
{{ t.publics.footer_line1 }}
</p>
<p style="opacity: 0.9;">
Parce que tout grand changement commence par une conversation
<p>
{{ t.publics.footer_line2 }}
</p>
</div>
</div>
+49 -103
View File
@@ -1,83 +1,56 @@
<section id="dons" class="support">
<div class="section-container">
<h2>Nous <span class="accent-text">Soutenir</span></h2>
<p style="font-size: 1.3rem; margin-bottom: 1rem;">
Chaque like, chaque partage, chaque don compte pour construire cet internet-là
<h2>{{ t.support.section_title }} <span class="accent-text">{{ t.support.section_title_accent }}</span></h2>
<p class="support-lede">
{{ t.support.lede }}
</p>
<p style="font-size: 1.1rem; margin-bottom: 3rem; opacity: 0.9;">
Celui où nos ancêtres ne seraient pas effacés par des algorithmes aveugles. Celui où une jeune fille de Lapwent (Pointe-à-Pitre) peut lancer un média en langue dite "créole", sans demander la permission à une multinationale.
<p class="support-lede-secondary">
{{ t.support.lede_secondary }}
</p>
<!-- Donation Options Container -->
<div style="max-width: 900px; margin: 0 auto;">
<div class="donation-panels">
<!-- One-time Donations -->
<div style="background: rgba(232, 166, 37, 0.1); border-radius: 20px; padding: 2rem; margin-bottom: 2rem;">
<h3 style="color: var(--or-oki); margin-bottom: 1.5rem; text-align: center;">
💸 Don ponctuel
</h3>
<div class="support-panel support-panel--primary">
<h3>{{ t.support.one_time_title }}</h3>
<div class="donation-grid" style="display: grid; grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); gap: 1rem; margin-bottom: 1.5rem;">
<a href="https://don.o-k-i.net/b/aEUdTw5SD3SH7m0bII" class="donation-amount" target="_blank" rel="noopener noreferrer">
1€
</a>
<a href="https://don.o-k-i.net/b/4gw6r480L1Kz5dScMO" class="donation-amount" target="_blank" rel="noopener noreferrer">
5€
</a>
<a href="https://don.o-k-i.net/b/5kA02G1Cn4WLbCgeUV" class="donation-amount" target="_blank" rel="noopener noreferrer">
10€
</a>
<a href="https://don.o-k-i.net/b/fZebLo94PfBpayc5kn" class="donation-amount" target="_blank" rel="noopener noreferrer">
20€
</a>
<a href="https://don.o-k-i.net/b/6oE5n05SDdth49O004" class="donation-amount" target="_blank" rel="noopener noreferrer">
50€
<div class="donation-grid">
{% for d in donations.oneTime %}
<a href="{{ d.url }}" class="donation-amount" target="_blank" rel="noopener noreferrer">
{{ d.amount }}{{ t.support.one_time_suffix }}
</a>
{% endfor %}
</div>
<div style="text-align: center;">
<label style="display: block; margin-bottom: 1rem; color: var(--blanc-creme);">Montant personnalisé :</label>
<label class="donation-form-label">{{ t.support.custom_amount_label }}</label>
<div class="custom-donation-form">
<input type="number" id="customAmountOneTime" placeholder="Montant" min="1" class="custom-amount-input">
<span class="currency-symbol"></span>
<button onclick="handleCustomDonation('oneTime')" class="custom-donation-btn custom-donation-btn-primary" onmouseover="this.style.transform='translateY(-2px)'" onmouseout="this.style.transform=''">
Donner
<input type="number" id="customAmountOneTime" placeholder="{{ t.support.custom_amount_placeholder }}" min="1" class="custom-amount-input">
<span class="currency-symbol">{{ t.support.one_time_suffix }}</span>
<button onclick="handleCustomDonation('oneTime')" class="custom-donation-btn custom-donation-btn-primary">
{{ t.support.custom_amount_btn }}
</button>
</div>
</div>
</div>
<!-- Monthly Donations -->
<div style="background: rgba(0, 168, 84, 0.1); border-radius: 20px; padding: 2rem;">
<h3 style="color: var(--vert-oki); margin-bottom: 1.5rem; text-align: center;">
⭐ Don mensuel
</h3>
<div class="support-panel support-panel--secondary">
<h3>{{ t.support.monthly_title }}</h3>
<div class="donation-grid" style="display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 1rem; margin-bottom: 1.5rem;">
<a href="https://don.o-k-i.net/b/7sI9Dgch14WL7m0fZ3" class="donation-amount monthly" target="_blank" rel="noopener noreferrer">
1€/mois
</a>
<a href="https://don.o-k-i.net/b/8wM4iW4Ozbl95dS6ow" class="donation-amount monthly" target="_blank" rel="noopener noreferrer">
5€/mois
</a>
<a href="https://don.o-k-i.net/b/8wM2aO80L74TcGk3ci" class="donation-amount monthly" target="_blank" rel="noopener noreferrer">
10€/mois
</a>
<a href="https://don.o-k-i.net/b/00g7v894P88XgWAfZ7" class="donation-amount monthly" target="_blank" rel="noopener noreferrer">
20€/mois
</a>
<a href="https://don.o-k-i.net/b/4gw8zc6WHgFtcGkbIP" class="donation-amount monthly" target="_blank" rel="noopener noreferrer">
50€/mois
<div class="donation-grid">
{% for d in donations.monthly %}
<a href="{{ d.url }}" class="donation-amount monthly" target="_blank" rel="noopener noreferrer">
{{ d.amount }}{{ t.support.monthly_suffix }}
</a>
{% endfor %}
</div>
<div style="text-align: center;">
<label style="display: block; margin-bottom: 1rem; color: var(--blanc-creme);">Montant mensuel personnalisé :</label>
<label class="donation-form-label">{{ t.support.custom_monthly_label }}</label>
<div class="custom-donation-form">
<input type="number" id="customAmountMonthly" placeholder="Montant" min="1" class="custom-amount-input custom-amount-input-monthly">
<span class="currency-symbol">€/mois</span>
<button onclick="handleCustomDonation('monthly')" class="custom-donation-btn custom-donation-btn-secondary" onmouseover="this.style.transform='translateY(-2px)'" onmouseout="this.style.transform=''">
S'abonner
<input type="number" id="customAmountMonthly" placeholder="{{ t.support.custom_amount_placeholder }}" min="1" class="custom-amount-input custom-amount-input-monthly">
<span class="currency-symbol">{{ t.support.monthly_suffix }}</span>
<button onclick="handleCustomDonation('monthly')" class="custom-donation-btn custom-donation-btn-secondary">
{{ t.support.custom_monthly_btn }}
</button>
</div>
</div>
@@ -85,63 +58,36 @@
</div>
<!-- Alternative Donation Methods -->
<div style="margin-top: 3rem;">
<h3 style="text-align: center; color: var(--or-oki); margin-bottom: 2rem; font-size: 1.5rem;">
Autres moyens de nous soutenir
<div class="alt-donation-section">
<h3 class="alt-donation-title">
{{ t.support.alt_title }}
</h3>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 2rem; max-width: 700px; margin: 0 auto;">
<!-- Liberapay -->
<a href="https://liberapay.com/OKI/donate" target="_blank" rel="noopener noreferrer" style="
display: flex;
flex-direction: column;
align-items: center;
gap: 1rem;
padding: 2rem;
background: rgba(242, 179, 54, 0.1);
border: 2px solid #F2B336;
border-radius: 15px;
text-decoration: none;
transition: all 0.3s ease;
" onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 10px 30px rgba(242, 179, 54, 0.3)'" onmouseout="this.style.transform=''; this.style.boxShadow=''">
<div style="font-size: 3rem;">💛</div>
<h4 style="color: #F2B336; font-size: 1.3rem; margin: 0;">Liberapay</h4>
<p style="color: var(--blanc-creme); text-align: center; margin: 0; font-size: 0.95rem;">
Soutenez-nous via Liberapay, une plateforme libre et éthique
<div class="alt-donation-grid">
<a href="{{ donations.liberapay }}" target="_blank" rel="noopener noreferrer" class="alt-donation-card alt-donation-card--liberapay">
<div class="alt-donation-icon">💛</div>
<h4>{{ t.support.liberapay_title }}</h4>
<p>
{{ t.support.liberapay_text }}
</p>
</a>
<!-- Ko-fi -->
<a href="https://ko-fi.com/J3J5TOZPI" target="_blank" rel="noopener noreferrer" style="
display: flex;
flex-direction: column;
align-items: center;
gap: 1rem;
padding: 2rem;
background: rgba(255, 93, 93, 0.1);
border: 2px solid #FF5E5B;
border-radius: 15px;
text-decoration: none;
transition: all 0.3s ease;
" onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 10px 30px rgba(255, 93, 93, 0.3)'" onmouseout="this.style.transform=''; this.style.boxShadow=''">
<div style="font-size: 3rem;">☕</div>
<h4 style="color: #FF5E5B; font-size: 1.3rem; margin: 0;">Ko-fi</h4>
<p style="color: var(--blanc-creme); text-align: center; margin: 0; font-size: 0.95rem;">
Offrez-nous un café sur Ko-fi pour nous encourager
<a href="{{ donations.kofi }}" target="_blank" rel="noopener noreferrer" class="alt-donation-card alt-donation-card--kofi">
<div class="alt-donation-icon">☕</div>
<h4>{{ t.support.kofi_title }}</h4>
<p>
{{ t.support.kofi_text }}
</p>
</a>
</div>
</div>
<div style="text-align: center; margin-top: 3rem; padding: 1.5rem; background: rgba(0, 0, 0, 0.3); border-radius: 15px;">
<p style="font-size: 0.95rem; margin-bottom: 0.5rem;">
🔒 Les dons directs (montants ci-dessus) sont sécurisés par <a href="https://stripe.com/" target="_blank" style="color: var(--or-oki); text-decoration: none;">Stripe</a>.
<div class="security-note">
<p>
{{ t.support.security_stripe | safe }}
</p>
<p style="font-size: 0.9rem; opacity: 0.8;">
Liberapay et Ko-fi utilisent leurs propres systèmes de paiement sécurisés.
<p>
{{ t.support.security_alt }}
</p>
</div>
</div>
+1037 -460
View File
File diff suppressed because it is too large Load Diff
+65 -4
View File
@@ -69,12 +69,42 @@
themeToggle?.addEventListener('click', toggleTheme);
})();
// Smooth scrolling
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
// Language switch with page mapping
function switchLanguage(lang) {
const currentPath = window.location.pathname;
let newPath;
if (lang === 'fr') {
// Switch to French
if (currentPath.startsWith('/en/')) {
newPath = currentPath.substring(3); // Remove '/en'
} else {
newPath = currentPath;
}
newPath = newPath.replace('/press/', '/presse/');
newPath = newPath.replace('/legal-notice/', '/mentions-legales/');
} else {
// Switch to English
if (!currentPath.startsWith('/en/')) {
newPath = '/en' + currentPath;
} else {
newPath = currentPath;
}
newPath = newPath.replace('/presse/', '/press/');
newPath = newPath.replace('/mentions-legales/', '/legal-notice/');
}
window.location.href = newPath;
}
// Smooth scrolling (uniquement pour les ancres de la page courante)
document.querySelectorAll('a[href*="#"]').forEach(anchor => {
anchor.addEventListener('click', function (e) {
e.preventDefault();
const target = document.querySelector(this.getAttribute('href'));
const url = new URL(this.href, window.location.href);
if (url.pathname !== window.location.pathname || !url.hash) return;
const target = document.querySelector(url.hash);
if (target) {
e.preventDefault();
target.scrollIntoView({
behavior: 'smooth',
block: 'start'
@@ -130,6 +160,37 @@ document.addEventListener('click', (e) => {
}
});
// Close mobile menu after clicking a nav link
navLinks?.querySelectorAll('a').forEach(link => {
link.addEventListener('click', () => {
if (menuOpen) {
menuOpen = false;
navLinks.style.display = 'none';
menuToggle.children[0].style.transform = '';
menuToggle.children[1].style.opacity = '1';
menuToggle.children[2].style.transform = '';
}
});
});
// Nav dropdown ("Ressources") toggle for touch/keyboard
document.querySelectorAll('.nav-dropdown-trigger').forEach(trigger => {
trigger.addEventListener('click', () => {
const item = trigger.closest('.has-dropdown');
const isOpen = item.classList.toggle('open');
trigger.setAttribute('aria-expanded', isOpen);
});
});
document.addEventListener('click', (e) => {
document.querySelectorAll('.has-dropdown.open').forEach(item => {
if (!item.contains(e.target)) {
item.classList.remove('open');
item.querySelector('.nav-dropdown-trigger')?.setAttribute('aria-expanded', 'false');
}
});
});
// Scroll animations
const observerOptions = {
threshold: 0.15,
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+3
View File
@@ -0,0 +1,3 @@
{
"locale": "en"
}
+16
View File
@@ -0,0 +1,16 @@
---
layout: layouts/base.njk
---
{% include "partials/hero.njk" %}
{% include "partials/publics.njk" %}
{% include "partials/projects.njk" %}
{% include "partials/djangokam.njk" %}
{% include "partials/mission.njk" %}
{% include "partials/hosting.njk" %}
{% include "partials/clients.njk" %}
{% include "partials/fediverse.njk" %}
{% include "partials/support.njk" %}
{% include "partials/faq.njk" %}
{% include "partials/engagement.njk" %}
{% include "partials/contact.njk" %}
+222
View File
@@ -0,0 +1,222 @@
---
layout: layouts/base.njk
title: Legal Notice
description: Legal notice and legal information of ORGANISATION KA INTERNATIONALE (OKI) - Hosting, GDPR, AGPL-V3 license
---
<section style="padding: 8rem 2rem 4rem; min-height: 100vh; background: linear-gradient(135deg, var(--noir-profond) 0%, var(--gris-sombre) 100%);">
<div class="section-container" style="max-width: 900px;">
<h1 style="font-size: 2.5rem; margin-bottom: 3rem; text-align: center;">
<span class="accent-text">Legal Notice</span>
</h1>
<!-- Website Presentation -->
<div style="background: rgba(232, 166, 37, 0.1); border-left: 4px solid var(--or-oki); padding: 2rem; margin-bottom: 2rem; border-radius: 10px;">
<h2 style="color: var(--or-oki); margin-bottom: 1.5rem; font-size: 1.8rem;">
1. Website Presentation
</h2>
<p style="margin-bottom: 1rem; line-height: 1.6;">
In accordance with applicable law, we hereby provide users of the website <strong>o-k-i.net</strong>
with the identity of the various parties involved in its creation and management:
</p>
<ul style="list-style: none; padding: 0; margin: 1.5rem 0;">
<li style="margin-bottom: 1rem;">
<strong style="color: var(--or-oki);">Owner:</strong><br>
ORGANISATION KA INTERNATIONALE<br>
36 Rue Lethière, 97100 Basse-Terre
</li>
<li style="margin-bottom: 1rem;">
<strong style="color: var(--or-oki);">Publishing Manager:</strong><br>
ORGANISATION KA INTERNATIONALE<br>
Contact: <a href="mailto:kontak@o-k-i.net" style="color: var(--or-oki); text-decoration: none;">kontak@o-k-i.net</a>
</li>
<li style="margin-bottom: 1rem;">
<strong style="color: var(--or-oki);">Webmaster:</strong><br>
Cédric FAMIBELLE-PRONZOLA<br>
Contact: <a href="mailto:contact@cedric-pronzola.re" style="color: var(--or-oki); text-decoration: none;">contact@cedric-pronzola.re</a>
</li>
<li style="margin-bottom: 1rem;">
<strong style="color: var(--or-oki);">Hosting Provider:</strong><br>
OVH<br>
2 rue Kellermann, 59100 Roubaix
</li>
<li style="margin-bottom: 1rem;">
<strong style="color: var(--or-oki);">Data Protection Officer:</strong><br>
ORGANISATION KA INTERNATIONALE<br>
Contact: <a href="mailto:kontak@o-k-i.net" style="color: var(--or-oki); text-decoration: none;">kontak@o-k-i.net</a>
</li>
</ul>
</div>
<!-- Terms of Use -->
<div style="background: rgba(0, 168, 84, 0.1); border-left: 4px solid var(--vert-oki); padding: 2rem; margin-bottom: 2rem; border-radius: 10px;">
<h2 style="color: var(--vert-oki); margin-bottom: 1.5rem; font-size: 1.8rem;">
2. Terms of Use of the Website and Services
</h2>
<p style="line-height: 1.6;">
The website is protected by intellectual property laws. Use of the website constitutes full acceptance
of the terms of use described below. These terms of use may be modified or supplemented at any time.
</p>
<p style="margin-top: 1rem; line-height: 1.6;">
Users of the website may not reuse or exploit the elements of the website without prior authorization.
</p>
</div>
<!-- Description of Services -->
<div style="background: rgba(237, 28, 76, 0.1); border-left: 4px solid var(--rouge-oki); padding: 2rem; margin-bottom: 2rem; border-radius: 10px;">
<h2 style="color: var(--rouge-oki); margin-bottom: 1.5rem; font-size: 1.8rem;">
3. Description of Services Provided
</h2>
<p style="line-height: 1.6;">
The website <strong>o-k-i.net</strong> is intended to provide information about all activities
of ORGANISATION KA INTERNATIONALE.
</p>
<p style="margin-top: 1rem; line-height: 1.6;">
ORGANISATION KA INTERNATIONALE strives to provide information that is as accurate as possible.
However, it cannot be held responsible for omissions, inaccuracies and deficiencies in updates,
whether due to its own actions or those of third-party partners providing this information.
</p>
</div>
<!-- Technical Limitations -->
<div style="background: rgba(232, 166, 37, 0.1); border-left: 4px solid var(--or-oki); padding: 2rem; margin-bottom: 2rem; border-radius: 10px;">
<h2 style="color: var(--or-oki); margin-bottom: 1.5rem; font-size: 1.8rem;">
4. Technical Limitations
</h2>
<p style="line-height: 1.6;">
The website uses JavaScript technology. The site is hosted within the European Union in compliance with GDPR.
</p>
<p style="margin-top: 1rem; line-height: 1.6;">
ORGANISATION KA INTERNATIONALE cannot be held responsible for material damage related to the use of the website.
Furthermore, the website user agrees to access the site using recent equipment, free from viruses,
and with a current, up-to-date browser.
</p>
</div>
<!-- Intellectual Property and Licenses -->
<div style="background: rgba(0, 168, 84, 0.1); border-left: 4px solid var(--vert-oki); padding: 2rem; margin-bottom: 2rem; border-radius: 10px;">
<h2 style="color: var(--vert-oki); margin-bottom: 1.5rem; font-size: 1.8rem;">
5. Intellectual Property and Licenses
</h2>
<p style="line-height: 1.6;">
The source code of the website <strong>o-k-i.net</strong> is distributed under the
<strong>GNU Affero General Public License v3.0 (AGPL-V3)</strong>, a free license that guarantees
the following freedoms:
</p>
<ul style="list-style: disc; padding-left: 2rem; margin: 1rem 0;">
<li style="margin-bottom: 0.5rem;">Freedom to use the software for any purpose</li>
<li style="margin-bottom: 0.5rem;">Freedom to study how the program works and adapt it</li>
<li style="margin-bottom: 0.5rem;">Freedom to redistribute copies</li>
<li style="margin-bottom: 0.5rem;">Freedom to improve the program and publish improvements</li>
</ul>
<p style="margin-top: 1rem; line-height: 1.6;">
This license ensures that any modification to the source code must be published under the same AGPL-V3 license.
If you use this code to provide an online service, you must also make the modified source code available
to users of that service.
</p>
<p style="margin-top: 1rem; line-height: 1.6;">
The full text of the license is available at:
<a href="https://www.gnu.org/licenses/agpl-3.0.html" target="_blank" style="color: var(--or-oki); text-decoration: none;">
https://www.gnu.org/licenses/agpl-3.0.html
</a>
</p>
<p style="margin-top: 1rem; line-height: 1.6;">
Original textual and visual content of the website (excluding source code) remains the property of
ORGANISATION KA INTERNATIONALE. Its use is subject to the conditions of the AGPL-V3 license for
technical elements, and requires authorization for other uses.
</p>
</div>
<!-- Limitations of Liability -->
<div style="background: rgba(237, 28, 76, 0.1); border-left: 4px solid var(--rouge-oki); padding: 2rem; margin-bottom: 2rem; border-radius: 10px;">
<h2 style="color: var(--rouge-oki); margin-bottom: 1.5rem; font-size: 1.8rem;">
6. Limitations of Liability
</h2>
<p style="line-height: 1.6;">
ORGANISATION KA INTERNATIONALE cannot be held responsible for direct or indirect damage caused to
the user's equipment, when accessing the website o-k-i.net, and resulting either from the use of equipment
not meeting the specifications indicated in section 4, or from the occurrence of a bug or incompatibility.
</p>
<p style="margin-top: 1rem; line-height: 1.6;">
ORGANISATION KA INTERNATIONALE cannot also be held responsible for indirect damage (such as loss of market
or loss of opportunity) resulting from the use of the website o-k-i.net.
</p>
</div>
<!-- Personal Data Management -->
<div style="background: rgba(232, 166, 37, 0.1); border-left: 4px solid var(--or-oki); padding: 2rem; margin-bottom: 2rem; border-radius: 10px;">
<h2 style="color: var(--or-oki); margin-bottom: 1.5rem; font-size: 1.8rem;">
7. Personal Data Management
</h2>
<p style="line-height: 1.6;">
Personal data is protected in particular by European Regulation 2016/679 of April 27, 2016
relating to the protection of natural persons with regard to the processing of personal data (GDPR).
</p>
<p style="margin-top: 1rem; line-height: 1.6;">
Personal data collected on the website o-k-i.net is processed for the following purposes:
</p>
<ul style="list-style: disc; padding-left: 2rem; margin: 1rem 0;">
<li style="margin-bottom: 0.5rem;">Navigation on the website</li>
<li style="margin-bottom: 0.5rem;">Prevention of computer fraud</li>
<li style="margin-bottom: 0.5rem;">Improvement and optimization of navigation</li>
<li style="margin-bottom: 0.5rem;">Audience measurement and statistics</li>
</ul>
<p style="margin-top: 1rem; line-height: 1.6;">
In application of these provisions, you have the right to access, rectify, delete and transfer your personal data.
You can exercise these rights by contacting:
<a href="mailto:kontak@o-k-i.net" style="color: var(--or-oki); text-decoration: none;">kontak@o-k-i.net</a>
</p>
</div>
<!-- Incident Notification -->
<div style="background: rgba(0, 168, 84, 0.1); border-left: 4px solid var(--vert-oki); padding: 2rem; margin-bottom: 2rem; border-radius: 10px;">
<h2 style="color: var(--vert-oki); margin-bottom: 1.5rem; font-size: 1.8rem;">
8. Incident Notification
</h2>
<p style="line-height: 1.6;">
Regardless of the efforts made, no method of transmission over the Internet and no method of electronic storage
is completely secure. We therefore cannot guarantee absolute security.
</p>
<p style="margin-top: 1rem; line-height: 1.6;">
If we became aware of a security breach, we would notify affected users so they can take appropriate measures.
Our incident notification procedures take into account our legal obligations, whether at the national or European level.
We undertake to fully inform our customers of all security-related issues and to provide all necessary information
to help them meet their own regulatory reporting obligations.
</p>
<p style="margin-top: 1rem; line-height: 1.6;">
Security measures in place include: firewalls, encryption, pseudonymization and physical security measures.
</p>
</div>
<!-- Cookies and Web Beacons -->
<div style="background: rgba(237, 28, 76, 0.1); border-left: 4px solid var(--rouge-oki); padding: 2rem; margin-bottom: 2rem; border-radius: 10px;">
<h2 style="color: var(--rouge-oki); margin-bottom: 1.5rem; font-size: 1.8rem;">
9. Cookies and Web Beacons
</h2>
<p style="line-height: 1.6;">
The website may use cookies to enhance the user experience. Users can disable cookies in their browser settings.
</p>
<p style="margin-top: 1rem; line-height: 1.6;">
Some pages may contain web beacons (invisible pixels) to measure website traffic and performance.
</p>
</div>
<!-- Applicable Law and Jurisdiction -->
<div style="background: rgba(232, 166, 37, 0.1); border-left: 4px solid var(--or-oki); padding: 2rem; margin-bottom: 2rem; border-radius: 10px;">
<h2 style="color: var(--or-oki); margin-bottom: 1.5rem; font-size: 1.8rem;">
10. Applicable Law and Jurisdiction
</h2>
<p style="line-height: 1.6;">
Any dispute related to the use of the website o-k-i.net is governed by French law.
Except where the law does not permit, exclusive jurisdiction is granted to the competent courts of Guadeloupe.
</p>
</div>
<!-- Back to Home -->
<div style="text-align: center; margin-top: 3rem;">
<a href="/en/" class="btn btn-primary">
← Back to Home
</a>
</div>
</div>
</section>
+64
View File
@@ -0,0 +1,64 @@
---
layout: layouts/base.njk
title: Press
description: Press resources for DJANGOKAM, the first Caribbean AI artist produced by ORGANISATION KA INTERNATIONALE (OKI) — HD visuals and listening links.
---
<section class="press-hero">
<h1>{{ t.press.title }} <span class="accent-text">{{ t.press.title_accent }}</span></h1>
<p class="press-lede">{{ t.press.lede }}</p>
</section>
<section class="press-facts">
<div class="section-container">
<h2>{{ t.press.facts_title }}</h2>
<div class="press-facts-list">
{% for fact in t.press.facts %}
<div class="press-fact">
<span class="press-fact-label">{{ fact.label }}</span>
<span>{{ fact.value }}</span>
</div>
{% endfor %}
</div>
</div>
</section>
<section class="press-visuals">
<div class="section-container">
<h2>{{ t.press.visuals_title }}</h2>
<p class="press-visuals-intro">{{ t.press.visuals_intro }}</p>
<div class="press-visual-grid">
{% for visual in t.press.visuals %}
<div class="press-visual">
<a href="{{ visual.image | cdn }}" target="_blank" rel="noopener noreferrer">
<img src="{{ visual.image | cdn }}" alt="{{ visual.caption }}" loading="lazy">
<span class="press-visual-caption">{{ visual.caption }}</span>
</a>
<a href="{{ ('/assets/press/' + visual.pdf) | cdn }}" class="press-visual-pdf-link">{{ t.press.visual_pdf_label }}</a>
</div>
{% endfor %}
</div>
<div class="press-visuals-pdf">
<a href="{{ ('/assets/press/' + t.press.visuals_pdf_file) | cdn }}" class="btn btn-primary">{{ t.press.visuals_pdf_label }} →</a>
</div>
</div>
</section>
<section class="press-links">
<div class="section-container">
<h2>{{ t.press.links_title }}</h2>
<div class="press-links-list">
{% for link in t.press.links %}
<a href="{{ link.url }}" target="_blank" rel="noopener noreferrer">{{ link.text }}</a>
{% endfor %}
</div>
</div>
</section>
<section class="press-contact">
<div class="section-container">
<h2>{{ t.press.contact_title }}</h2>
<p class="press-contact-text">{{ t.press.contact_text }}</p>
<a href="mailto:{{ t.press.contact_email }}" class="btn btn-primary">{{ t.press.contact_email }}</a>
</div>
</section>
+64
View File
@@ -0,0 +1,64 @@
---
layout: layouts/base.njk
title: Presse
description: Ressources presse pour DJANGOKAM, premier artiste IA caribéen produit par ORGANISATION KA INTERNATIONALE (OKI) — visuels HD et liens d'écoute.
---
<section class="press-hero">
<h1>{{ t.press.title }} <span class="accent-text">{{ t.press.title_accent }}</span></h1>
<p class="press-lede">{{ t.press.lede }}</p>
</section>
<section class="press-facts">
<div class="section-container">
<h2>{{ t.press.facts_title }}</h2>
<div class="press-facts-list">
{% for fact in t.press.facts %}
<div class="press-fact">
<span class="press-fact-label">{{ fact.label }}</span>
<span>{{ fact.value }}</span>
</div>
{% endfor %}
</div>
</div>
</section>
<section class="press-visuals">
<div class="section-container">
<h2>{{ t.press.visuals_title }}</h2>
<p class="press-visuals-intro">{{ t.press.visuals_intro }}</p>
<div class="press-visual-grid">
{% for visual in t.press.visuals %}
<div class="press-visual">
<a href="{{ visual.image | cdn }}" target="_blank" rel="noopener noreferrer">
<img src="{{ visual.image | cdn }}" alt="{{ visual.caption }}" loading="lazy">
<span class="press-visual-caption">{{ visual.caption }}</span>
</a>
<a href="{{ ('/assets/press/' + visual.pdf) | cdn }}" class="press-visual-pdf-link">{{ t.press.visual_pdf_label }}</a>
</div>
{% endfor %}
</div>
<div class="press-visuals-pdf">
<a href="{{ ('/assets/press/' + t.press.visuals_pdf_file) | cdn }}" class="btn btn-primary">{{ t.press.visuals_pdf_label }} →</a>
</div>
</div>
</section>
<section class="press-links">
<div class="section-container">
<h2>{{ t.press.links_title }}</h2>
<div class="press-links-list">
{% for link in t.press.links %}
<a href="{{ link.url }}" target="_blank" rel="noopener noreferrer">{{ link.text }}</a>
{% endfor %}
</div>
</div>
</section>
<section class="press-contact">
<div class="section-container">
<h2>{{ t.press.contact_title }}</h2>
<p class="press-contact-text">{{ t.press.contact_text }}</p>
<a href="mailto:{{ t.press.contact_email }}" class="btn btn-primary">{{ t.press.contact_email }}</a>
</div>
</section>
+18
View File
@@ -6,6 +6,24 @@
<changefreq>weekly</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://o-k-i.net/en/</loc>
<lastmod>2026-07-06</lastmod>
<changefreq>weekly</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://o-k-i.net/presse/</loc>
<lastmod>2026-07-06</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://o-k-i.net/en/press/</loc>
<lastmod>2026-07-06</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://o-k-i.net/mentions-legales/</loc>
<lastmod>2025-01-05</lastmod>