textes revues et traduction
0
apps/core/templatetags/__init__.py
Normal file
16
apps/core/templatetags/i18n_switch.py
Normal file
@@ -0,0 +1,16 @@
|
||||
from django import template
|
||||
from django.urls import translate_url
|
||||
|
||||
register = template.Library()
|
||||
|
||||
|
||||
@register.simple_tag(takes_context=True)
|
||||
def switch_lang_url(context, lang_code):
|
||||
request = context.get('request')
|
||||
if not request:
|
||||
return '/' if lang_code == 'fr' else '/en/'
|
||||
current_path = request.get_full_path()
|
||||
translated = translate_url(current_path, lang_code)
|
||||
if translated == current_path:
|
||||
return '/' if lang_code == 'fr' else '/en/'
|
||||
return translated
|
||||
@@ -1,3 +1,221 @@
|
||||
from django.test import TestCase
|
||||
import json
|
||||
from django.test import TestCase, Client, RequestFactory, override_settings
|
||||
from django.urls import reverse
|
||||
from .models import ContactRequest
|
||||
from .context_processors import site_context
|
||||
|
||||
# Create your tests here.
|
||||
|
||||
# ─────────────────────────────────────────────
|
||||
# Helpers
|
||||
# ─────────────────────────────────────────────
|
||||
VALID_CONTACT = {
|
||||
'last_name': 'Coulibaly',
|
||||
'first_name': 'Israel',
|
||||
'email': 'test@jool-int.com',
|
||||
'phone': '+225 07 00 00 00',
|
||||
'message': 'Demande de démonstration.',
|
||||
}
|
||||
|
||||
|
||||
# ─────────────────────────────────────────────
|
||||
# Pages publiques — codes HTTP
|
||||
# ─────────────────────────────────────────────
|
||||
class PublicPagesTest(TestCase):
|
||||
def setUp(self):
|
||||
self.client = Client()
|
||||
|
||||
def _get(self, name):
|
||||
return self.client.get(reverse(f'core:{name}'))
|
||||
|
||||
def test_home_200(self):
|
||||
self.assertEqual(self._get('home').status_code, 200)
|
||||
|
||||
def test_about_200(self):
|
||||
self.assertEqual(self._get('about').status_code, 200)
|
||||
|
||||
def test_kiriq_200(self):
|
||||
self.assertEqual(self._get('kiriq').status_code, 200)
|
||||
|
||||
def test_monitor_200(self):
|
||||
self.assertEqual(self._get('monitor').status_code, 200)
|
||||
|
||||
def test_joolid_200(self):
|
||||
self.assertEqual(self._get('joolid').status_code, 200)
|
||||
|
||||
def test_monagro_200(self):
|
||||
self.assertEqual(self._get('monagro').status_code, 200)
|
||||
|
||||
def test_privacy_200(self):
|
||||
self.assertEqual(self._get('privacy').status_code, 200)
|
||||
|
||||
def test_robots_txt_200(self):
|
||||
r = self._get('robots_txt')
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertIn('text/plain', r['Content-Type'])
|
||||
|
||||
def test_sitemap_xml_200(self):
|
||||
r = self._get('sitemap_xml')
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertIn('xml', r['Content-Type'])
|
||||
|
||||
|
||||
# ─────────────────────────────────────────────
|
||||
# Templates — contenu minimal
|
||||
# ─────────────────────────────────────────────
|
||||
class TemplateContentTest(TestCase):
|
||||
def test_home_contains_products(self):
|
||||
r = self.client.get(reverse('core:home'))
|
||||
self.assertContains(r, 'KIRIQ')
|
||||
self.assertContains(r, 'Jool Monitor')
|
||||
self.assertContains(r, 'Jool ID')
|
||||
self.assertContains(r, 'Mon Agro')
|
||||
|
||||
def test_kiriq_page_title(self):
|
||||
r = self.client.get(reverse('core:kiriq'))
|
||||
self.assertContains(r, 'KIRIQ')
|
||||
|
||||
def test_monitor_page_title(self):
|
||||
r = self.client.get(reverse('core:monitor'))
|
||||
self.assertContains(r, 'Monitor')
|
||||
|
||||
def test_joolid_page_title(self):
|
||||
r = self.client.get(reverse('core:joolid'))
|
||||
self.assertContains(r, 'Jool ID')
|
||||
|
||||
def test_monagro_page_title(self):
|
||||
r = self.client.get(reverse('core:monagro'))
|
||||
self.assertContains(r, 'Mon Agro')
|
||||
|
||||
def test_about_has_solutions_section(self):
|
||||
r = self.client.get(reverse('core:about'))
|
||||
self.assertContains(r, 'Nos solutions')
|
||||
self.assertContains(r, 'Mon Agro')
|
||||
|
||||
def test_privacy_noindex(self):
|
||||
r = self.client.get(reverse('core:privacy'))
|
||||
self.assertContains(r, 'noindex')
|
||||
|
||||
def test_robots_txt_content(self):
|
||||
r = self.client.get(reverse('core:robots_txt'))
|
||||
content = r.content.decode()
|
||||
self.assertIn('User-agent', content)
|
||||
self.assertIn('sitemap', content.lower())
|
||||
|
||||
def test_sitemap_xml_has_urls(self):
|
||||
r = self.client.get(reverse('core:sitemap_xml'))
|
||||
content = r.content.decode()
|
||||
self.assertIn('<url>', content)
|
||||
self.assertIn('jool-international.com', content)
|
||||
|
||||
|
||||
# ─────────────────────────────────────────────
|
||||
# Formulaire de contact
|
||||
# ─────────────────────────────────────────────
|
||||
class ContactFormTest(TestCase):
|
||||
def setUp(self):
|
||||
self.url = reverse('core:contact_ajax')
|
||||
|
||||
def _post(self, data):
|
||||
return self.client.post(
|
||||
self.url, data,
|
||||
HTTP_X_REQUESTED_WITH='XMLHttpRequest',
|
||||
)
|
||||
|
||||
@override_settings(
|
||||
EMAIL_BACKEND='django.core.mail.backends.dummy.EmailBackend'
|
||||
)
|
||||
def test_valid_form_creates_contact(self):
|
||||
r = self._post(VALID_CONTACT)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
body = json.loads(r.content)
|
||||
self.assertTrue(body['ok'])
|
||||
self.assertEqual(ContactRequest.objects.count(), 1)
|
||||
obj = ContactRequest.objects.first()
|
||||
self.assertEqual(obj.email, 'test@jool-int.com')
|
||||
|
||||
def test_missing_required_fields_returns_400(self):
|
||||
r = self._post({'last_name': 'Coulibaly'})
|
||||
self.assertEqual(r.status_code, 400)
|
||||
body = json.loads(r.content)
|
||||
self.assertFalse(body['ok'])
|
||||
self.assertIn('errors', body)
|
||||
|
||||
def test_invalid_email_returns_400(self):
|
||||
data = {**VALID_CONTACT, 'email': 'pas-un-email'}
|
||||
r = self._post(data)
|
||||
self.assertEqual(r.status_code, 400)
|
||||
body = json.loads(r.content)
|
||||
self.assertFalse(body['ok'])
|
||||
|
||||
def test_invalid_phone_returns_400(self):
|
||||
data = {**VALID_CONTACT, 'phone': 'abc!!!'}
|
||||
r = self._post(data)
|
||||
self.assertEqual(r.status_code, 400)
|
||||
body = json.loads(r.content)
|
||||
self.assertFalse(body['ok'])
|
||||
|
||||
def test_get_method_not_allowed(self):
|
||||
r = self.client.get(self.url)
|
||||
self.assertEqual(r.status_code, 405)
|
||||
|
||||
@override_settings(
|
||||
EMAIL_BACKEND='django.core.mail.backends.dummy.EmailBackend'
|
||||
)
|
||||
def test_phone_optional(self):
|
||||
data = {k: v for k, v in VALID_CONTACT.items() if k != 'phone'}
|
||||
r = self._post(data)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(json.loads(r.content)['ok'])
|
||||
|
||||
|
||||
# ─────────────────────────────────────────────
|
||||
# Modèle ContactRequest
|
||||
# ─────────────────────────────────────────────
|
||||
class ContactRequestModelTest(TestCase):
|
||||
def test_str_representation(self):
|
||||
obj = ContactRequest(
|
||||
first_name='Israel',
|
||||
last_name='Coulibaly',
|
||||
email='test@jool-int.com',
|
||||
)
|
||||
self.assertIn('Israel', str(obj))
|
||||
self.assertIn('Coulibaly', str(obj))
|
||||
|
||||
def test_is_read_default_false(self):
|
||||
obj = ContactRequest.objects.create(**VALID_CONTACT)
|
||||
self.assertFalse(obj.is_read)
|
||||
|
||||
def test_ordering_newest_first(self):
|
||||
ContactRequest.objects.create(**VALID_CONTACT)
|
||||
data2 = {**VALID_CONTACT, 'email': 'second@jool-int.com'}
|
||||
ContactRequest.objects.create(**data2)
|
||||
first = ContactRequest.objects.first()
|
||||
self.assertEqual(first.email, 'second@jool-int.com')
|
||||
|
||||
|
||||
# ─────────────────────────────────────────────
|
||||
# Context processor — careers_enabled
|
||||
# ─────────────────────────────────────────────
|
||||
class ContextProcessorTest(TestCase):
|
||||
def setUp(self):
|
||||
self.factory = RequestFactory()
|
||||
|
||||
@override_settings(CAREERS_ENABLED=False)
|
||||
def test_careers_disabled_in_context(self):
|
||||
r = self.client.get(reverse('core:home'))
|
||||
self.assertFalse(r.context['careers_enabled'])
|
||||
self.assertNotContains(r, 'Carrières')
|
||||
|
||||
@override_settings(CAREERS_ENABLED=False)
|
||||
def test_careers_disabled_returns_false(self):
|
||||
request = self.factory.get('/')
|
||||
ctx = site_context(request)
|
||||
self.assertFalse(ctx['careers_enabled'])
|
||||
self.assertEqual(ctx['open_jobs_count'], 0)
|
||||
|
||||
@override_settings(CAREERS_ENABLED=True)
|
||||
def test_careers_enabled_returns_true(self):
|
||||
request = self.factory.get('/')
|
||||
ctx = site_context(request)
|
||||
self.assertTrue(ctx['careers_enabled'])
|
||||
self.assertIn('open_jobs_count', ctx)
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
from django.urls import path
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from . import views
|
||||
|
||||
app_name = 'core'
|
||||
@@ -6,12 +7,13 @@ app_name = 'core'
|
||||
urlpatterns = [
|
||||
path('', views.HomeView.as_view(), name='home'),
|
||||
path('contact/', views.ContactAjaxView.as_view(), name='contact_ajax'),
|
||||
path('a-propos/', views.AboutView.as_view(), name='about'),
|
||||
path('produits/kiriq/', views.KiriqView.as_view(), name='kiriq'),
|
||||
path('produits/monitor/', views.MonitorView.as_view(), name='monitor'),
|
||||
path('produits/joolid/', views.JoolidView.as_view(), name='joolid'),
|
||||
path('confidentialite/', views.PrivacyView.as_view(), name='privacy'),
|
||||
# SEO
|
||||
path(_('a-propos/'), views.AboutView.as_view(), name='about'),
|
||||
path(_('produits/kiriq/'), views.KiriqView.as_view(), name='kiriq'),
|
||||
path(_('produits/monitor/'), views.MonitorView.as_view(), name='monitor'),
|
||||
path(_('produits/joolid/'), views.JoolidView.as_view(), name='joolid'),
|
||||
path(_('produits/monagro/'), views.MonAgroView.as_view(), name='monagro'),
|
||||
path(_('confidentialite/'), views.PrivacyView.as_view(), name='privacy'),
|
||||
# SEO — non traduits
|
||||
path('robots.txt', views.RobotsTxtView.as_view(), name='robots_txt'),
|
||||
path('sitemap.xml', views.SitemapXmlView.as_view(), name='sitemap_xml'),
|
||||
]
|
||||
|
||||
@@ -61,6 +61,10 @@ class JoolidView(TemplateView):
|
||||
template_name = 'core/products/joolid.html'
|
||||
|
||||
|
||||
class MonAgroView(TemplateView):
|
||||
template_name = 'core/products/monagro.html'
|
||||
|
||||
|
||||
class PrivacyView(TemplateView):
|
||||
template_name = 'core/privacy.html'
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
from pathlib import Path
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
import environ
|
||||
|
||||
BASE_DIR = Path(__file__).resolve().parent.parent.parent
|
||||
@@ -24,6 +25,7 @@ INSTALLED_APPS = [
|
||||
MIDDLEWARE = [
|
||||
'django.middleware.security.SecurityMiddleware',
|
||||
'django.contrib.sessions.middleware.SessionMiddleware',
|
||||
'django.middleware.locale.LocaleMiddleware',
|
||||
'django.middleware.common.CommonMiddleware',
|
||||
'django.middleware.csrf.CsrfViewMiddleware',
|
||||
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
||||
@@ -59,7 +61,12 @@ AUTH_PASSWORD_VALIDATORS = [
|
||||
{'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator'},
|
||||
]
|
||||
|
||||
LANGUAGE_CODE = 'fr-fr'
|
||||
LANGUAGE_CODE = 'fr'
|
||||
LANGUAGES = [
|
||||
('fr', _('Français')),
|
||||
('en', _('English')),
|
||||
]
|
||||
LOCALE_PATHS = [BASE_DIR / 'locale']
|
||||
TIME_ZONE = 'Africa/Abidjan'
|
||||
USE_I18N = True
|
||||
USE_TZ = True
|
||||
|
||||
@@ -13,6 +13,7 @@ MIDDLEWARE = [
|
||||
] + [m for m in MIDDLEWARE if m != 'django.middleware.security.SecurityMiddleware']
|
||||
|
||||
STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
|
||||
WHITENOISE_MAX_AGE = 31536000 # 1 an — les fichiers sont versionnés par hash
|
||||
|
||||
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
|
||||
EMAIL_HOST = env('EMAIL_HOST', default='smtp.dreamhost.com')
|
||||
|
||||
@@ -1,32 +1,23 @@
|
||||
"""
|
||||
URL configuration for config project.
|
||||
|
||||
The `urlpatterns` list routes URLs to views. For more information please see:
|
||||
https://docs.djangoproject.com/en/5.1/topics/http/urls/
|
||||
Examples:
|
||||
Function views
|
||||
1. Add an import: from my_app import views
|
||||
2. Add a URL to urlpatterns: path('', views.home, name='home')
|
||||
Class-based views
|
||||
1. Add an import: from other_app.views import Home
|
||||
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
|
||||
Including another URLconf
|
||||
1. Import the include() function: from django.urls import include, path
|
||||
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
|
||||
"""
|
||||
from django.contrib import admin
|
||||
from django.urls import path, include
|
||||
from django.conf import settings
|
||||
from django.conf.urls.static import static
|
||||
from django.conf.urls.i18n import i18n_patterns
|
||||
|
||||
urlpatterns = [
|
||||
path('i18n/', include('django.conf.urls.i18n')),
|
||||
path('admin/', admin.site.urls),
|
||||
path('', include('apps.core.urls', namespace='core')),
|
||||
]
|
||||
|
||||
urlpatterns += i18n_patterns(
|
||||
path('', include('apps.core.urls', namespace='core')),
|
||||
prefix_default_language=False,
|
||||
)
|
||||
|
||||
if settings.CAREERS_ENABLED:
|
||||
urlpatterns += [
|
||||
urlpatterns += i18n_patterns(
|
||||
path('carrieres/', include('apps.careers.urls', namespace='careers')),
|
||||
]
|
||||
prefix_default_language=False,
|
||||
)
|
||||
|
||||
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|
||||
|
||||
BIN
locale/en/LC_MESSAGES/django.mo
Normal file
2264
locale/en/LC_MESSAGES/django.po
Normal file
1236
locale/en/LC_MESSAGES/django.po.bak
Normal file
@@ -10,7 +10,6 @@
|
||||
.careers-hero h1 {
|
||||
font-family: var(--display);
|
||||
font-weight: 900;
|
||||
font-style: italic;
|
||||
font-size: clamp(2rem, 4vw, 3.2rem);
|
||||
letter-spacing: -0.03em;
|
||||
color: var(--black);
|
||||
@@ -216,7 +215,6 @@
|
||||
.job-detail-title {
|
||||
font-family: var(--display);
|
||||
font-weight: 900;
|
||||
font-style: italic;
|
||||
font-size: clamp(2rem, 4vw, 3rem);
|
||||
letter-spacing: -0.03em;
|
||||
color: var(--black);
|
||||
@@ -344,7 +342,6 @@
|
||||
.apply-title {
|
||||
font-family: var(--display);
|
||||
font-weight: 900;
|
||||
font-style: italic;
|
||||
font-size: clamp(1.8rem, 3vw, 2.4rem);
|
||||
letter-spacing: -0.03em;
|
||||
color: var(--black);
|
||||
@@ -476,7 +473,6 @@
|
||||
.success-title {
|
||||
font-family: var(--display);
|
||||
font-weight: 900;
|
||||
font-style: italic;
|
||||
font-size: 2rem;
|
||||
letter-spacing: -0.03em;
|
||||
color: var(--black);
|
||||
|
||||
@@ -190,7 +190,6 @@
|
||||
.hero-text h1 {
|
||||
font-family: var(--display);
|
||||
font-weight: 900;
|
||||
font-style: italic;
|
||||
font-size: clamp(2.8rem, 5vw, 4.2rem);
|
||||
line-height: 1.05;
|
||||
letter-spacing: -0.03em;
|
||||
@@ -486,7 +485,6 @@
|
||||
.section-title {
|
||||
font-family: var(--display);
|
||||
font-weight: 900;
|
||||
font-style: italic;
|
||||
font-size: clamp(2rem, 3.5vw, 3rem);
|
||||
line-height: 1.08;
|
||||
letter-spacing: -0.03em;
|
||||
@@ -988,6 +986,111 @@
|
||||
color: #b07a00;
|
||||
}
|
||||
|
||||
/* ══════════════════════════════════════════
|
||||
SECTION 4 — MON AGRO
|
||||
══════════════════════════════════════════ */
|
||||
.s-monagro {
|
||||
background: var(--white);
|
||||
}
|
||||
|
||||
.tag-accent {
|
||||
background: rgba(231, 111, 81, .1);
|
||||
color: #e55c3a;
|
||||
}
|
||||
|
||||
.monagro-visual {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.ma-mission {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 14px;
|
||||
background: var(--gray-2);
|
||||
border: 1px solid var(--gray);
|
||||
border-radius: 14px;
|
||||
padding: 14px 16px;
|
||||
transition: box-shadow .2s, transform .2s;
|
||||
}
|
||||
|
||||
.ma-mission:hover {
|
||||
box-shadow: 0 6px 24px rgba(25, 112, 97, .08);
|
||||
transform: translateX(4px);
|
||||
}
|
||||
|
||||
.ma-mission-icon {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 10px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.ma-mission-icon .material-icons-round { font-size: 20px; }
|
||||
|
||||
.ma-mission-info { flex: 1; min-width: 0; }
|
||||
|
||||
.ma-mission-name {
|
||||
font-weight: 700;
|
||||
font-size: 14px;
|
||||
color: var(--black);
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.ma-mission-sub {
|
||||
font-size: 12px;
|
||||
color: #888;
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
.ma-badge {
|
||||
font-size: 11px;
|
||||
font-weight: 700;
|
||||
padding: 3px 10px;
|
||||
border-radius: 100px;
|
||||
white-space: nowrap;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.ma-summary {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
background: var(--teal);
|
||||
border-radius: 14px;
|
||||
padding: 18px 24px;
|
||||
margin-top: 4px;
|
||||
}
|
||||
|
||||
.ma-kpi { text-align: center; }
|
||||
|
||||
.ma-kpi-val {
|
||||
font-family: var(--display);
|
||||
font-weight: 900;
|
||||
font-size: 1.6rem;
|
||||
color: var(--white);
|
||||
letter-spacing: -.04em;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.ma-kpi-label {
|
||||
font-size: 12px;
|
||||
color: rgba(255, 255, 255, .6);
|
||||
margin-top: 4px;
|
||||
}
|
||||
|
||||
.ma-sep {
|
||||
width: 1px;
|
||||
height: 36px;
|
||||
background: rgba(255, 255, 255, .2);
|
||||
}
|
||||
|
||||
/* ══════════════════════════════════════════
|
||||
STATS — fond teal plein
|
||||
══════════════════════════════════════════ */
|
||||
@@ -1010,7 +1113,6 @@
|
||||
font-family: var(--display);
|
||||
font-size: clamp(2rem, 3.5vw, 2.8rem);
|
||||
font-weight: 900;
|
||||
font-style: italic;
|
||||
color: var(--white);
|
||||
letter-spacing: -.03em;
|
||||
margin-bottom: 10px;
|
||||
@@ -1075,7 +1177,6 @@
|
||||
font-family: var(--display);
|
||||
font-size: clamp(2rem, 3vw, 2.6rem);
|
||||
font-weight: 900;
|
||||
font-style: italic;
|
||||
text-align: center;
|
||||
letter-spacing: -.03em;
|
||||
margin-bottom: 6px;
|
||||
@@ -1113,7 +1214,7 @@
|
||||
align-items: center;
|
||||
gap: 40px;
|
||||
width: max-content;
|
||||
animation: marquee 22s linear infinite;
|
||||
animation: marquee 45s linear infinite;
|
||||
}
|
||||
|
||||
.logos-track:hover {
|
||||
@@ -1127,7 +1228,7 @@
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
filter: grayscale(1) opacity(.55);
|
||||
filter: grayscale(1) opacity(.85);
|
||||
transition: filter .3s;
|
||||
}
|
||||
|
||||
@@ -1136,10 +1237,9 @@
|
||||
}
|
||||
|
||||
.logo-slide img {
|
||||
max-width: 140px;
|
||||
max-height: 70px;
|
||||
width: auto;
|
||||
height: auto;
|
||||
height: 52px;
|
||||
max-width: 150px;
|
||||
object-fit: contain;
|
||||
}
|
||||
|
||||
@@ -1155,7 +1255,6 @@
|
||||
font-family: var(--display);
|
||||
font-size: clamp(2rem, 3.5vw, 2.8rem);
|
||||
font-weight: 900;
|
||||
font-style: italic;
|
||||
letter-spacing: -.03em;
|
||||
text-align: center;
|
||||
margin-bottom: 48px;
|
||||
@@ -1240,7 +1339,6 @@
|
||||
font-family: var(--display);
|
||||
font-size: clamp(1.4rem, 2.5vw, 2rem);
|
||||
font-weight: 800;
|
||||
font-style: italic;
|
||||
line-height: 1.35;
|
||||
max-width: 680px;
|
||||
margin: 0 auto 24px;
|
||||
@@ -1270,7 +1368,6 @@
|
||||
font-family: var(--display);
|
||||
font-size: clamp(2rem, 3vw, 2.6rem);
|
||||
font-weight: 900;
|
||||
font-style: italic;
|
||||
letter-spacing: -.03em;
|
||||
color: var(--white);
|
||||
text-align: center;
|
||||
@@ -1370,7 +1467,6 @@
|
||||
font-family: var(--display);
|
||||
font-size: clamp(2.4rem, 5vw, 4rem);
|
||||
font-weight: 900;
|
||||
font-style: italic;
|
||||
letter-spacing: -.03em;
|
||||
color: var(--black);
|
||||
margin-bottom: 16px;
|
||||
@@ -1417,6 +1513,44 @@
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.phone-wrap {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
border: 2px solid var(--gray-3);
|
||||
border-radius: 100px;
|
||||
background: var(--white);
|
||||
overflow: hidden;
|
||||
transition: border-color .2s;
|
||||
}
|
||||
|
||||
.phone-wrap:focus-within {
|
||||
border-color: var(--teal);
|
||||
}
|
||||
|
||||
.phone-select {
|
||||
font-family: var(--body);
|
||||
font-size: 14px;
|
||||
padding: 14px 8px 14px 18px;
|
||||
border: none;
|
||||
outline: none;
|
||||
background: transparent;
|
||||
cursor: pointer;
|
||||
flex-shrink: 0;
|
||||
color: var(--black);
|
||||
}
|
||||
|
||||
.phone-wrap .phone-number {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
padding-left: 8px;
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.phone-wrap .phone-number:focus {
|
||||
border-color: transparent;
|
||||
}
|
||||
|
||||
.cta-textarea {
|
||||
border-radius: 18px;
|
||||
resize: vertical;
|
||||
@@ -1751,3 +1885,51 @@
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
/* ══════════════════════════════════════════
|
||||
LANGUAGE SWITCHER
|
||||
══════════════════════════════════════════ */
|
||||
.lang-switcher {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 2px;
|
||||
margin-left: 16px;
|
||||
}
|
||||
|
||||
.lang-btn {
|
||||
background: none;
|
||||
border: 1px solid rgba(255,255,255,0);
|
||||
color: var(--black);
|
||||
font-family: var(--body);
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
letter-spacing: .04em;
|
||||
padding: 3px 8px;
|
||||
border-radius: 4px;
|
||||
cursor: pointer;
|
||||
transition: color .2s, border-color .2s, background .2s;
|
||||
opacity: .55;
|
||||
}
|
||||
|
||||
.lang-btn:hover {
|
||||
opacity: 1;
|
||||
border-color: currentColor;
|
||||
}
|
||||
|
||||
.lang-btn.lang-active {
|
||||
opacity: 1;
|
||||
border-color: var(--teal);
|
||||
color: var(--teal);
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
/* Switcher sur fond sombre (sections dark) */
|
||||
.s-monitor .lang-btn,
|
||||
.s-cta-final .lang-btn {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.lang-switcher {
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
BIN
static/fonts/7cHpv4kjgoGqM7E_A8s5ynghnQci.woff2
Normal file
BIN
static/fonts/7cHpv4kjgoGqM7E_Ass5ynghnQci.woff2
Normal file
BIN
static/fonts/7cHpv4kjgoGqM7E_DMs5ynghnQ.woff2
Normal file
BIN
static/fonts/7cHqv4kjgoGqM7E30-8s51ostz0rdg.woff2
Normal file
BIN
static/fonts/7cHqv4kjgoGqM7E30-8s6Fostz0rdom9.woff2
Normal file
BIN
static/fonts/7cHqv4kjgoGqM7E30-8s6Vostz0rdom9.woff2
Normal file
BIN
static/fonts/7cHqv4kjgoGqM7E3_-gs51ostz0rdg.woff2
Normal file
BIN
static/fonts/7cHqv4kjgoGqM7E3_-gs6Fostz0rdom9.woff2
Normal file
BIN
static/fonts/7cHqv4kjgoGqM7E3_-gs6Vostz0rdom9.woff2
Normal file
BIN
static/fonts/7cHqv4kjgoGqM7E3j-ws51ostz0rdg.woff2
Normal file
BIN
static/fonts/7cHqv4kjgoGqM7E3j-ws6Fostz0rdom9.woff2
Normal file
BIN
static/fonts/7cHqv4kjgoGqM7E3j-ws6Vostz0rdom9.woff2
Normal file
BIN
static/fonts/7cHqv4kjgoGqM7E3q-0s51ostz0rdg.woff2
Normal file
BIN
static/fonts/7cHqv4kjgoGqM7E3q-0s6Fostz0rdom9.woff2
Normal file
BIN
static/fonts/7cHqv4kjgoGqM7E3q-0s6Vostz0rdom9.woff2
Normal file
BIN
static/fonts/7cHqv4kjgoGqM7E3t-4s51ostz0rdg.woff2
Normal file
BIN
static/fonts/7cHqv4kjgoGqM7E3t-4s6Fostz0rdom9.woff2
Normal file
BIN
static/fonts/7cHqv4kjgoGqM7E3t-4s6Vostz0rdom9.woff2
Normal file
BIN
static/fonts/7cHsv4kjgoGqM7E_CfOc5mogvToJdLm8BvE.woff2
Normal file
BIN
static/fonts/7cHsv4kjgoGqM7E_CfOc5mouvToJdLm8.woff2
Normal file
BIN
static/fonts/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBHMdazQ.woff2
Normal file
BIN
static/fonts/LDItaoyNOAY6Uewc665JcIzCKsKc_M9flwmPq_HTTw.woff2
Normal file
84
static/fonts/fonts.css
Normal file
@@ -0,0 +1,84 @@
|
||||
/* Barlow — latin uniquement — poids utilisés sur le site */
|
||||
@font-face {
|
||||
font-family: 'Barlow';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url(/static/fonts/7cHpv4kjgoGqM7E_DMs5ynghnQ.woff2) format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Barlow';
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-display: swap;
|
||||
src: url(/static/fonts/7cHqv4kjgoGqM7E3_-gs51ostz0rdg.woff2) format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Barlow';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url(/static/fonts/7cHqv4kjgoGqM7E30-8s51ostz0rdg.woff2) format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Barlow';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url(/static/fonts/7cHqv4kjgoGqM7E3t-4s51ostz0rdg.woff2) format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Barlow';
|
||||
font-style: normal;
|
||||
font-weight: 800;
|
||||
font-display: swap;
|
||||
src: url(/static/fonts/7cHqv4kjgoGqM7E3q-0s51ostz0rdg.woff2) format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Barlow';
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
font-display: swap;
|
||||
src: url(/static/fonts/7cHqv4kjgoGqM7E3j-ws51ostz0rdg.woff2) format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
|
||||
/* Roboto — latin uniquement */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 300 700;
|
||||
font-display: swap;
|
||||
src: url(/static/fonts/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBHMdazQ.woff2) format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
|
||||
/* Material Icons Round */
|
||||
@font-face {
|
||||
font-family: 'Material Icons Round';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: block;
|
||||
src: url(/static/fonts/LDItaoyNOAY6Uewc665JcIzCKsKc_M9flwmPq_HTTw.woff2) format('woff2');
|
||||
}
|
||||
|
||||
.material-icons-round {
|
||||
font-family: 'Material Icons Round';
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
font-size: 24px;
|
||||
line-height: 1;
|
||||
letter-spacing: normal;
|
||||
text-transform: none;
|
||||
display: inline-block;
|
||||
white-space: nowrap;
|
||||
word-wrap: normal;
|
||||
direction: ltr;
|
||||
-webkit-font-feature-settings: 'liga';
|
||||
-webkit-font-smoothing: antialiased;
|
||||
}
|
||||
BIN
static/img/joseph_Olivier_Biley.jpg
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
static/img/partenaires/Coris assurance.jpg
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
static/img/partenaires/carré dor.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
static/img/partenaires/emergim.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
static/img/partenaires/korigins.png
Normal file
|
After Width: | Height: | Size: 59 KiB |
BIN
static/img/partenaires/mairie de dioulatédougou.jpg
Normal file
|
After Width: | Height: | Size: 130 KiB |
BIN
static/img/partenaires/palmafrique.jpeg
Normal file
|
After Width: | Height: | Size: 67 KiB |
BIN
static/img/partenaires/palmci.png
Normal file
|
After Width: | Height: | Size: 104 KiB |
BIN
static/img/partenaires/saph .jpg
Normal file
|
After Width: | Height: | Size: 31 KiB |
BIN
static/img/partenaires/sim assurance.jpg
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
static/img/partenaires/veolia.png
Normal file
|
After Width: | Height: | Size: 52 KiB |
@@ -1,6 +1,7 @@
|
||||
{% load static %}
|
||||
{% load static i18n %}
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
{% get_current_language as CURRENT_LANG %}
|
||||
<html lang="{{ CURRENT_LANG }}">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
@@ -19,14 +20,16 @@
|
||||
<meta property="og:title" content="{% block og_title %}{% block title_plain %}Jool International — AgriTech Intelligence pour l'Afrique{% endblock %}{% endblock %}">
|
||||
<meta property="og:description" content="{% block og_description %}Jool International développe des solutions AgriTech pour l'agriculture africaine : analyse satellitaire IA, cartographie drone et digitalisation des producteurs.{% endblock %}">
|
||||
<meta property="og:url" content="https://jool-international.com{{ request.path }}">
|
||||
<meta property="og:image" content="{% block og_image %}{% static 'img/og-cover.jpg' %}{% endblock %}">
|
||||
<meta property="og:image" content="{% block og_image %}https://jool-international.com{% static 'img/logo.png' %}{% endblock %}">
|
||||
<meta property="og:image:width" content="{% block og_image_w %}512{% endblock %}">
|
||||
<meta property="og:image:height" content="{% block og_image_h %}512{% endblock %}">
|
||||
<meta property="og:locale" content="fr_FR">
|
||||
|
||||
<!-- ── Twitter / X card ── -->
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="{% block twitter_title %}Jool International — AgriTech Intelligence pour l'Afrique{% endblock %}">
|
||||
<meta name="twitter:description" content="{% block twitter_description %}Solutions AgriTech pour l'agriculture africaine : satellite, drone, digitalisation.{% endblock %}">
|
||||
<meta name="twitter:image" content="{% block twitter_image %}{% static 'img/og-cover.jpg' %}{% endblock %}">
|
||||
<meta name="twitter:image" content="{% block twitter_image %}https://jool-international.com{% static 'img/logo.png' %}{% endblock %}">
|
||||
|
||||
<!-- ── Schema.org JSON-LD ── -->
|
||||
{% block schema_org %}
|
||||
@@ -62,11 +65,18 @@
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="{% static 'img/favicon-16x16.png' %}">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="{% static 'img/apple-touch-icon.png' %}">
|
||||
|
||||
<!-- ── Hreflang ── -->
|
||||
<link rel="alternate" hreflang="fr" href="https://jool-international.com{{ request.path }}">
|
||||
<link rel="alternate" hreflang="en" href="https://jool-international.com{% language 'en' %}{{ request.path }}{% endlanguage %}">
|
||||
<link rel="alternate" hreflang="x-default" href="https://jool-international.com{{ request.path }}">
|
||||
|
||||
<!-- ── Préchargement polices critiques ── -->
|
||||
<link rel="preload" as="font" type="font/woff2" crossorigin href="{% static 'fonts/7cHqv4kjgoGqM7E3j-ws51ostz0rdg.woff2' %}">
|
||||
<link rel="preload" as="font" type="font/woff2" crossorigin href="{% static 'fonts/7cHqv4kjgoGqM7E3t-4s51ostz0rdg.woff2' %}">
|
||||
<link rel="preload" as="font" type="font/woff2" crossorigin href="{% static 'fonts/LDItaoyNOAY6Uewc665JcIzCKsKc_M9flwmPq_HTTw.woff2' %}">
|
||||
|
||||
<!-- ── Fonts & styles ── -->
|
||||
<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=Barlow:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,700;1,800&family=Roboto:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||
<link href="https://fonts.googleapis.com/icon?family=Material+Icons+Round" rel="stylesheet">
|
||||
<link rel="stylesheet" href="{% static 'fonts/fonts.css' %}">
|
||||
<link rel="stylesheet" href="{% static 'css/home.css' %}">
|
||||
{% block extra_css %}{% endblock %}
|
||||
</head>
|
||||
@@ -78,9 +88,9 @@
|
||||
|
||||
{% include "core/partials/_footer.html" %}
|
||||
|
||||
<script src="{% static 'js/faq_toggle.js' %}"></script>
|
||||
<script src="{% static 'js/scroll_reveal.js' %}"></script>
|
||||
<script src="{% static 'js/hamburger.js' %}"></script>
|
||||
<script defer src="{% static 'js/faq_toggle.js' %}"></script>
|
||||
<script defer src="{% static 'js/scroll_reveal.js' %}"></script>
|
||||
<script defer src="{% static 'js/hamburger.js' %}"></script>
|
||||
{% block extra_js %}{% endblock %}
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
{% extends "base.html" %}
|
||||
{% load static %}
|
||||
{% load static i18n %}
|
||||
|
||||
{% block title %}À propos — Jool International, pionniers de l'AgriTech africaine{% endblock %}
|
||||
{% block title_plain %}À propos — Jool International, pionniers de l'AgriTech africaine{% endblock %}
|
||||
{% block title %}{% trans "À propos — Jool International, pionniers de l'AgriTech africaine" %}{% endblock %}
|
||||
{% block title_plain %}{% trans "À propos — Jool International, pionniers de l'AgriTech africaine" %}{% endblock %}
|
||||
|
||||
{% block meta_description %}Découvrez Jool International : notre mission, notre équipe et notre vision pour transformer l'agriculture africaine grâce aux technologies satellite, drone et IA. Basés à Abidjan, Côte d'Ivoire.{% endblock %}
|
||||
{% block meta_description %}{% trans "Découvrez Jool International : notre mission, notre équipe et notre vision pour transformer l'agriculture africaine grâce aux technologies satellite, drone et IA. Basés à Abidjan, Côte d'Ivoire." %}{% endblock %}
|
||||
|
||||
{% block og_title %}À propos de Jool International — AgriTech made in Africa{% endblock %}
|
||||
{% block og_description %}Notre mission : rendre l'agriculture de précision accessible à tous les acteurs de l'agri-industrie africaine. Satellite, drone, IA et digitalisation.{% endblock %}
|
||||
{% block twitter_title %}À propos de Jool International — AgriTech made in Africa{% endblock %}
|
||||
{% block twitter_description %}Notre mission : rendre l'agriculture de précision accessible à tous les acteurs de l'agri-industrie africaine.{% endblock %}
|
||||
{% block og_title %}{% trans "À propos de Jool International — AgriTech made in Africa" %}{% endblock %}
|
||||
{% block og_description %}{% trans "Notre mission : rendre l'agriculture de précision accessible à tous les acteurs de l'agri-industrie africaine. Satellite, drone, IA et digitalisation." %}{% endblock %}
|
||||
{% block twitter_title %}{% trans "À propos de Jool International — AgriTech made in Africa" %}{% endblock %}
|
||||
{% block twitter_description %}{% trans "Notre mission : rendre l'agriculture de précision accessible à tous les acteurs de l'agri-industrie africaine." %}{% endblock %}
|
||||
|
||||
{% block schema_org %}
|
||||
<script type="application/ld+json">
|
||||
@@ -48,7 +48,7 @@
|
||||
padding: 5px 16px; border-radius: 100px; margin-bottom: 24px;
|
||||
}
|
||||
.about-hero h1 {
|
||||
font-family: var(--display); font-weight: 900; font-style: italic;
|
||||
font-family: var(--display); font-weight: 900;
|
||||
font-size: clamp(2.6rem, 5vw, 4rem); letter-spacing: -0.03em;
|
||||
color: var(--white); line-height: 1.05; margin-bottom: 24px;
|
||||
}
|
||||
@@ -65,7 +65,7 @@
|
||||
max-width: 1200px; margin: 0 auto;
|
||||
}
|
||||
.about-mission h2 {
|
||||
font-family: var(--display); font-weight: 900; font-style: italic;
|
||||
font-family: var(--display); font-weight: 900;
|
||||
font-size: clamp(2rem, 3.5vw, 2.8rem); letter-spacing: -0.03em;
|
||||
color: var(--black); margin-bottom: 20px;
|
||||
}
|
||||
@@ -101,13 +101,13 @@
|
||||
}
|
||||
.about-products-inner { max-width: 1200px; margin: 0 auto; }
|
||||
.about-products h2 {
|
||||
font-family: var(--display); font-weight: 900; font-style: italic;
|
||||
font-family: var(--display); font-weight: 900;
|
||||
font-size: clamp(1.8rem, 3vw, 2.4rem); letter-spacing: -0.03em;
|
||||
color: var(--black); margin-bottom: 48px; text-align: center;
|
||||
}
|
||||
.products-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
|
||||
.products-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
|
||||
.about-product-card {
|
||||
background: var(--white); border-radius: 20px; padding: 36px 28px;
|
||||
background: var(--white); border-radius: 18px; padding: 24px 20px;
|
||||
border: 1.5px solid var(--gray); transition: border-color .2s, box-shadow .2s, transform .2s;
|
||||
display: flex; flex-direction: column;
|
||||
}
|
||||
@@ -115,12 +115,12 @@
|
||||
border-color: var(--teal); box-shadow: 0 8px 32px rgba(25,112,97,.12); transform: translateY(-3px);
|
||||
}
|
||||
.apc-icon {
|
||||
width: 56px; height: 56px; background: var(--teal-pale); border-radius: 16px;
|
||||
display: flex; align-items: center; justify-content: center; margin-bottom: 20px;
|
||||
width: 44px; height: 44px; background: var(--teal-pale); border-radius: 12px;
|
||||
display: flex; align-items: center; justify-content: center; margin-bottom: 16px;
|
||||
}
|
||||
.apc-icon .material-icons-round { color: var(--teal); font-size: 28px; }
|
||||
.apc-title { font-family: var(--display); font-weight: 800; font-size: 1.3rem; color: var(--black); margin-bottom: 10px; }
|
||||
.apc-desc { font-size: 14px; color: #666; line-height: 1.65; font-weight: 300; flex: 1; margin-bottom: 24px; }
|
||||
.apc-icon .material-icons-round { color: var(--teal); font-size: 22px; }
|
||||
.apc-title { font-family: var(--display); font-weight: 800; font-size: 1.1rem; color: var(--black); margin-bottom: 8px; }
|
||||
.apc-desc { font-size: 13px; color: #666; line-height: 1.6; font-weight: 300; flex: 1; margin-bottom: 20px; }
|
||||
.apc-link {
|
||||
display: inline-flex; align-items: center; gap: 6px;
|
||||
font-size: 14px; font-weight: 700; color: var(--teal); transition: gap .15s;
|
||||
@@ -131,7 +131,7 @@
|
||||
.about-team { padding: 88px 64px; background: var(--white); }
|
||||
.about-team-inner { max-width: 1200px; margin: 0 auto; text-align: center; }
|
||||
.about-team h2 {
|
||||
font-family: var(--display); font-weight: 900; font-style: italic;
|
||||
font-family: var(--display); font-weight: 900;
|
||||
font-size: clamp(1.8rem, 3vw, 2.4rem); letter-spacing: -0.03em;
|
||||
color: var(--black); margin-bottom: 12px;
|
||||
}
|
||||
@@ -155,7 +155,7 @@
|
||||
display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center;
|
||||
}
|
||||
.about-location h2 {
|
||||
font-family: var(--display); font-weight: 900; font-style: italic;
|
||||
font-family: var(--display); font-weight: 900;
|
||||
font-size: clamp(1.8rem, 3vw, 2.4rem); letter-spacing: -0.03em;
|
||||
color: var(--white); margin-bottom: 20px;
|
||||
}
|
||||
@@ -172,10 +172,85 @@
|
||||
}
|
||||
.location-map iframe { display: block; }
|
||||
|
||||
/* ─── Valeurs ───────────────────────────── */
|
||||
.about-values { padding: 88px 64px; background: var(--gray-2); }
|
||||
.about-values-inner { max-width: 1200px; margin: 0 auto; }
|
||||
.about-values-header { text-align: center; margin-bottom: 56px; }
|
||||
.about-values-header h2 {
|
||||
font-family: var(--display); font-weight: 900;
|
||||
font-size: clamp(1.8rem, 3vw, 2.4rem); letter-spacing: -0.03em;
|
||||
color: var(--black); margin-bottom: 12px;
|
||||
}
|
||||
.about-values-header h2 em { font-style: normal; color: var(--teal); }
|
||||
.about-values-header p { font-size: 16px; color: #666; font-weight: 300; max-width: 560px; margin: 0 auto; }
|
||||
.values-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
|
||||
.value-card {
|
||||
background: var(--white); border-radius: 20px; padding: 32px 28px;
|
||||
border: 1.5px solid var(--gray); transition: border-color .2s, transform .2s, box-shadow .2s;
|
||||
}
|
||||
.value-card:hover { border-color: var(--teal); transform: translateY(-3px); box-shadow: 0 8px 28px rgba(25,112,97,.1); }
|
||||
.value-card-icon {
|
||||
width: 52px; height: 52px; background: var(--teal-pale); border-radius: 14px;
|
||||
display: flex; align-items: center; justify-content: center; margin-bottom: 18px;
|
||||
}
|
||||
.value-card-icon .material-icons-round { color: var(--teal); font-size: 26px; }
|
||||
.value-card h3 { font-family: var(--display); font-weight: 800; font-size: 1.05rem; color: var(--black); margin-bottom: 8px; }
|
||||
.value-card p { font-size: 14px; color: #666; line-height: 1.65; font-weight: 300; margin: 0; }
|
||||
|
||||
/* ─── Mot du CEO ─────────────────────────── */
|
||||
.about-ceo { padding: 96px 64px; background: var(--dark-bg); }
|
||||
.about-ceo-inner {
|
||||
max-width: 1100px; margin: 0 auto;
|
||||
display: grid; grid-template-columns: 340px 1fr; gap: 80px; align-items: start;
|
||||
}
|
||||
.ceo-photo-wrap { position: relative; }
|
||||
.ceo-photo-wrap img {
|
||||
width: 100%; border-radius: 24px; display: block;
|
||||
filter: grayscale(15%);
|
||||
}
|
||||
.ceo-photo-label {
|
||||
position: absolute; bottom: -1px; left: 0; right: 0;
|
||||
background: linear-gradient(to top, rgba(0,0,0,.75) 0%, transparent 100%);
|
||||
border-radius: 0 0 24px 24px;
|
||||
padding: 32px 20px 20px;
|
||||
}
|
||||
.ceo-photo-label .ceo-name { font-family: var(--display); font-weight: 800; font-size: 1.05rem; color: var(--white); }
|
||||
.ceo-photo-label .ceo-role { font-size: 12px; color: var(--accent); font-weight: 600; margin-top: 2px; letter-spacing: .04em; text-transform: uppercase; }
|
||||
.ceo-quote-wrap { padding-top: 8px; }
|
||||
.ceo-section-tag {
|
||||
display: inline-flex; align-items: center; gap: 8px;
|
||||
font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
|
||||
background: rgba(255,255,255,.08); color: rgba(255,255,255,.6);
|
||||
padding: 5px 14px; border-radius: 100px; margin-bottom: 28px;
|
||||
}
|
||||
.ceo-section-tag .material-icons-round { font-size: 13px; color: var(--accent); }
|
||||
.ceo-quote-mark {
|
||||
font-family: Georgia, serif; font-size: 7rem; line-height: .7;
|
||||
color: var(--teal); opacity: .4; margin-bottom: 8px; display: block;
|
||||
}
|
||||
.ceo-quote-wrap h2 {
|
||||
font-family: var(--display); font-weight: 900;
|
||||
font-size: clamp(1.6rem, 2.5vw, 2rem); letter-spacing: -0.03em;
|
||||
color: var(--white); margin-bottom: 32px; line-height: 1.15;
|
||||
}
|
||||
.ceo-quote-wrap h2 em { font-style: normal; color: var(--accent); }
|
||||
.ceo-body p {
|
||||
font-size: 15px; color: rgba(255,255,255,.65); line-height: 1.85;
|
||||
font-weight: 300; margin-bottom: 16px;
|
||||
}
|
||||
.ceo-body p:last-child { margin-bottom: 0; }
|
||||
.ceo-signature {
|
||||
margin-top: 10px; padding-top: 10px;
|
||||
display: flex; align-items: center; gap: 16px;
|
||||
}
|
||||
.ceo-sig-line { width: 40px; height: 2px; background: var(--teal); }
|
||||
.ceo-sig-name { font-family: var(--display); font-weight: 800; font-size: 1rem; color: var(--white); }
|
||||
.ceo-sig-role { font-size: 12px; color: rgba(255,255,255,.45); font-weight: 300; margin-top: 2px; }
|
||||
|
||||
/* ─── CTA ────────────────────────────────── */
|
||||
.about-cta { padding: 88px 64px; background: var(--teal-pale); text-align: center; }
|
||||
.about-cta h2 {
|
||||
font-family: var(--display); font-weight: 900; font-style: italic;
|
||||
font-family: var(--display); font-weight: 900;
|
||||
font-size: clamp(1.8rem, 3vw, 2.4rem); letter-spacing: -0.03em;
|
||||
color: var(--black); margin-bottom: 16px;
|
||||
}
|
||||
@@ -198,10 +273,13 @@
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.about-hero, .about-mission, .about-stats, .about-products,
|
||||
.about-team, .about-location, .about-cta { padding: 56px 24px; }
|
||||
.about-team, .about-location, .about-cta,
|
||||
.about-values, .about-ceo { padding: 56px 24px; }
|
||||
.about-mission, .about-location { grid-template-columns: 1fr; }
|
||||
.about-stats { grid-template-columns: 1fr 1fr; }
|
||||
.products-row, .team-grid { grid-template-columns: 1fr; }
|
||||
.products-row, .team-grid, .values-grid { grid-template-columns: 1fr; }
|
||||
.about-ceo-inner { grid-template-columns: 1fr; gap: 40px; }
|
||||
.ceo-photo-wrap { max-width: 280px; margin: 0 auto; }
|
||||
.btn-outline-about { margin-left: 0; margin-top: 12px; }
|
||||
}
|
||||
</style>
|
||||
@@ -211,40 +289,42 @@
|
||||
|
||||
<!-- ══ HERO ══ -->
|
||||
<section class="about-hero">
|
||||
<div class="about-eyebrow">À propos de Jool International</div>
|
||||
<h1>L'intelligence agricole<br>au service de <em>l'Afrique.</em></h1>
|
||||
<p>Jool International développe des solutions technologiques pour moderniser l'agriculture africaine. Du satellite au terrain, nous donnons aux industriels, coopératives et institutions les outils pour piloter leurs exploitations avec précision.</p>
|
||||
<div class="about-eyebrow">{% trans "À propos de Jool International" %}</div>
|
||||
<h1>{% blocktrans %}L'intelligence agricole<br>au service de <em>l'Afrique.</em>{% endblocktrans %}</h1>
|
||||
<p style="text-align: left;">{% blocktrans %}JooL construit une infrastructure agricole qui connecte intelligence artificielle, satellite, drones, données géoréférencées et opérations terrain pour aider les acteurs agricoles à mieux voir, mieux décider et mieux agir à grande échelle. <br>
|
||||
L'agriculture africaine souffre encore d'un immense déficit de visibilité terrain. <br>
|
||||
Des millions d'exploitations agricoles opèrent sans données fiables, actualisées et exploitables, ralentissant les interventions, la gestion du risque et l'accès au financement.{% endblocktrans %}</p>
|
||||
</section>
|
||||
|
||||
<!-- ══ MISSION ══ -->
|
||||
<!-- ══ VISION ══ -->
|
||||
<section style="background:var(--white);">
|
||||
<div class="about-mission">
|
||||
<div class="reveal">
|
||||
<span style="font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:rgba(25,112,97,.1);color:var(--teal);padding:5px 14px;border-radius:100px;display:inline-block;margin-bottom:20px;">Notre mission</span>
|
||||
<h2>Transformer l'agriculture<br>africaine par la <em>donnée.</em></h2>
|
||||
<p>En Afrique subsaharienne, 60% de la population active travaille dans l'agriculture, mais moins de 5% des exploitations ont accès à des outils numériques de gestion. Jool International comble ce fossé.</p>
|
||||
<p>Nous construisons des outils adaptés aux réalités du terrain africain : connectivité limitée, diversité des cultures, multiplicité des acteurs et besoins de traçabilité pour les marchés internationaux.</p>
|
||||
<span style="font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:rgba(25,112,97,.1);color:var(--teal);padding:5px 14px;border-radius:100px;display:inline-block;margin-bottom:20px;">{% trans "Notre vision" %}</span>
|
||||
<h2>{% blocktrans %}Construire l'infrastructure <br><em>d'intelligence agricole</em> <br> de référence en Afrique.{% endblocktrans %}</h2>
|
||||
<p>{% trans "Nous voulons transformer la manière dont l'agriculture africaine est observée, monitorée, scorée, financée et opérée à grande échelle." %}</p>
|
||||
<p>{% trans "Notre ambition est de rendre chaque hectare plus visible, chaque risque plus mesurable et chaque décision plus précise grâce à une infrastructure combinant intelligence artificielle, satellite, données terrain et opérations agricoles." %}</p>
|
||||
</div>
|
||||
<div class="mission-values reveal">
|
||||
<div class="mission-value">
|
||||
<span class="material-icons-round">visibility</span>
|
||||
<div class="mission-value-body">
|
||||
<h4>Transparence</h4>
|
||||
<p>Des données vérifiables et auditables à chaque étape de la chaîne de valeur agricole.</p>
|
||||
<h4>{% trans "Transparence" %}</h4>
|
||||
<p>{% trans "Des données vérifiables et auditables à chaque étape de la chaîne de valeur agricole." %}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mission-value">
|
||||
<span class="material-icons-round">bolt</span>
|
||||
<div class="mission-value-body">
|
||||
<h4>Impact terrain</h4>
|
||||
<p>Nos solutions sont conçues pour être utilisées par des agents de terrain, pas seulement des ingénieurs.</p>
|
||||
<h4>{% trans "Impact terrain" %}</h4>
|
||||
<p>{% trans "Nos solutions sont conçues pour être utilisées par des agents de terrain, pas seulement des ingénieurs." %}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mission-value">
|
||||
<span class="material-icons-round">public</span>
|
||||
<div class="mission-value-body">
|
||||
<h4>Scalabilité africaine</h4>
|
||||
<p>De 100 à 100 000 hectares, nos outils s'adaptent à toutes les tailles d'exploitation.</p>
|
||||
<h4>{% trans "Scalabilité africaine" %}</h4>
|
||||
<p>{% trans "De 100 à 100 000 hectares, nos outils s'adaptent à toutes les tailles d'exploitation." %}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -254,89 +334,148 @@
|
||||
<!-- ══ STATS ══ -->
|
||||
<div class="about-stats">
|
||||
<div class="reveal">
|
||||
<div class="about-stat-val">+280 000</div>
|
||||
<div class="about-stat-label">Producteurs digitalisés</div>
|
||||
<div class="about-stat-val">+300 000</div>
|
||||
<div class="about-stat-label">{% trans "Producteurs digitalisés" %}</div>
|
||||
</div>
|
||||
<div class="reveal">
|
||||
<div class="about-stat-val">+100 000 ha</div>
|
||||
<div class="about-stat-label">Superficie suivie</div>
|
||||
<div class="about-stat-val">+610 000</div>
|
||||
<div class="about-stat-label">{% trans "Superficie suivie" %}</div>
|
||||
</div>
|
||||
<div class="reveal">
|
||||
<div class="about-stat-val">3</div>
|
||||
<div class="about-stat-label">Cultures couvertes</div>
|
||||
<div class="about-stat-label">{% trans "Cultures couvertes" %}</div>
|
||||
</div>
|
||||
<div class="reveal">
|
||||
<div class="about-stat-val">89%</div>
|
||||
<div class="about-stat-label">Précision IA</div>
|
||||
<div class="about-stat-label">{% trans "Précision IA" %}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ══ VALEURS ══ -->
|
||||
<section class="about-values">
|
||||
<div class="about-values-inner">
|
||||
<div class="about-values-header reveal">
|
||||
<span class="section-tag tag-teal" style="margin-bottom:16px;">
|
||||
<span class="material-icons-round" style="font-size:13px;">diamond</span>
|
||||
{% trans "Ce qui nous guide" %}
|
||||
</span>
|
||||
<h2>{% blocktrans %}Nos <em>valeurs</em>{% endblocktrans %}</h2>
|
||||
<p>{% trans "Une technologie construite autour du terrain, de la clarté et de l'impact." %}</p>
|
||||
</div>
|
||||
<div class="values-grid">
|
||||
<div class="value-card reveal">
|
||||
<div class="value-card-icon"><span class="material-icons-round">verified</span></div>
|
||||
<h3>{% trans "Intégrité" %}</h3>
|
||||
<p>{% trans "Des systèmes fiables, transparents et basés sur des données vérifiables." %}</p>
|
||||
</div>
|
||||
<div class="value-card reveal">
|
||||
<div class="value-card-icon"><span class="material-icons-round">lightbulb</span></div>
|
||||
<h3>{% trans "Clarté" %}</h3>
|
||||
<p>{% trans "Transformer des données complexes en décisions compréhensibles et exploitables." %}</p>
|
||||
</div>
|
||||
<div class="value-card reveal">
|
||||
<div class="value-card-icon"><span class="material-icons-round">workspace_premium</span></div>
|
||||
<h3>{% trans "Excellence" %}</h3>
|
||||
<p>{% trans "Un haut niveau d'exécution dans nos technologies et nos opérations terrain." %}</p>
|
||||
</div>
|
||||
<div class="value-card reveal">
|
||||
<div class="value-card-icon"><span class="material-icons-round">agriculture</span></div>
|
||||
<h3>{% trans "Exécution terrain" %}</h3>
|
||||
<p>{% trans "Connecter intelligence et interventions réelles sur le terrain." %}</p>
|
||||
</div>
|
||||
<div class="value-card reveal">
|
||||
<div class="value-card-icon"><span class="material-icons-round">trending_up</span></div>
|
||||
<h3>{% trans "Impact utile" %}</h3>
|
||||
<p>{% trans "Créer des outils capables d'améliorer concrètement la performance agricole." %}</p>
|
||||
</div>
|
||||
<div class="value-card reveal">
|
||||
<div class="value-card-icon"><span class="material-icons-round">public</span></div>
|
||||
<h3>{% trans "Pensé pour l'Afrique" %}</h3>
|
||||
<p>{% trans "Des solutions adaptées aux réalités agricoles africaines et au passage à l'échelle." %}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- ══ MOT DU CEO ══ -->
|
||||
<section class="about-ceo">
|
||||
<div class="about-ceo-inner">
|
||||
<div class="ceo-photo-wrap reveal">
|
||||
{% trans "Joseph-Olivier BILEY — Co-Founder & CEO, JooL International" as alt_ceo %}
|
||||
<img src="{% static 'img/joseph_Olivier_Biley.jpg' %}" alt="{{ alt_ceo }}" loading="lazy" decoding="async">
|
||||
<div class="ceo-photo-label">
|
||||
<div class="ceo-name">Joseph-Olivier BILEY</div>
|
||||
<div class="ceo-role">Co-Founder & CEO, JooL International</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ceo-quote-wrap reveal">
|
||||
<div class="ceo-section-tag">
|
||||
{% trans "Mot du CEO" %}
|
||||
</div>
|
||||
<span class="ceo-quote-mark">"</span>
|
||||
<h2>{% blocktrans %}L'agriculture africaine ne manque pas de potentiel.<br><em>Elle manque de visibilité.</em>{% endblocktrans %}</h2>
|
||||
<div class="ceo-body">
|
||||
<p>{% trans "Pendant des décennies, une grande partie des décisions agricoles en Afrique a été prise avec peu de données fiables, peu de visibilité terrain et des outils rarement adaptés aux réalités opérationnelles du continent." %}</p>
|
||||
<p>{% trans "Cette absence de visibilité a un coût immense : maladies détectées trop tard, interventions mal priorisées, risques mal évalués et capitaux déployés avec trop d'incertitude." %}</p>
|
||||
<p>{% trans "Chez JooL, nous avons décidé de construire une infrastructure capable de changer cela. En collectant des données locales et en connectant intelligence artificielle, satellite, drones, données géoréférencées et opérations terrain, nous aidons les acteurs agricoles à mieux comprendre leurs parcelles, détecter les risques plus tôt et prendre des décisions plus précises." %}</p>
|
||||
<p>{% trans "Mais notre ambition va plus loin que la technologie. Nous voulons contribuer à bâtir une agriculture africaine plus visible, plus mesurable, plus finançable et plus performante à grande échelle." %}</p>
|
||||
<p>{% trans "Parce qu'une agriculture mieux comprise devient une agriculture plus forte, nous nous engageons chez JooL à révéler les zones d'ombre de l'agriculture africaine et à transformer les données terrain en décisions utiles." %}</p>
|
||||
</div>
|
||||
<div class="ceo-signature">
|
||||
<div class="ceo-sig-line"></div>
|
||||
<div>
|
||||
<div class="ceo-sig-name">Joseph-Olivier BILEY</div>
|
||||
<div class="ceo-sig-role">Co-Founder & CEO, JooL International</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- ══ PRODUITS ══ -->
|
||||
<section class="about-products">
|
||||
<div class="about-products-inner">
|
||||
<h2>Nos solutions</h2>
|
||||
<h2>{% trans "Nos solutions" %}</h2>
|
||||
<div class="products-row">
|
||||
<div class="about-product-card reveal">
|
||||
<div class="apc-icon"><span class="material-icons-round">satellite_alt</span></div>
|
||||
<div class="apc-title">KIRIQ AI</div>
|
||||
<p class="apc-desc">Surveillance satellitaire et IA pour détecter les stress végétatifs, prioriser les interventions et piloter vos plantations depuis le bureau.</p>
|
||||
<a href="{% url 'core:kiriq' %}" class="apc-link">Découvrir KIRIQ AI <span class="material-icons-round" style="font-size:18px;">east</span></a>
|
||||
<p class="apc-desc">{% trans "Surveillance satellitaire et IA pour détecter les stress végétatifs, prioriser les interventions et piloter vos plantations depuis le bureau." %}</p>
|
||||
<a href="{% url 'core:kiriq' %}" class="apc-link">{% trans "Découvrir KIRIQ AI" %} <span class="material-icons-round" style="font-size:18px;">east</span></a>
|
||||
</div>
|
||||
<div class="about-product-card reveal">
|
||||
<div class="apc-icon"><span class="material-icons-round">flight</span></div>
|
||||
<div class="apc-title">Jool Monitor</div>
|
||||
<p class="apc-desc">Cartographie drone haute résolution, comptage automatique des plants et audit de conformité pour une vision ultra-précise du terrain.</p>
|
||||
<a href="{% url 'core:monitor' %}" class="apc-link">Découvrir Monitor <span class="material-icons-round" style="font-size:18px;">east</span></a>
|
||||
<p class="apc-desc">{% trans "Cartographie drone haute résolution, comptage automatique des plants et audit de conformité pour une vision ultra-précise du terrain." %}</p>
|
||||
<a href="{% url 'core:monitor' %}" class="apc-link">{% trans "Découvrir Monitor" %} <span class="material-icons-round" style="font-size:18px;">east</span></a>
|
||||
</div>
|
||||
<div class="about-product-card reveal">
|
||||
<div class="apc-icon"><span class="material-icons-round">badge</span></div>
|
||||
<div class="apc-title">Jool ID</div>
|
||||
<p class="apc-desc">Digitalisation et centralisation des producteurs, parcelles et programmes agricoles pour une gestion fiable et traçable à grande échelle.</p>
|
||||
<a href="{% url 'core:joolid' %}" class="apc-link">Découvrir Jool ID <span class="material-icons-round" style="font-size:18px;">east</span></a>
|
||||
<p class="apc-desc">{% trans "Digitalisation et centralisation des producteurs, parcelles et programmes agricoles pour une gestion fiable et traçable à grande échelle." %}</p>
|
||||
<a href="{% url 'core:joolid' %}" class="apc-link">{% trans "Découvrir Jool ID" %} <span class="material-icons-round" style="font-size:18px;">east</span></a>
|
||||
</div>
|
||||
<div class="about-product-card reveal">
|
||||
<div class="apc-icon"><span class="material-icons-round">agriculture</span></div>
|
||||
<div class="apc-title">Mon Agro</div>
|
||||
<p class="apc-desc">{% trans "Réseau d'agronomes et techniciens terrain pour exécuter les interventions, accompagner les producteurs et assurer le suivi opérationnel des parcelles." %}</p>
|
||||
<a href="{% url 'core:monagro' %}" class="apc-link">{% trans "Découvrir Mon Agro" %} <span class="material-icons-round" style="font-size:18px;">east</span></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- ══ EQUIPE
|
||||
<section class="about-team">
|
||||
<div class="about-team-inner">
|
||||
<h2>L'équipe fondatrice</h2>
|
||||
<p>Une équipe pluridisciplinaire alliant expertise agronomique, technologie et connaissance du terrain africain.</p>
|
||||
<div class="team-grid">
|
||||
<div class="team-card reveal">
|
||||
<div class="team-avatar">🌱</div>
|
||||
<div class="team-name">Israel Coulibaly</div>
|
||||
<div class="team-role">CEO & Co-fondateur</div>
|
||||
<p class="team-bio">Expert en agri-business et stratégie. Vision de l'agriculture africaine digitale depuis plus de 8 ans.</p>
|
||||
</div>
|
||||
<div class="team-card reveal">
|
||||
<div class="team-avatar">🛰️</div>
|
||||
<div class="team-name">Équipe Technique</div>
|
||||
<div class="team-role">Data Science & IA</div>
|
||||
<p class="team-bio">Ingénieurs spécialisés en télédétection, machine learning et traitement d'images satellite.</p>
|
||||
</div>
|
||||
<div class="team-card reveal">
|
||||
<div class="team-avatar">🌍</div>
|
||||
<div class="team-name">Équipe Terrain</div>
|
||||
<div class="team-role">Agronomie & Opérations</div>
|
||||
<p class="team-bio">Agronomes et pilotes de drone formés aux spécificités des cultures tropicales africaines.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
══ -->
|
||||
|
||||
<!-- ══ LOCALISATION ══ -->
|
||||
<section class="about-location">
|
||||
<div class="reveal">
|
||||
<h2>Basés en <em>Côte d'Ivoire,</em><br>actifs en Afrique.</h2>
|
||||
<p>Jool International opère dans partout en Afrique de l'Ouest, là où les enjeux agricoles sont les plus importants.</p>
|
||||
<div class="location-item"><span class="material-icons-round">location_on</span> Abidjan, Côte d'Ivoire (siège)</div>
|
||||
<h2>{% blocktrans %}Basés en <em>Côte d'Ivoire,</em><br>actifs en Afrique.{% endblocktrans %}</h2>
|
||||
<p>{% trans "Jool International opère partout en Afrique de l'Ouest, là où les enjeux agricoles sont les plus importants." %}</p>
|
||||
<div class="location-item"><span class="material-icons-round">location_on</span> {% trans "Abidjan, Côte d'Ivoire (siège)" %}</div>
|
||||
<div class="location-item"><span class="material-icons-round">email</span> info@jool-int.com</div>
|
||||
<div class="location-item"><span class="material-icons-round">phone</span> +225 07 99 899 836</div>
|
||||
</div>
|
||||
<div class="location-map reveal">
|
||||
{% trans "Localisation de Jool International — Abidjan, Côte d'Ivoire" as map_title %}
|
||||
<iframe
|
||||
src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3972.3381998336868!2d-3.9153728148862776!3d5.36527478072492!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0xfc193bd3101ed6b%3A0x9dab83b7bb1027b9!2sJooL-International!5e0!3m2!1sfr!2sci!4v1778585083283!5m2!1sfr!2sci"
|
||||
width="100%"
|
||||
@@ -345,23 +484,23 @@
|
||||
allowfullscreen=""
|
||||
loading="lazy"
|
||||
referrerpolicy="no-referrer-when-downgrade"
|
||||
title="Localisation de Jool International — Abidjan, Côte d'Ivoire">
|
||||
title="{{ map_title }}">
|
||||
</iframe>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- ══ CTA ══ -->
|
||||
<section class="about-cta">
|
||||
<span style="font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:rgba(25,112,97,.12);color:var(--teal);padding:5px 14px;border-radius:100px;display:inline-block;margin-bottom:20px;">Travaillons ensemble</span>
|
||||
<h2>Prêt à transformer<br>votre exploitation ?</h2>
|
||||
<p>Discutons de vos besoins et voyons comment Jool peut vous aider.</p>
|
||||
<span style="font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:rgba(25,112,97,.12);color:var(--teal);padding:5px 14px;border-radius:100px;display:inline-block;margin-bottom:20px;">{% trans "Travaillons ensemble" %}</span>
|
||||
<h2>{% blocktrans %}Prêt à transformer<br>votre exploitation ?{% endblocktrans %}</h2>
|
||||
<p>{% trans "Discutons de vos besoins et voyons comment Jool peut vous aider." %}</p>
|
||||
<div>
|
||||
<a href="{% url 'core:home' %}#contact" class="btn-cta-lg">
|
||||
<span class="material-icons-round">east</span> Demander une démo
|
||||
<span class="material-icons-round">east</span> {% trans "Demander une démo" %}
|
||||
</a>
|
||||
{% if careers_enabled %}
|
||||
<a href="{% url 'careers:job_list' %}" class="btn-outline-about">
|
||||
Rejoindre l'équipe
|
||||
{% trans "Rejoindre l'équipe" %}
|
||||
</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
@@ -1,14 +1,15 @@
|
||||
{% extends "base.html" %}
|
||||
{% load static i18n %}
|
||||
|
||||
{% block title %}Jool International — Solutions AgriTech pour l'Afrique{% endblock %}
|
||||
{% block title_plain %}Jool International — Solutions AgriTech pour l'Afrique{% endblock %}
|
||||
{% block title %}{% trans "Jool International — Solutions AgriTech pour l'Afrique" %}{% endblock %}
|
||||
{% block title_plain %}{% trans "Jool International — Solutions AgriTech pour l'Afrique" %}{% endblock %}
|
||||
|
||||
{% block meta_description %}Jool International propose des solutions AgriTech innovantes pour l'agriculture africaine : KIRIQ AI (diagnostic satellitaire), Jool Monitor (cartographie drone) et Jool ID (digitalisation producteurs). Optimisez vos exploitations agricoles en Côte d'Ivoire et en Afrique.{% endblock %}
|
||||
{% block meta_description %}{% blocktrans %}Jool International propose des solutions AgriTech pour l'agriculture africaine : KIRIQ AI (diagnostic satellitaire IA), Jool Monitor (cartographie drone), Jool ID (digitalisation producteurs) et Mon Agro (interventions terrain). Optimisez vos exploitations en Côte d'Ivoire et en Afrique.{% endblocktrans %}{% endblock %}
|
||||
|
||||
{% block og_title %}Jool International — Solutions AgriTech pour l'Afrique{% endblock %}
|
||||
{% block og_description %}KIRIQ AI, Jool Monitor et Jool ID : les outils de précision pour piloter vos exploitations agricoles en Afrique.{% endblock %}
|
||||
{% block twitter_title %}Jool International — Solutions AgriTech pour l'Afrique{% endblock %}
|
||||
{% block twitter_description %}KIRIQ AI, Jool Monitor et Jool ID : les outils de précision pour piloter vos exploitations agricoles en Afrique.{% endblock %}
|
||||
{% block og_title %}{% trans "Jool International — Solutions AgriTech pour l'Afrique" %}{% endblock %}
|
||||
{% block og_description %}{% trans "KIRIQ AI, Jool Monitor, Jool ID et Mon Agro : les outils de précision pour piloter vos exploitations agricoles en Afrique." %}{% endblock %}
|
||||
{% block twitter_title %}{% trans "Jool International — Solutions AgriTech pour l'Afrique" %}{% endblock %}
|
||||
{% block twitter_description %}{% trans "KIRIQ AI, Jool Monitor et Jool ID : les outils de précision pour piloter vos exploitations agricoles en Afrique." %}{% endblock %}
|
||||
|
||||
{% block schema_org %}
|
||||
<script type="application/ld+json">
|
||||
@@ -17,7 +18,7 @@
|
||||
"@type": "Organization",
|
||||
"name": "Jool International",
|
||||
"url": "https://jool-international.com",
|
||||
"logo": "https://jool-international.com/static/img/logo.png",
|
||||
"logo": "https://jool-international.com{% static 'img/logo.png' %}",
|
||||
"description": "Solutions AgriTech pour l'agriculture africaine : analyse satellitaire IA, cartographie drone et digitalisation des producteurs.",
|
||||
"address": {
|
||||
"@type": "PostalAddress",
|
||||
@@ -42,6 +43,7 @@
|
||||
"itemOffered": {
|
||||
"@type": "SoftwareApplication",
|
||||
"name": "KIRIQ AI",
|
||||
"url": "https://jool-international.com/produits/kiriq/",
|
||||
"description": "Diagnostic satellitaire et analyse IA des cultures agricoles.",
|
||||
"applicationCategory": "AgricultureApplication"
|
||||
}
|
||||
@@ -51,6 +53,7 @@
|
||||
"itemOffered": {
|
||||
"@type": "SoftwareApplication",
|
||||
"name": "Jool Monitor",
|
||||
"url": "https://jool-international.com/produits/monitor/",
|
||||
"description": "Cartographie drone haute résolution pour la surveillance des parcelles.",
|
||||
"applicationCategory": "AgricultureApplication"
|
||||
}
|
||||
@@ -60,9 +63,20 @@
|
||||
"itemOffered": {
|
||||
"@type": "SoftwareApplication",
|
||||
"name": "Jool ID",
|
||||
"url": "https://jool-international.com/produits/joolid/",
|
||||
"description": "Digitalisation et gestion des producteurs agricoles.",
|
||||
"applicationCategory": "AgricultureApplication"
|
||||
}
|
||||
},
|
||||
{
|
||||
"@type": "Offer",
|
||||
"itemOffered": {
|
||||
"@type": "SoftwareApplication",
|
||||
"name": "Mon Agro",
|
||||
"url": "https://jool-international.com/produits/monagro/",
|
||||
"description": "Coordination d'agronomes et exécution des interventions terrain agricoles.",
|
||||
"applicationCategory": "AgricultureApplication"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -76,6 +90,7 @@
|
||||
{% include "core/partials/_section_kiriq.html" %}
|
||||
{% include "core/partials/_section_monitor.html" %}
|
||||
{% include "core/partials/_section_joolid.html" %}
|
||||
{% include "core/partials/_section_monagro.html" %}
|
||||
{% include "core/partials/_stats.html" %}
|
||||
{% include "core/partials/_trusted_by.html" %}
|
||||
{% include "core/partials/_features.html" %}
|
||||
|
||||
@@ -1,50 +1,103 @@
|
||||
{% load i18n %}
|
||||
<!-- ══ CTA FINAL ══ -->
|
||||
<section class="s-cta-final" id="contact">
|
||||
<div class="deco deco-l">J</div>
|
||||
<div class="deco deco-r">L</div>
|
||||
<div class="section-inner">
|
||||
<h2 class="cta-final-h reveal">Transformez votre exploitation<br>agricole dès aujourd'hui.</h2>
|
||||
<p class="cta-final-sub reveal">Rejoignez les industriels et coopératives qui font confiance à Jool International.</p>
|
||||
<h2 class="cta-final-h reveal">{% blocktrans %}Transformez votre exploitation<br>agricole dès aujourd'hui.{% endblocktrans %}</h2>
|
||||
<p class="cta-final-sub reveal">{% trans "Rejoignez les industriels et coopératives qui font confiance à Jool International." %}</p>
|
||||
|
||||
<form id="contact-form" class="cta-form reveal" novalidate>
|
||||
{% csrf_token %}
|
||||
<div class="cta-fields">
|
||||
<input class="cta-input" type="text" name="last_name" placeholder="Nom" required>
|
||||
<input class="cta-input" type="text" name="first_name" placeholder="Prénom" required>
|
||||
<input class="cta-input" type="email" name="email" placeholder="Adresse email" required>
|
||||
<input class="cta-input" type="tel" name="phone" placeholder="Téléphone" inputmode="numeric" pattern="[0-9+ ]{6,20}">
|
||||
<input class="cta-input" type="text" name="last_name" placeholder="{% trans 'Nom' %}" required>
|
||||
<input class="cta-input" type="text" name="first_name" placeholder="{% trans 'Prénom' %}" required>
|
||||
<input class="cta-input" type="email" name="email" placeholder="{% trans 'Adresse email' %}" required>
|
||||
<div class="phone-wrap">
|
||||
<select id="phone-prefix" class="phone-select">
|
||||
<option value="+225">🇨🇮 +225</option>
|
||||
<option value="+223">🇲🇱 +223</option>
|
||||
<option value="+226">🇧🇫 +226</option>
|
||||
<option value="+227">🇳🇪 +227</option>
|
||||
<option value="+228">🇹🇬 +228</option>
|
||||
<option value="+229">🇧🇯 +229</option>
|
||||
<option value="+221">🇸🇳 +221</option>
|
||||
<option value="+224">🇬🇳 +224</option>
|
||||
<option value="+233">🇬🇭 +233</option>
|
||||
<option value="+234">🇳🇬 +234</option>
|
||||
<option value="+237">🇨🇲 +237</option>
|
||||
<option value="+243">🇨🇩 +243</option>
|
||||
<option value="+212">🇲🇦 +212</option>
|
||||
<option value="+216">🇹🇳 +216</option>
|
||||
<option value="+213">🇩🇿 +213</option>
|
||||
<option value="+33">🇫🇷 +33</option>
|
||||
<option value="+32">🇧🇪 +32</option>
|
||||
<option value="+1">🇺🇸 +1</option>
|
||||
</select>
|
||||
<input class="cta-input phone-number" type="tel" name="phone" id="phone-number" placeholder="{% trans 'Numéro' %}" inputmode="numeric">
|
||||
</div>
|
||||
<textarea class="cta-input cta-textarea" name="message" placeholder="Votre demande…" rows="4" required></textarea>
|
||||
</div>
|
||||
<textarea class="cta-input cta-textarea" name="message" placeholder="{% trans 'Votre demande…' %}" rows="4" required></textarea>
|
||||
<ul class="cta-errors" id="contact-errors" hidden></ul>
|
||||
<button class="btn-hero" type="submit" id="contact-btn">
|
||||
Démarrer maintenant
|
||||
<span class="material-icons-round" style="font-size:18px;">arrow_forward</span>
|
||||
<span id="contact-btn-label">{% trans "Démarrer maintenant" %}</span>
|
||||
<span id="contact-btn-spinner" class="btn-spinner" hidden></span>
|
||||
<span id="contact-btn-icon" class="material-icons-round" style="font-size:18px;">arrow_forward</span>
|
||||
</button>
|
||||
</form>
|
||||
|
||||
<div class="cta-success" id="contact-success">
|
||||
<span class="material-icons-round">check_circle</span>
|
||||
Votre demande a bien été envoyée ! Nous vous répondrons très prochainement.
|
||||
{% trans "Votre demande a bien été envoyée ! Nous vous répondrons très prochainement." %}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<style>
|
||||
.cta-input.field-error,
|
||||
.phone-wrap.field-error { border-color: #e53e3e !important; }
|
||||
.btn-spinner {
|
||||
width: 18px; height: 18px;
|
||||
border: 2.5px solid rgba(255,255,255,.35);
|
||||
border-top-color: #fff;
|
||||
border-radius: 50%;
|
||||
animation: spin .7s linear infinite;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
@keyframes spin { to { transform: rotate(360deg); } }
|
||||
</style>
|
||||
|
||||
<script>
|
||||
(function () {
|
||||
const form = document.getElementById('contact-form');
|
||||
const errors = document.getElementById('contact-errors');
|
||||
const success = document.getElementById('contact-success');
|
||||
const btn = document.getElementById('contact-btn');
|
||||
const label = document.getElementById('contact-btn-label');
|
||||
const spinner = document.getElementById('contact-btn-spinner');
|
||||
const icon = document.getElementById('contact-btn-icon');
|
||||
const url = "{% url 'core:contact_ajax' %}";
|
||||
const msgSending = "{% trans 'Envoi en cours…' %}";
|
||||
const msgSend = "{% trans 'Démarrer maintenant' %}";
|
||||
|
||||
function setLoading(on) {
|
||||
btn.disabled = on;
|
||||
spinner.hidden = !on;
|
||||
icon.hidden = on;
|
||||
label.textContent = on ? msgSending : msgSend;
|
||||
btn.style.opacity = on ? '.85' : '1';
|
||||
}
|
||||
|
||||
form.addEventListener('submit', async function (e) {
|
||||
e.preventDefault();
|
||||
errors.hidden = true;
|
||||
errors.innerHTML = '';
|
||||
btn.disabled = true;
|
||||
btn.style.opacity = '.6';
|
||||
setLoading(true);
|
||||
|
||||
const data = new FormData(form);
|
||||
const prefix = document.getElementById('phone-prefix').value;
|
||||
const number = document.getElementById('phone-number').value.trim();
|
||||
if (number) data.set('phone', prefix + ' ' + number);
|
||||
|
||||
try {
|
||||
const res = await fetch(url, {
|
||||
@@ -58,24 +111,23 @@
|
||||
form.style.display = 'none';
|
||||
success.classList.add('visible');
|
||||
} else {
|
||||
// Affiche les erreurs sans recharger
|
||||
const msgs = Object.values(json.errors).flat().map(e => e.message);
|
||||
msgs.forEach(msg => {
|
||||
const li = document.createElement('li');
|
||||
li.textContent = msg;
|
||||
errors.appendChild(li);
|
||||
Object.keys(json.errors).forEach(field => {
|
||||
const el = form.querySelector('[name="' + field + '"]');
|
||||
if (!el) return;
|
||||
const target = field === 'phone' ? el.closest('.phone-wrap') : el;
|
||||
target.classList.add('field-error');
|
||||
el.addEventListener('input', function() {
|
||||
target.classList.remove('field-error');
|
||||
}, { once: true });
|
||||
});
|
||||
errors.hidden = false;
|
||||
btn.disabled = false;
|
||||
btn.style.opacity = '1';
|
||||
setLoading(false);
|
||||
}
|
||||
} catch (_) {
|
||||
const li = document.createElement('li');
|
||||
li.textContent = 'Une erreur réseau est survenue. Veuillez réessayer.';
|
||||
li.textContent = "{% trans 'Une erreur réseau est survenue. Veuillez réessayer.' %}";
|
||||
errors.appendChild(li);
|
||||
errors.hidden = false;
|
||||
btn.disabled = false;
|
||||
btn.style.opacity = '1';
|
||||
setLoading(false);
|
||||
}
|
||||
});
|
||||
})();
|
||||
|
||||
@@ -1,66 +1,57 @@
|
||||
{% load i18n %}
|
||||
<!-- ══ FAQ ══ -->
|
||||
<section class="s-faq" id="faq">
|
||||
<div class="section-inner">
|
||||
<h2 class="faq-h reveal">Questions ? Réponses.</h2>
|
||||
<p class="faq-sub reveal">Tout ce que vous devez savoir sur nos solutions AgriTech.</p>
|
||||
<h2 class="faq-h reveal">{% trans "Questions ? Réponses." %}</h2>
|
||||
<p class="faq-sub reveal">{% trans "Tout ce que vous devez savoir sur nos solutions AgriTech." %}</p>
|
||||
<div class="faq-wrap">
|
||||
|
||||
<div class="faq-item reveal">
|
||||
<div class="faq-q" onclick="toggleFaq(this)">
|
||||
Faut-il une connexion internet sur le terrain pour utiliser vos solutions ?
|
||||
{% trans "Faut-il une connexion internet sur le terrain pour utiliser vos solutions ?" %}
|
||||
<span class="material-icons-round">add</span>
|
||||
</div>
|
||||
<div class="faq-a">Non. Nos applications mobiles fonctionnent en mode hors-ligne. Les données se synchronisent
|
||||
automatiquement dès qu'une connexion est disponible — idéal pour les zones rurales à connectivité limitée.
|
||||
</div>
|
||||
<div class="faq-a">{% blocktrans %}Non. Nos applications mobiles fonctionnent en mode hors-ligne. Les données se synchronisent automatiquement dès qu'une connexion est disponible idéal pour les zones rurales à connectivité limitée.{% endblocktrans %}</div>
|
||||
</div>
|
||||
|
||||
<div class="faq-item reveal">
|
||||
<div class="faq-q" onclick="toggleFaq(this)">
|
||||
Quelle est la différence entre KIRIQ AI et Jool Monitor ?
|
||||
{% trans "Quelle est la différence entre KIRIQ AI et Jool Monitor ?" %}
|
||||
<span class="material-icons-round">add</span>
|
||||
</div>
|
||||
<div class="faq-a">KIRIQ AI analyse via satellite à grande échelle (milliers d'hectares) avec une fréquence
|
||||
régulière. Jool Monitor utilise des drones pour une précision centimétrique sur des zones ciblées. Les deux
|
||||
sont complémentaires : KIRIQ détecte les anomalies, Jool Monitor les confirme avec précision.</div>
|
||||
<div class="faq-a">{% blocktrans %}KIRIQ AI analyse via satellite à grande échelle (milliers d'hectares) avec une fréquence régulière. Jool Monitor utilise des drones pour une précision centimétrique sur des zones ciblées. Les deux sont complémentaires : KIRIQ détecte les anomalies, Jool Monitor les confirme avec précision.{% endblocktrans %}</div>
|
||||
</div>
|
||||
|
||||
<div class="faq-item reveal">
|
||||
<div class="faq-q" onclick="toggleFaq(this)">
|
||||
Quels types de cultures sont pris en charge ?
|
||||
{% trans "Quels types de cultures sont pris en charge ?" %}
|
||||
<span class="material-icons-round">add</span>
|
||||
</div>
|
||||
<div class="faq-a">Nos solutions sont optimisées pour le palmier à huile, l'hévéa, le cacao, le café et les
|
||||
grandes cultures vivrières. Nos modèles IA peuvent être adaptés à d'autres cultures tropicales sur demande.
|
||||
</div>
|
||||
<div class="faq-a">{% blocktrans %}Nos solutions sont optimisées pour le palmier à huile, l'hévéa, le cacao, le café et les grandes cultures vivrières. Nos modèles IA peuvent être adaptés à d'autres cultures tropicales sur demande.{% endblocktrans %}</div>
|
||||
</div>
|
||||
|
||||
<div class="faq-item reveal">
|
||||
<div class="faq-q" onclick="toggleFaq(this)">
|
||||
Combien de temps pour recevoir les résultats après un vol drone ?
|
||||
{% trans "Combien de temps pour recevoir les résultats après un vol drone ?" %}
|
||||
<span class="material-icons-round">add</span>
|
||||
</div>
|
||||
<div class="faq-a">Les rapports Jool Monitor sont livrés sous 24 à 48 heures après le vol. Pour KIRIQ AI, les
|
||||
données satellitaires sont traitées et disponibles en temps quasi-réel selon la couverture nuageuse.</div>
|
||||
<div class="faq-a">{% blocktrans %}Les rapports Jool Monitor sont livrés sous 24 à 48 heures après le vol. Pour KIRIQ AI, les données satellitaires sont traitées et disponibles en temps quasi-réel selon la couverture nuageuse.{% endblocktrans %}</div>
|
||||
</div>
|
||||
|
||||
<div class="faq-item reveal">
|
||||
<div class="faq-q" onclick="toggleFaq(this)">
|
||||
Jool ID est-il compatible avec nos systèmes existants ?
|
||||
{% trans "Jool ID est-il compatible avec nos systèmes existants ?" %}
|
||||
<span class="material-icons-round">add</span>
|
||||
</div>
|
||||
<div class="faq-a">Oui. Jool ID dispose d'une API ouverte permettant l'intégration avec vos ERP, bases de
|
||||
données et outils de gestion existants. Notre équipe technique assure l'accompagnement à l'intégration.
|
||||
</div>
|
||||
<div class="faq-a">{% blocktrans %}Oui. Jool ID dispose d'une API ouverte permettant l'intégration avec vos ERP, bases de données et outils de gestion existants. Notre équipe technique assure l'accompagnement à l'intégration.{% endblocktrans %}</div>
|
||||
</div>
|
||||
|
||||
<div class="faq-item reveal">
|
||||
<div class="faq-q" onclick="toggleFaq(this)">
|
||||
Où télécharger les applications mobiles ?
|
||||
{% trans "Où télécharger les applications mobiles ?" %}
|
||||
<span class="material-icons-round">add</span>
|
||||
</div>
|
||||
<div class="faq-a">Nos applications sont disponibles sur l'App Store (iOS) et Google Play (Android).
|
||||
Contactez-nous pour obtenir votre accès entreprise et la configuration adaptée à votre exploitation.</div>
|
||||
<div class="faq-a">{% blocktrans %}Nos applications sont disponibles sur l'App Store (iOS) et Google Play (Android). Contactez-nous pour obtenir votre accès entreprise et la configuration adaptée à votre exploitation.{% endblocktrans %}</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
{% load i18n %}
|
||||
<!-- ══ FOOTER ══ -->
|
||||
<footer>
|
||||
<div class="footer-inner">
|
||||
@@ -7,22 +8,21 @@
|
||||
{% load static %}
|
||||
<img src="{% static 'img/logo.png' %}" alt="Jool International" style="height:34px;width:auto;filter:brightness(0) invert(1);opacity:0.85;">
|
||||
</div>
|
||||
<p>L'intelligence artificielle au service de l'agriculture africaine. Satellite, drone et digitalisation pour optimiser vos
|
||||
exploitations agricoles.</p>
|
||||
<p>{% trans "L'intelligence artificielle au service de l'agriculture africaine. Satellite, drone et digitalisation pour optimiser vos exploitations agricoles." %}</p>
|
||||
</div>
|
||||
<div class="footer-col">
|
||||
<h4>Solutions</h4>
|
||||
<a href="#kiriq">KIRIQ AI</a>
|
||||
<a href="#monitor">Jool Monitor</a>
|
||||
<a href="#joolid">Jool ID</a>
|
||||
<h4>{% trans "Solutions" %}</h4>
|
||||
<a href="{% url 'core:kiriq' %}">KIRIQ AI</a>
|
||||
<a href="{% url 'core:monitor' %}">Jool Monitor</a>
|
||||
<a href="{% url 'core:joolid' %}">Jool ID</a>
|
||||
<a href="{% url 'core:monagro' %}">Mon Agro</a>
|
||||
</div>
|
||||
<div class="footer-col">
|
||||
<h4>Entreprise</h4>
|
||||
<a href="{% url 'core:about' %}">À propos</a>
|
||||
<h4>{% trans "Entreprise" %}</h4>
|
||||
<a href="{% url 'core:about' %}">{% trans "À propos" %}</a>
|
||||
{% if careers_enabled %}
|
||||
<a href="{% url 'careers:job_list' %}">Carrières</a>
|
||||
<a href="{% url 'careers:job_list' %}">{% trans "Carrières" %}</a>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
<div class="footer-col">
|
||||
<h4>Contact</h4>
|
||||
@@ -30,12 +30,11 @@
|
||||
<a href="#">Tel: +225 27 22 557 825</a>
|
||||
<a href="#">Mob: +225 07 99 899 836</a>
|
||||
<a href="https://www.linkedin.com/company/jool-international/posts/?feedView=all" target="_blank">LinkedIn: Jool International</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer-bottom">
|
||||
<span>©<span id="year"></span> Jool International. Tous droits réservés.</span>
|
||||
<a href="{% url 'core:privacy' %}" style="color:#888;font-size:13px;text-decoration:none;">Politique de confidentialité</a>
|
||||
<span>©<span id="year"></span> Jool International. {% trans "Tous droits réservés." %}</span>
|
||||
<a href="{% url 'core:privacy' %}" style="color:#888;font-size:13px;text-decoration:none;">{% trans "Politique de confidentialité" %}</a>
|
||||
<script>
|
||||
document.getElementById("year").textContent = new Date().getFullYear();
|
||||
</script>
|
||||
|
||||
@@ -1,25 +1,42 @@
|
||||
{% load i18n %}
|
||||
<!-- ══ HERO ══ -->
|
||||
<section class="hero">
|
||||
<div class="hero-text reveal">
|
||||
|
||||
<h1>L'agriculture<br>de précision,<br><span>accessible.</span></h1>
|
||||
<p>Des technologies agricoles pour cartographier, diagnostiquer et piloter avec précision.</p>
|
||||
<h1>{% blocktrans %}L'agriculture n'a plus<br><span>de zones d'ombre.</span>{% endblocktrans %}</h1>
|
||||
<p>{% blocktrans %}JooL révèle ce que chaque hectare cache : risques, anomalies, potentiel et décisions à prendre grâce à l'IA,<br> au satellite et aux drones.{% endblocktrans %}</p>
|
||||
<div class="hero-form">
|
||||
<input class="hero-input" type="email" placeholder="Votre adresse email">
|
||||
<button class="btn-hero">
|
||||
Demander une démo
|
||||
<input id="hero-email" class="hero-input" type="email" placeholder="{% trans 'Votre adresse email' %}">
|
||||
<button id="hero-demo-btn" class="btn-hero" type="button">
|
||||
{% trans "Demander une démo" %}
|
||||
<span class="material-icons-round" style="font-size:18px;">arrow_forward</span>
|
||||
</button>
|
||||
</div>
|
||||
<script>
|
||||
document.getElementById('hero-demo-btn').addEventListener('click', function () {
|
||||
const email = document.getElementById('hero-email').value.trim();
|
||||
const target = document.getElementById('contact');
|
||||
if (target) {
|
||||
target.scrollIntoView({ behavior: 'smooth' });
|
||||
if (email) {
|
||||
setTimeout(function () {
|
||||
const contactEmail = document.querySelector('#contact-form input[name="email"]');
|
||||
if (contactEmail) contactEmail.value = email;
|
||||
const lastName = document.querySelector('#contact-form input[name="last_name"]');
|
||||
if (lastName) lastName.focus();
|
||||
}, 600);
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
<div class="hero-visual reveal">
|
||||
<div class="float-badge fb-1">
|
||||
<span class="material-icons-round">satellite_alt</span>
|
||||
NDVI · Analyse live
|
||||
{% trans "NDVI · Analyse live" %}
|
||||
</div>
|
||||
<div class="float-badge fb-2">
|
||||
<span class="material-icons-round">check_circle</span>
|
||||
+34% détection précoce
|
||||
{% trans "Diagnostic en moins de 2h" %}
|
||||
</div>
|
||||
<div class="hero-mockup">
|
||||
<div class="hero-mockup-bar">
|
||||
@@ -31,15 +48,15 @@
|
||||
<div class="hc-icon"><span class="material-icons-round">satellite_alt</span></div>
|
||||
<div class="hc-text">
|
||||
<div class="hc-title">KIRIQ AI</div>
|
||||
<div class="hc-sub">Diagnostic agricole à distance</div>
|
||||
<div class="hc-sub">{% trans "Risques détectés, rapport disponible" %}</div>
|
||||
</div>
|
||||
<div class="hc-arrow"><span class="material-icons-round">chevron_right</span></div>
|
||||
</div>
|
||||
<div class="hero-card">
|
||||
<div class="hc-icon" style="background:#e07c00;"><span class="material-icons-round">flight</span></div>
|
||||
<div class="hc-icon" style="background:#e07c00;"><span class="material-icons-round">camera</span></div>
|
||||
<div class="hc-text">
|
||||
<div class="hc-title">Jool Monitor</div>
|
||||
<div class="hc-sub">Vision terrain augmentée</div>
|
||||
<div class="hc-sub">{% trans "Carte drone prête" %}</div>
|
||||
</div>
|
||||
<div class="hc-arrow"><span class="material-icons-round">chevron_right</span></div>
|
||||
</div>
|
||||
@@ -47,7 +64,15 @@
|
||||
<div class="hc-icon" style="background:#1a6080;"><span class="material-icons-round">badge</span></div>
|
||||
<div class="hc-text">
|
||||
<div class="hc-title">Jool ID</div>
|
||||
<div class="hc-sub">Gestion digitale des producteurs</div>
|
||||
<div class="hc-sub">{% trans "Producteur géoréférencé" %}</div>
|
||||
</div>
|
||||
<div class="hc-arrow"><span class="material-icons-round">chevron_right</span></div>
|
||||
</div>
|
||||
<div class="hero-card">
|
||||
<div class="hc-icon" style="background:#806c1a;"><span class="material-icons-round">person</span></div>
|
||||
<div class="hc-text">
|
||||
<div class="hc-title">Mon Agro</div>
|
||||
<div class="hc-sub">{% trans "Agronome disponible" %}</div>
|
||||
</div>
|
||||
<div class="hc-arrow"><span class="material-icons-round">chevron_right</span></div>
|
||||
</div>
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
{% load i18n i18n_switch %}
|
||||
<!-- ══ NAV ══ -->
|
||||
<nav id="main-nav">
|
||||
<div class="nav-topbar">
|
||||
@@ -7,21 +8,30 @@
|
||||
</a>
|
||||
|
||||
<ul class="nav-links" id="nav-links">
|
||||
<li><a href="{% url 'core:home' %}#kiriq">KIRIQ AI</a></li>
|
||||
<li><a href="{% url 'core:home' %}#monitor">Jool Monitor</a></li>
|
||||
<li><a href="{% url 'core:home' %}#joolid">Jool ID</a></li>
|
||||
|
||||
<li><a href="{% url 'core:about' %}">À propos</a></li>
|
||||
<li><a href="{% url 'core:kiriq' %}">KIRIQ AI</a></li>
|
||||
<li><a href="{% url 'core:monitor' %}">Jool Monitor</a></li>
|
||||
<li><a href="{% url 'core:joolid' %}">Jool ID</a></li>
|
||||
<li><a href="{% url 'core:monagro' %}">Mon Agro</a></li>
|
||||
<li><a href="{% url 'core:about' %}">{% trans "À propos" %}</a></li>
|
||||
{% if careers_enabled %}
|
||||
<li>
|
||||
<a href="{% url 'careers:job_list' %}">
|
||||
Carrières{% if open_jobs_count %} <span style="background:var(--teal);color:#fff;border-radius:100px;font-size:11px;padding:1px 7px;margin-left:4px;">{{ open_jobs_count }}</span>{% endif %}
|
||||
{% trans "Carrières" %}{% if open_jobs_count %} <span style="background:var(--teal);color:#fff;border-radius:100px;font-size:11px;padding:1px 7px;margin-left:4px;">{{ open_jobs_count }}</span>{% endif %}
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
|
||||
<button class="nav-hamburger" id="nav-hamburger" aria-label="Menu" aria-expanded="false">
|
||||
<!-- Switcher de langue -->
|
||||
{% get_current_language as CURRENT_LANG %}
|
||||
{% switch_lang_url 'fr' as fr_url %}
|
||||
{% switch_lang_url 'en' as en_url %}
|
||||
<div class="lang-switcher">
|
||||
<a href="{{ fr_url }}" class="lang-btn {% if CURRENT_LANG == 'fr' %}lang-active{% endif %}">FR</a>
|
||||
<a href="{{ en_url }}" class="lang-btn {% if CURRENT_LANG == 'en' %}lang-active{% endif %}">EN</a>
|
||||
</div>
|
||||
|
||||
<button class="nav-hamburger" id="nav-hamburger" aria-label="{% trans 'Menu' %}" aria-expanded="false">
|
||||
<span></span>
|
||||
<span></span>
|
||||
<span></span>
|
||||
@@ -30,18 +40,23 @@
|
||||
|
||||
<div class="nav-drawer" id="nav-drawer">
|
||||
<ul>
|
||||
<li><a href="{% url 'core:home' %}#kiriq">KIRIQ AI</a></li>
|
||||
<li><a href="{% url 'core:home' %}#monitor">Jool Monitor</a></li>
|
||||
<li><a href="{% url 'core:home' %}#joolid">Jool ID</a></li>
|
||||
<li><a href="{% url 'core:home' %}#faq">FAQ</a></li>
|
||||
<li><a href="{% url 'core:about' %}">À propos</a></li>
|
||||
<li><a href="{% url 'core:kiriq' %}">KIRIQ AI</a></li>
|
||||
<li><a href="{% url 'core:monitor' %}">Jool Monitor</a></li>
|
||||
<li><a href="{% url 'core:joolid' %}">Jool ID</a></li>
|
||||
<li><a href="{% url 'core:monagro' %}">Mon Agro</a></li>
|
||||
<li><a href="{% url 'core:about' %}">{% trans "À propos" %}</a></li>
|
||||
{% if careers_enabled %}
|
||||
<li>
|
||||
<a href="{% url 'careers:job_list' %}">
|
||||
Carrières{% if open_jobs_count %} <span style="background:var(--teal);color:#fff;border-radius:100px;font-size:11px;padding:1px 7px;margin-left:4px;">{{ open_jobs_count }}</span>{% endif %}
|
||||
{% trans "Carrières" %}{% if open_jobs_count %} <span style="background:var(--teal);color:#fff;border-radius:100px;font-size:11px;padding:1px 7px;margin-left:4px;">{{ open_jobs_count }}</span>{% endif %}
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
<!-- Switcher mobile -->
|
||||
<li style="margin-top:12px;">
|
||||
<a href="{{ fr_url }}" class="lang-btn {% if CURRENT_LANG == 'fr' %}lang-active{% endif %}" style="margin-right:4px;">FR</a>
|
||||
<a href="{{ en_url }}" class="lang-btn {% if CURRENT_LANG == 'en' %}lang-active{% endif %}">EN</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
{% load i18n %}
|
||||
<!-- ══ JOOL ID ══ -->
|
||||
<section class="section s-id" id="joolid">
|
||||
<div class="section-inner">
|
||||
@@ -5,41 +6,39 @@
|
||||
<div class="reveal">
|
||||
<span class="section-tag tag-light">
|
||||
<span class="material-icons-round" style="font-size:13px;">badge</span>
|
||||
Digitalisation & Gestion
|
||||
{% trans "JOOL ID · IDENTITÉ AGRICOLE" %}
|
||||
</span>
|
||||
<h2 class="section-title">Chaque producteur. Chaque parcelle.<br><em>Une seule source de vérité.</em> Du terrain à la décision.</h2>
|
||||
<p class="section-body">JooL ID centralise les données producteurs, parcelles et opérations terrain dans une plateforme conçue pour fiabiliser la collecte, simplifier le suivi et piloter votre filière avec plus de clarté.
|
||||
</p>
|
||||
<h2 class="section-title">{% blocktrans %}Donnez une identité claire à <br><em>chaque producteur <br> et chaque parcelle.</em>{% endblocktrans %}</h2>
|
||||
<p class="section-body">{% trans "JooL ID structure les données agricoles essentielles — producteurs, parcelles, cultures, surfaces, coopératives et statuts de vérification — pour créer une base fiable, traçable et exploitable à grande échelle." %}</p>
|
||||
<div class="uc-stack">
|
||||
<div class="uc-row">
|
||||
<span class="uc-num">01</span>
|
||||
<div class="uc-body">
|
||||
<div class="uc-title">Profils producteurs vérifiés</div>
|
||||
<div class="uc-desc">Créez des fiches fiables, complètes et prêtes pour le terrain, les audits et les partenaires.
|
||||
</div>
|
||||
<div class="uc-title">{% trans "Identification des producteurs" %}</div>
|
||||
<div class="uc-desc">{% trans "Centralisez les profils producteurs avec leurs informations clés, statuts de vérification et rattachements aux organisations agricoles." %}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uc-row">
|
||||
<span class="uc-num">02</span>
|
||||
<div class="uc-body">
|
||||
<div class="uc-title">Parcelles géolocalisées</div>
|
||||
<div class="uc-desc">Reliez chaque producteur à ses parcelles, surfaces et cultures dans une vue claire et exploitable.</div>
|
||||
<div class="uc-title">{% trans "Cartographie des exploitations" %}</div>
|
||||
<div class="uc-desc">{% trans "Associez chaque producteur à ses parcelles, cultures, surfaces et données géographiques pour obtenir une vision claire du terrain." %}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uc-row">
|
||||
<span class="uc-num">03</span>
|
||||
<div class="uc-body">
|
||||
<div class="uc-title">Pilotage de programme</div>
|
||||
<div class="uc-desc">Suivez encadrement, conformité, collecte et performance depuis une base unifiée.</div>
|
||||
<div class="uc-title">{% trans "Gestion des programmes agricoles" %}</div>
|
||||
<div class="uc-desc">{% trans "Suivez les coopératives, certifications, subventions, audits et projets agricoles depuis une base structurée et vérifiable." %}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn-row">
|
||||
<a href="https://jool-id.com/" class="btn-primary" target="_blank">
|
||||
<span class="material-icons-round">east</span>
|
||||
Démarrer gratuitement
|
||||
{% trans "Structurer ma base agricole" %}
|
||||
</a>
|
||||
<a href="{% url 'core:joolid' %}" class="btn-outline-dark">En savoir plus</a>
|
||||
<a href="{% url 'core:joolid' %}" class="btn-outline-dark">{% trans "Découvrir JooL ID" %}</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="reveal">
|
||||
@@ -48,47 +47,44 @@
|
||||
<div class="id-avatar" style="background:#e0f2f0; font-size:1.4rem;">👨🏾🌾</div>
|
||||
<div class="id-info">
|
||||
<div class="id-name">Kouamé Assi</div>
|
||||
<div class="id-meta">Palmier · 4.2 ha · Coopérative Cowabo</div>
|
||||
<div class="id-meta">{% trans "Palmier · 4.2 ha · Coopérative Cowabo" %}</div>
|
||||
</div>
|
||||
<span class="id-badge badge-verified">Vérifié</span>
|
||||
<span class="id-badge badge-verified">{% trans "Vérifié" %}</span>
|
||||
</div>
|
||||
<div class="id-card">
|
||||
<div class="id-avatar" style="background:#fff3cd; font-size:1.4rem;">👩🏾🌾</div>
|
||||
<div class="id-info">
|
||||
<div class="id-name">Adjoua Koffi</div>
|
||||
<div class="id-meta">Hévéa · 7.8 ha · Coopérative Sud</div>
|
||||
<div class="id-meta">{% trans "Hévéa · 7.8 ha · Coopérative Sud" %}</div>
|
||||
</div>
|
||||
<span class="id-badge badge-verified">Vérifié</span>
|
||||
<span class="id-badge badge-verified">{% trans "Vérifié" %}</span>
|
||||
</div>
|
||||
<div class="id-card">
|
||||
<div class="id-avatar" style="background:#e8f4fd; font-size:1.4rem;">👨🏿🌾</div>
|
||||
<div class="id-info">
|
||||
<div class="id-name">N'Guessan Yao</div>
|
||||
<div class="id-meta">Cacao · 2.6 ha · Coopérative Nord</div>
|
||||
<div class="id-meta">{% trans "Cacao · 2.6 ha · Coopérative Nord" %}</div>
|
||||
</div>
|
||||
<span class="id-badge badge-pending">En attente</span>
|
||||
<span class="id-badge badge-pending">{% trans "En attente" %}</span>
|
||||
</div>
|
||||
<div class="id-card">
|
||||
<div class="id-avatar" style="background:#f0e8fd; font-size:1.4rem;">👩🏾🌾</div>
|
||||
<div class="id-info">
|
||||
<div class="id-name">Fatou Diallo</div>
|
||||
<div class="id-meta">Palmier · 5.1 ha · Coopérative Ouest</div>
|
||||
<div class="id-meta">{% trans "Palmier · 5.1 ha · Coopérative Ouest" %}</div>
|
||||
</div>
|
||||
<span class="id-badge badge-verified">Vérifié</span>
|
||||
<span class="id-badge badge-verified">{% trans "Vérifié" %}</span>
|
||||
</div>
|
||||
<!-- summary card -->
|
||||
<div
|
||||
style="background:var(--teal);border-radius:14px;padding:16px 18px;display:flex;align-items:center;gap:14px;">
|
||||
<div style="background:var(--teal);border-radius:14px;padding:16px 18px;display:flex;align-items:center;gap:14px;">
|
||||
<span class="material-icons-round" style="color:white;font-size:28px;">people</span>
|
||||
<div>
|
||||
<div
|
||||
style="font-size:1.6rem;font-weight:900;font-family:var(--display);color:white;letter-spacing:-.04em;">
|
||||
3 248</div>
|
||||
<div style="font-size:13px;color:rgba(255,255,255,.65);">Producteurs enregistrés</div>
|
||||
<div style="font-size:1.6rem;font-weight:900;font-family:var(--display);color:white;letter-spacing:-.04em;">300 000</div>
|
||||
<div style="font-size:13px;color:rgba(255,255,255,.65);">{% trans "Producteurs enregistrés" %}</div>
|
||||
</div>
|
||||
<div style="margin-left:auto;text-align:right;">
|
||||
<div style="font-size:1.2rem;font-weight:900;font-family:var(--display);color:white;">12 580 ha</div>
|
||||
<div style="font-size:13px;color:rgba(255,255,255,.65);">Surface totale</div>
|
||||
<div style="font-size:1.2rem;font-weight:900;font-family:var(--display);color:white;">610 000</div>
|
||||
<div style="font-size:13px;color:rgba(255,255,255,.65);">{% trans "hectares cartographiés" %}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{% load static %}
|
||||
{% load i18n static %}
|
||||
<!-- ══ KIRIQ AI ══ -->
|
||||
<section class="section s-kiriq" id="kiriq">
|
||||
<div class="section-inner">
|
||||
@@ -6,52 +6,50 @@
|
||||
<div class="reveal">
|
||||
<span class="section-tag tag-teal">
|
||||
<span class="material-icons-round" style="font-size:13px;">satellite_alt</span>
|
||||
Satellitaire & IA
|
||||
{% trans "KIRiQ AI · SATELLITE & IA" %}
|
||||
</span>
|
||||
<h2 class="section-title">Diagnostiquez vos parcelles<br>depuis <em>l'espace.</em></h2>
|
||||
<p class="section-body">KIRiQ AI vous aide à lire l’état réel de vos parcelles, détecter les anomalies plus tôt et décider avec une longueur d’avance.</p>
|
||||
<h2 class="section-title">{% blocktrans %}Lisez l'état réel<br><em>vos parcelles.</em>{% endblocktrans %}</h2>
|
||||
<p class="section-body">{% blocktrans %}KIRiQ AI transforme l'imagerie satellite en lecture parcellaire claire : anomalies, zones à risque, impact potentiel sur le rendement et recommandations. <br> Vous décidez avant que les pertes ne deviennent visibles sur le terrain.{% endblocktrans %}</p>
|
||||
<div class="uc-stack">
|
||||
<div class="uc-row">
|
||||
<span class="uc-num">01</span>
|
||||
<div class="uc-body">
|
||||
<div class="uc-title">Diagnostic instantané</div>
|
||||
<div class="uc-desc">Lancez une première lecture parcellaire en quelques minutes et validez rapidement les zones à surveiller.
|
||||
</div>
|
||||
<div class="uc-title">{% trans "Détection précoce des anomalies" %}</div>
|
||||
<div class="uc-desc">{% trans "Repérez les signaux faibles et identifiez les zones à surveiller avant que les pertes ne deviennent visibles." %}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uc-row">
|
||||
<span class="uc-num">02</span>
|
||||
<div class="uc-body">
|
||||
<div class="uc-title">Suivi priorisé</div>
|
||||
<div class="uc-desc">Recevez des alertes utiles pour cibler les interventions là où l’impact terrain est le plus fort.
|
||||
</div>
|
||||
<div class="uc-title">{% trans "Mesure du risque et rendement estimé" %}</div>
|
||||
<div class="uc-desc">{% trans "Mesurez la sévérité des anomalies, estimez l'impact sur le rendement et priorisez les interventions les plus critiques." %}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uc-row">
|
||||
<span class="uc-num">03</span>
|
||||
<div class="uc-body">
|
||||
<div class="uc-title">Pilotage à l’échelle</div>
|
||||
<div class="uc-desc">Comparez vos parcelles, alignez vos équipes et décidez avec une vision claire, du bloc à la filière. </div>
|
||||
<div class="uc-title">{% trans "Pilotage du risque à l'échelle" %}</div>
|
||||
<div class="uc-desc">{% trans "Comparez vos parcelles dans le temps, suivez l'évolution du risque et pilotez vos décisions du bloc agricole à la filière." %}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn-row">
|
||||
<a href="https://kiriq.ai/" class="btn-primary" target="_blank">
|
||||
<span class="material-icons-round">east</span>
|
||||
Demander une démo
|
||||
{% trans "Demander une démo" %}
|
||||
</a>
|
||||
<a href="{% url 'core:kiriq' %}" class="btn-outline-dark">En savoir plus</a>
|
||||
<a href="{% url 'core:kiriq' %}" class="btn-outline-dark">{% trans "Découvrir KIRiQ" %}</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="visual-box vb-dark reveal" style="position:relative;padding:0;overflow:hidden;">
|
||||
<img src="{% static 'img/Kiriq AI.jpg' %}" alt="Kiriq AI — analyse parcellaire">
|
||||
<img src="{% static 'img/Kiriq AI.jpg' %}" alt="{% trans 'Kiriq AI — analyse parcellaire' %}" loading="lazy" decoding="async">
|
||||
<div class="chip-float cf-tl">
|
||||
<span class="material-icons-round">warning</span>
|
||||
4 anomalies détectées
|
||||
{% trans "4 anomalies détectées" %}
|
||||
</div>
|
||||
<div class="chip-float cf-br">
|
||||
<span class="material-icons-round">trending_up</span>
|
||||
NDVI +12 pts
|
||||
{% trans "Impact rendement estimé" %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
103
templates/core/partials/_section_monagro.html
Normal file
@@ -0,0 +1,103 @@
|
||||
{% load i18n %}
|
||||
{% load static %}
|
||||
<!-- ══ MON AGRO ══ -->
|
||||
<section class="section s-monagro" id="monagro">
|
||||
<div class="section-inner">
|
||||
<div class="two-col flip">
|
||||
<div class="reveal">
|
||||
<span class="section-tag tag-accent">
|
||||
<span class="material-icons-round" style="font-size:13px;">agriculture</span>
|
||||
{% trans "MON AGRO · INTERVENTION TERRAIN" %}
|
||||
</span>
|
||||
<h2 class="section-title">{% blocktrans %}Transformez les recommandations<br><em>en interventions terrain.</em>{% endblocktrans %}</h2>
|
||||
<p class="section-body">{% trans "Mon Agro by JooL connecte les diagnostics KIRiQ AI à un réseau d'agronomes et techniciens pour accompagner les producteurs, exécuter les interventions et assurer le suivi des parcelles avec précision." %}</p>
|
||||
<div class="uc-stack">
|
||||
<div class="uc-row">
|
||||
<span class="uc-num">01</span>
|
||||
<div class="uc-body">
|
||||
<div class="uc-title">{% trans "Interventions ciblées par l'IA" %}</div>
|
||||
<div class="uc-desc">{% trans "Déployez les bonnes actions au bon endroit grâce aux alertes et niveaux de priorité générés par KIRiQ AI." %}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uc-row">
|
||||
<span class="uc-num">02</span>
|
||||
<div class="uc-body">
|
||||
<div class="uc-title">{% trans "Coordination des équipes terrain" %}</div>
|
||||
<div class="uc-desc">{% trans "Assignez les missions, suivez les interventions et pilotez vos opérations depuis une vision centralisée." %}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uc-row">
|
||||
<span class="uc-num">03</span>
|
||||
<div class="uc-body">
|
||||
<div class="uc-title">{% trans "Suivi & reporting opérationnel" %}</div>
|
||||
<div class="uc-desc">{% trans "Les données terrain remontent automatiquement pour mesurer les impacts et piloter vos opérations en continu." %}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn-row">
|
||||
<a href="{% url 'core:home' %}#contact" class="btn-primary">
|
||||
<span class="material-icons-round">east</span>
|
||||
{% trans "Déployer Mon Agro" %}
|
||||
</a>
|
||||
<a href="{% url 'core:monagro' %}" class="btn-outline-dark">{% trans "Découvrir Mon Agro" %}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Visuel missions -->
|
||||
<div class="reveal">
|
||||
<div class="monagro-visual">
|
||||
<div class="ma-mission">
|
||||
<div class="ma-mission-icon" style="background:rgba(231,111,81,.12);">
|
||||
<span class="material-icons-round" style="color:#e55c3a;">warning_amber</span>
|
||||
</div>
|
||||
<div class="ma-mission-info">
|
||||
<div class="ma-mission-name">{% trans "Bloc Hévéa — Zone Sud" %}</div>
|
||||
<div class="ma-mission-sub">{% trans "Stress hydrique · Agronome assigné" %}</div>
|
||||
</div>
|
||||
<span class="ma-badge" style="background:rgba(231,111,81,.1);color:#e55c3a;">{% trans "Urgent" %}</span>
|
||||
</div>
|
||||
|
||||
<div class="ma-mission">
|
||||
<div class="ma-mission-icon" style="background:rgba(96,165,250,.12);">
|
||||
<span class="material-icons-round" style="color:#3b82f6;">flight</span>
|
||||
</div>
|
||||
<div class="ma-mission-info">
|
||||
<div class="ma-mission-name">{% trans "Pulvérisation drone — Ananas" %}</div>
|
||||
<div class="ma-mission-sub">{% trans "18 ha · Mission en cours" %}</div>
|
||||
</div>
|
||||
<span class="ma-badge" style="background:rgba(96,165,250,.1);color:#3b82f6;">{% trans "En cours" %}</span>
|
||||
</div>
|
||||
|
||||
<div class="ma-mission">
|
||||
<div class="ma-mission-icon" style="background:rgba(25,112,97,.1);">
|
||||
<span class="material-icons-round" style="color:var(--teal);">check_circle</span>
|
||||
</div>
|
||||
<div class="ma-mission-info">
|
||||
<div class="ma-mission-name">{% trans "Traitement foliaire — Adjoua K." %}</div>
|
||||
<div class="ma-mission-sub">{% trans "4.2 ha traités · Rapport soumis" %}</div>
|
||||
</div>
|
||||
<span class="ma-badge" style="background:rgba(25,112,97,.1);color:var(--teal);">{% trans "Terminé" %}</span>
|
||||
</div>
|
||||
|
||||
<div class="ma-summary">
|
||||
<div class="ma-kpi">
|
||||
<div class="ma-kpi-val">250</div>
|
||||
<div class="ma-kpi-label">{% trans "Agronomes actifs" %}</div>
|
||||
</div>
|
||||
<div class="ma-sep"></div>
|
||||
<div class="ma-kpi">
|
||||
<div class="ma-kpi-val">42</div>
|
||||
<div class="ma-kpi-label">{% trans "Missions / mois" %}</div>
|
||||
</div>
|
||||
<div class="ma-sep"></div>
|
||||
<div class="ma-kpi">
|
||||
<div class="ma-kpi-val">95%</div>
|
||||
<div class="ma-kpi-label">{% trans "Exécution" %}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -1,4 +1,4 @@
|
||||
{% load static %}
|
||||
{% load i18n static %}
|
||||
<!-- ══ JOOL MONITOR ══ -->
|
||||
<section class="section s-monitor" id="monitor">
|
||||
<div class="section-inner">
|
||||
@@ -6,54 +6,50 @@
|
||||
<div class="reveal">
|
||||
<span class="section-tag tag-white">
|
||||
<span class="material-icons-round" style="font-size:13px;">flight</span>
|
||||
Cartographie haute résolution
|
||||
{% trans "JOOL MONITOR · DRONE & HAUTE RÉSOLUTION" %}
|
||||
</span>
|
||||
<h2 class="section-title" style="color:var(--white);">Voyez votre terrain avec <em>une précision</em> nouvelle.
|
||||
|
||||
</h2>
|
||||
<p class="section-body-light">JooL Monitor transforme l’imagerie drone en lecture terrain exploitable pour compter, mesurer, cartographier et contrôler vos parcelles avec un niveau de détail prêt à l’action.</p>
|
||||
<h2 class="section-title" style="color:var(--white);">{% blocktrans %}Voyez votre terrain <br> <em>en haute résolution.</em>{% endblocktrans %}</h2>
|
||||
<p class="section-body-light">{% trans "JooL Monitor transforme l'imagerie drone en lecture terrain exploitable pour compter, mesurer, cartographier et contrôler vos parcelles avec un niveau de détail prêt à l'action." %}</p>
|
||||
<div class="uc-stack">
|
||||
<div class="uc-row uc-row-dark">
|
||||
<span class="uc-num uc-num-light">01</span>
|
||||
<div class="uc-body">
|
||||
<div class="uc-title" style="color:var(--white);">Comptage intelligent</div>
|
||||
<div class="uc-desc-light">Une lecture rapide des densités, manquants et répartitions sur chaque parcelle.
|
||||
</div>
|
||||
<div class="uc-title" style="color:var(--white);">{% trans "Cartographie avancée" %}</div>
|
||||
<div class="uc-desc-light">{% trans "Produisez des orthomosaïques, modèles 3D et délimitations précises pour visualiser vos surfaces avec un niveau de détail terrain." %}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uc-row uc-row-dark">
|
||||
<span class="uc-num uc-num-light">02</span>
|
||||
<div class="uc-body">
|
||||
<div class="uc-title" style="color:var(--white);">Cartographie avancée</div>
|
||||
<div class="uc-desc-light"> Produisez des orthomosaïques, modèles 3D et délimitations précises de vos surfaces.</div>
|
||||
<div class="uc-title" style="color:var(--white);">{% trans "Comptage & mesures intelligentes" %}</div>
|
||||
<div class="uc-desc-light">{% trans "Mesurez les superficies, distances et densités, comptez les arbres, identifiez les manquants et analysez la répartition sur chaque parcelle." %}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uc-row uc-row-dark">
|
||||
<span class="uc-num uc-num-light">03</span>
|
||||
<div class="uc-body">
|
||||
<div class="uc-title" style="color:var(--white);">Contrôle visuel continu</div>
|
||||
<div class="uc-desc-light">Comparez les missions dans le temps et suivez les écarts qui comptent vraiment.
|
||||
</div>
|
||||
<div class="uc-title" style="color:var(--white);">{% trans "Contrôle visuel continu" %}</div>
|
||||
<div class="uc-desc-light">{% trans "Comparez l'évolution de vos parcelles dans le temps, suivez les écarts significatifs et documentez les changements qui comptent vraiment." %}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn-row">
|
||||
<a href="https://jool-monitor.com/" class="btn-primary" target="_blank">
|
||||
<span class="material-icons-round">east</span>
|
||||
Planifier un vol
|
||||
{% trans "Planifier un vol" %}
|
||||
</a>
|
||||
<a href="{% url 'core:monitor' %}" class="btn-outline-light">En savoir plus</a>
|
||||
<a href="{% url 'core:monitor' %}" class="btn-outline-light">{% trans "Découvrir JooL Monitor" %}</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="drone-svg-wrap reveal" style="padding:0;">
|
||||
<img src="{% static 'img/JooL Monitor.jpg' %}" alt="JooL Monitor — cartographie drone">
|
||||
<img src="{% static 'img/JooL Monitor.jpg' %}" alt="{% trans 'JooL Monitor — cartographie drone' %}" loading="lazy" decoding="async">
|
||||
<div class="chip-float" style="top:14px;right:16px;animation-delay:.3s;">
|
||||
<span class="material-icons-round">place</span>
|
||||
Palmier bloc 4
|
||||
{% trans "Palmier bloc 4" %}
|
||||
</div>
|
||||
<div class="chip-float" style="bottom:18px;left:14px;animation-delay:2.2s;">
|
||||
<span class="material-icons-round">report_problem</span>
|
||||
3 anomalies détectés
|
||||
{% trans "3 anomalies détectés" %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,26 +1,27 @@
|
||||
{% load i18n %}
|
||||
<!-- ══ STATS ══ -->
|
||||
<section class="s-stats">
|
||||
<div class="section-inner">
|
||||
<div class="stats-header reveal">
|
||||
<h2>Des résultats qui parlent<br>d'eux-mêmes.</h2>
|
||||
<p>L'impact de nos solutions sur le terrain, en chiffres.</p>
|
||||
<h2>{% blocktrans %}Des résultats qui parlent<br>d'eux-mêmes.{% endblocktrans %}</h2>
|
||||
<p>{% trans "L'impact de nos solutions sur le terrain, en chiffres." %}</p>
|
||||
</div>
|
||||
<div class="stats-row reveal">
|
||||
<div class="stat-cell">
|
||||
<div class="stat-val">+280 000</div>
|
||||
<div class="stat-lbl">Producteurs digitalisés</div>
|
||||
<div class="stat-val">+300 000</div>
|
||||
<div class="stat-lbl">{% trans "Producteurs digitalisés" %}</div>
|
||||
</div>
|
||||
<div class="stat-cell">
|
||||
<div class="stat-val">+100 000 ha</div>
|
||||
<div class="stat-lbl">Superficie suivie</div>
|
||||
<div class="stat-val">+610 000</div>
|
||||
<div class="stat-lbl">{% trans "Superficie suivie" %}</div>
|
||||
</div>
|
||||
<div class="stat-cell">
|
||||
<div class="stat-val">3</div>
|
||||
<div class="stat-lbl">Cultures couvertes</div>
|
||||
<div class="stat-lbl">{% trans "Cultures couvertes" %}</div>
|
||||
</div>
|
||||
<div class="stat-cell">
|
||||
<div class="stat-val">89%</div>
|
||||
<div class="stat-lbl">Précision IA</div>
|
||||
<div class="stat-lbl">{% trans "Précision IA" %}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
{% load i18n %}
|
||||
<!-- ══ TRUST STRIP ══ -->
|
||||
<div class="trust-strip">
|
||||
<div class="trust-item"><span class="material-icons-round">satellite_alt</span>Télédétection</div>
|
||||
<div class="trust-item"><span class="material-icons-round">camera</span>Cartographie</div>
|
||||
<div class="trust-item"><span class="material-icons-round">badge</span>Données producteurs</div>
|
||||
<div class="trust-item"><span class="material-icons-round">analytics</span>Aide à la décision</div>
|
||||
<div class="trust-item"><span class="material-icons-round">badge</span>{% trans "Identité agricole" %}</div>
|
||||
<div class="trust-item"><span class="material-icons-round">satellite_alt</span>{% trans "Analyse satellite" %}</div>
|
||||
<div class="trust-item"><span class="material-icons-round">analytics</span>{% trans "Rapports IA" %}</div>
|
||||
<div class="trust-item"><span class="material-icons-round">grass</span>{% trans "Intervention terrain" %}</div>
|
||||
</div>
|
||||
@@ -1,28 +1,48 @@
|
||||
{% load static %}
|
||||
{% load i18n static %}
|
||||
<!-- ══ TRUSTED BY ══ -->
|
||||
<section class="s-trusted">
|
||||
<div class="section-inner">
|
||||
<h2 class="trusted-title reveal">La solution de référence pour <em>l'agri-industrie africaine.</em></h2>
|
||||
<p class="trusted-sub reveal">Industriels, coopératives et institutions nous font confiance.</p>
|
||||
<h2 class="trusted-title reveal">{% blocktrans %}La donnée agricole devient une <em> infrastructure de confiance.</em>{% endblocktrans %}</h2>
|
||||
<p class="trusted-sub reveal">{% blocktrans %}Des assureurs aux agro-industriels, des coopératives aux collectivités, JooL aide les acteurs agricoles à mieux voir, mieux décider <br> et mieux intervenir sur le terrain.{% endblocktrans %}</p>
|
||||
</div>
|
||||
|
||||
<!-- Défilement infini : les logos sont dupliqués pour un loop sans coupure -->
|
||||
<div class="logos-track-wrap">
|
||||
<div class="logos-track">
|
||||
<!-- Série 1 -->
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/apromac.png' %}" alt="Apromac"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/pmci.jpeg' %}" alt="PMCI"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/sodexam.png' %}" alt="Sodexam"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/trci.jpg' %}" alt="TRCI"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/Archetyp.jpeg' %}" alt="Archetyp"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/tonys_chocolonely.svg' %}" alt="Tony's Chocolonely"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/apromac.png' %}" alt="Apromac" loading="lazy"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/pmci.jpeg' %}" alt="PMCI" loading="lazy"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/sodexam.png' %}" alt="Sodexam" loading="lazy"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/trci.jpg' %}" alt="TRCI" loading="lazy"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/Archetyp.jpeg' %}" alt="Archetyp" loading="lazy"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/tonys_chocolonely.svg' %}" alt="Tony's Chocolonely" loading="lazy"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/palmci.png' %}" alt="Palmci" loading="lazy"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/palmafrique.jpeg' %}" alt="Palmafrique" loading="lazy"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/veolia.png' %}" alt="Veolia" loading="lazy"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/Coris assurance.jpg' %}" alt="Coris Assurance" loading="lazy"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/sim assurance.jpg' %}" alt="SIM Assurance" loading="lazy"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/saph .jpg' %}" alt="SAPH" loading="lazy"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/emergim.png' %}" alt="Emergim" loading="lazy"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/korigins.png' %}" alt="Korigins" loading="lazy"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/carré dor.png' %}" alt="Carré d'Or" loading="lazy"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/mairie de dioulatédougou.jpg' %}" alt="Mairie de Dioulatédougou" loading="lazy"></div>
|
||||
<!-- Série 2 (copie pour loop sans coupure) -->
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/apromac.png' %}" alt="Apromac"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/pmci.jpeg' %}" alt="PMCI"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/sodexam.png' %}" alt="Sodexam"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/trci.jpg' %}" alt="TRCI"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/Archetyp.jpeg' %}" alt="Archetyp"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/tonys_chocolonely.svg' %}" alt="Tony's Chocolonely"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/apromac.png' %}" alt="Apromac" loading="lazy" aria-hidden="true"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/pmci.jpeg' %}" alt="PMCI" loading="lazy" aria-hidden="true"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/sodexam.png' %}" alt="Sodexam" loading="lazy" aria-hidden="true"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/trci.jpg' %}" alt="TRCI" loading="lazy" aria-hidden="true"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/Archetyp.jpeg' %}" alt="Archetyp" loading="lazy" aria-hidden="true"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/tonys_chocolonely.svg' %}" alt="Tony's Chocolonely" loading="lazy" aria-hidden="true"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/palmci.png' %}" alt="Palmci" loading="lazy" aria-hidden="true"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/palmafrique.jpeg' %}" alt="Palmafrique" loading="lazy" aria-hidden="true"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/veolia.png' %}" alt="Veolia" loading="lazy" aria-hidden="true"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/Coris assurance.jpg' %}" alt="Coris Assurance" loading="lazy" aria-hidden="true"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/sim assurance.jpg' %}" alt="SIM Assurance" loading="lazy" aria-hidden="true"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/saph .jpg' %}" alt="SAPH" loading="lazy" aria-hidden="true"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/emergim.png' %}" alt="Emergim" loading="lazy" aria-hidden="true"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/korigins.png' %}" alt="Korigins" loading="lazy" aria-hidden="true"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/carré dor.png' %}" alt="Carré d'Or" loading="lazy" aria-hidden="true"></div>
|
||||
<div class="logo-slide"><img src="{% static 'img/partenaires/mairie de dioulatédougou.jpg' %}" alt="Mairie de Dioulatédougou" loading="lazy" aria-hidden="true"></div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{% extends "base.html" %}
|
||||
{% load static %}
|
||||
{% load static i18n %}
|
||||
|
||||
{% block title %}Politique de confidentialité — Jool International{% endblock %}
|
||||
{% block title_plain %}Politique de confidentialité — Jool International{% endblock %}
|
||||
{% block meta_description %}Politique de confidentialité de Jool International : données collectées, finalités, durée de conservation et droits des utilisateurs.{% endblock %}
|
||||
{% block title %}{% trans "Politique de confidentialité — Jool International" %}{% endblock %}
|
||||
{% block title_plain %}{% trans "Politique de confidentialité — Jool International" %}{% endblock %}
|
||||
{% block meta_description %}{% trans "Politique de confidentialité de Jool International : données collectées, finalités, durée de conservation et droits des utilisateurs." %}{% endblock %}
|
||||
{% block meta_robots %}noindex, follow{% endblock %}
|
||||
|
||||
{% block extra_css %}
|
||||
@@ -16,7 +16,6 @@
|
||||
.privacy-hero h1 {
|
||||
font-family: var(--display);
|
||||
font-weight: 900;
|
||||
font-style: italic;
|
||||
font-size: clamp(2rem, 3.5vw, 3rem);
|
||||
letter-spacing: -0.03em;
|
||||
color: var(--black);
|
||||
@@ -111,120 +110,120 @@
|
||||
<section class="privacy-hero">
|
||||
<h2 class="section-tag tag-teal" style="justify-content:center;margin-bottom:16px;">
|
||||
<span class="material-icons-round" style="font-size:13px;">shield</span>
|
||||
Vos données, votre droit
|
||||
{% trans "Vos données, votre droit" %}
|
||||
</h2>
|
||||
<h1>Politique de <em>confidentialité</em></h1>
|
||||
<p>Dernière mise à jour : mai 2026</p>
|
||||
<h1>{% blocktrans %}Politique de <em>confidentialité</em>{% endblocktrans %}</h1>
|
||||
<p>{% trans "Dernière mise à jour : mai 2026" %}</p>
|
||||
</section>
|
||||
|
||||
<!-- ── Contenu ── -->
|
||||
<div class="privacy-body">
|
||||
|
||||
<div class="privacy-highlight">
|
||||
Jool International s'engage à protéger vos données personnelles. Cette page explique clairement quelles données nous collectons, pourquoi, et comment vous pouvez exercer vos droits.
|
||||
{% trans "Jool International s'engage à protéger vos données personnelles. Cette page explique clairement quelles données nous collectons, pourquoi, et comment vous pouvez exercer vos droits." %}
|
||||
</div>
|
||||
|
||||
<!-- 1 -->
|
||||
<h2><span class="material-icons-round">business</span>1. Responsable du traitement</h2>
|
||||
<h2><span class="material-icons-round">business</span>{% trans "1. Responsable du traitement" %}</h2>
|
||||
<p>
|
||||
<strong>Jool International</strong><br>
|
||||
Abidjan, Côte d'Ivoire<br>
|
||||
Email : <a href="mailto:info@jool-int.com">info@jool-int.com</a><br>
|
||||
Tél : +225 27 22 557 825
|
||||
{% trans "Abidjan, Côte d'Ivoire" %}<br>
|
||||
{% trans "Email" %} : <a href="mailto:info@jool-int.com">info@jool-int.com</a><br>
|
||||
{% trans "Tél" %} : +225 27 22 557 825
|
||||
</p>
|
||||
|
||||
<!-- 2 -->
|
||||
<h2><span class="material-icons-round">database</span>2. Données collectées</h2>
|
||||
<p>Nous collectons des données uniquement lorsque vous interagissez activement avec notre site.</p>
|
||||
<h2><span class="material-icons-round">database</span>{% trans "2. Données collectées" %}</h2>
|
||||
<p>{% trans "Nous collectons des données uniquement lorsque vous interagissez activement avec notre site." %}</p>
|
||||
|
||||
<table class="privacy-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Formulaire</th>
|
||||
<th>Données collectées</th>
|
||||
<th>Finalité</th>
|
||||
<th>{% trans "Formulaire" %}</th>
|
||||
<th>{% trans "Données collectées" %}</th>
|
||||
<th>{% trans "Finalité" %}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>Demande de contact</strong></td>
|
||||
<td>Nom, prénom, email, téléphone, message</td>
|
||||
<td>Répondre à votre demande commerciale</td>
|
||||
<td><strong>{% trans "Demande de contact" %}</strong></td>
|
||||
<td>{% trans "Nom, prénom, email, téléphone, message" %}</td>
|
||||
<td>{% trans "Répondre à votre demande commerciale" %}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Candidature</strong></td>
|
||||
<td>Nom, prénom, email, téléphone, lettre de motivation, CV (fichier), LinkedIn, portfolio</td>
|
||||
<td>Traitement de votre candidature</td>
|
||||
<td><strong>{% trans "Candidature" %}</strong></td>
|
||||
<td>{% trans "Nom, prénom, email, téléphone, lettre de motivation, CV (fichier), LinkedIn, portfolio" %}</td>
|
||||
<td>{% trans "Traitement de votre candidature" %}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p>Nous ne collectons <strong>aucune donnée de navigation</strong> (Google Analytics ou autre tracker). Nous n'utilisons pas de cookies publicitaires ou de profilage.</p>
|
||||
<p>{% blocktrans %}Nous ne collectons <strong>aucune donnée de navigation</strong> (Google Analytics ou autre tracker). Nous n'utilisons pas de cookies publicitaires ou de profilage.{% endblocktrans %}</p>
|
||||
|
||||
<!-- 3 -->
|
||||
<h2><span class="material-icons-round">cookie</span>3. Cookies utilisés</h2>
|
||||
<h2><span class="material-icons-round">cookie</span>{% trans "3. Cookies utilisés" %}</h2>
|
||||
<table class="privacy-table">
|
||||
<thead>
|
||||
<tr><th>Cookie</th><th>Rôle</th><th>Durée</th></tr>
|
||||
<tr><th>Cookie</th><th>{% trans "Rôle" %}</th><th>{% trans "Durée" %}</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>csrftoken</code></td>
|
||||
<td>Sécurité des formulaires (protection contre les attaques CSRF)</td>
|
||||
<td>1 an</td>
|
||||
<td>{% trans "Sécurité des formulaires (protection contre les attaques CSRF)" %}</td>
|
||||
<td>{% trans "1 an" %}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>sessionid</code></td>
|
||||
<td>Session administrateur uniquement (visiteurs non connectés : inactif)</td>
|
||||
<td>2 semaines</td>
|
||||
<td>{% trans "Session administrateur uniquement (visiteurs non connectés : inactif)" %}</td>
|
||||
<td>{% trans "2 semaines" %}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="privacy-highlight">
|
||||
Ces cookies sont <strong>strictement nécessaires</strong> au fonctionnement du site. Ils ne tracent pas votre navigation et ne nécessitent pas votre consentement.
|
||||
{% blocktrans %}Ces cookies sont <strong>strictement nécessaires</strong> au fonctionnement du site. Ils ne tracent pas votre navigation et ne nécessitent pas votre consentement.{% endblocktrans %}
|
||||
</div>
|
||||
|
||||
<!-- 4 -->
|
||||
<h2><span class="material-icons-round">schedule</span>4. Durée de conservation</h2>
|
||||
<h2><span class="material-icons-round">schedule</span>{% trans "4. Durée de conservation" %}</h2>
|
||||
<ul>
|
||||
<li><strong>Demandes de contact :</strong> conservées 12 mois, puis supprimées.</li>
|
||||
<li><strong>Candidatures et CVs :</strong> conservés 24 mois après la clôture de l'offre, puis supprimés.</li>
|
||||
<li>{% blocktrans %}<strong>Demandes de contact :</strong> conservées 12 mois, puis supprimées.{% endblocktrans %}</li>
|
||||
<li>{% blocktrans %}<strong>Candidatures et CVs :</strong> conservés 24 mois après la clôture de l'offre, puis supprimés.{% endblocktrans %}</li>
|
||||
</ul>
|
||||
|
||||
<!-- 5 -->
|
||||
<h2><span class="material-icons-round">share</span>5. Partage des données</h2>
|
||||
<h2><span class="material-icons-round">share</span>{% trans "5. Partage des données" %}</h2>
|
||||
<p>
|
||||
Vos données ne sont <strong>jamais vendues, louées ni cédées</strong> à des tiers.<br>
|
||||
Elles sont accessibles uniquement par l'équipe Jool International habilitée à traiter votre demande.
|
||||
{% blocktrans %}Vos données ne sont <strong>jamais vendues, louées ni cédées</strong> à des tiers.<br>
|
||||
Elles sont accessibles uniquement par l'équipe Jool International habilitée à traiter votre demande.{% endblocktrans %}
|
||||
</p>
|
||||
<p>Notre hébergement est assuré via un serveur privé (VPS). Les fichiers CV sont stockés de manière sécurisée et ne sont pas accessibles publiquement.</p>
|
||||
<p>{% trans "Notre hébergement est assuré via un serveur privé (VPS). Les fichiers CV sont stockés de manière sécurisée et ne sont pas accessibles publiquement." %}</p>
|
||||
|
||||
<!-- 6 -->
|
||||
<h2><span class="material-icons-round">fonts</span>6. Polices Google Fonts</h2>
|
||||
<h2><span class="material-icons-round">fonts</span>{% trans "6. Polices Google Fonts" %}</h2>
|
||||
<p>
|
||||
Notre site utilise les polices <em>Barlow</em> et <em>Roboto</em> chargées depuis les serveurs de Google Fonts. Ce chargement implique que votre adresse IP est transmise aux serveurs de Google lors de votre visite. Google déclare ne pas utiliser ces données à des fins publicitaires dans ce contexte.<br>
|
||||
Pour plus d'informations : <a href="https://policies.google.com/privacy" target="_blank" rel="noopener">politique de confidentialité de Google</a>.
|
||||
{% blocktrans %}Notre site utilise les polices <em>Barlow</em> et <em>Roboto</em> chargées depuis les serveurs de Google Fonts. Ce chargement implique que votre adresse IP est transmise aux serveurs de Google lors de votre visite. Google déclare ne pas utiliser ces données à des fins publicitaires dans ce contexte.<br>
|
||||
Pour plus d'informations : <a href="https://policies.google.com/privacy" target="_blank" rel="noopener">politique de confidentialité de Google</a>.{% endblocktrans %}
|
||||
</p>
|
||||
|
||||
<!-- 7 -->
|
||||
<h2><span class="material-icons-round">verified_user</span>7. Vos droits</h2>
|
||||
<p>Conformément à la loi ivoirienne n°2013-450 relative à la protection des données personnelles, vous disposez des droits suivants :</p>
|
||||
<h2><span class="material-icons-round">verified_user</span>{% trans "7. Vos droits" %}</h2>
|
||||
<p>{% trans "Conformément à la loi ivoirienne n°2013-450 relative à la protection des données personnelles, vous disposez des droits suivants :" %}</p>
|
||||
<ul>
|
||||
<li><strong>Droit d'accès</strong> — connaître les données que nous détenons sur vous.</li>
|
||||
<li><strong>Droit de rectification</strong> — corriger des données inexactes.</li>
|
||||
<li><strong>Droit de suppression</strong> — demander l'effacement de vos données.</li>
|
||||
<li><strong>Droit d'opposition</strong> — vous opposer à un traitement.</li>
|
||||
<li>{% blocktrans %}<strong>Droit d'accès</strong> — connaître les données que nous détenons sur vous.{% endblocktrans %}</li>
|
||||
<li>{% blocktrans %}<strong>Droit de rectification</strong> — corriger des données inexactes.{% endblocktrans %}</li>
|
||||
<li>{% blocktrans %}<strong>Droit de suppression</strong> — demander l'effacement de vos données.{% endblocktrans %}</li>
|
||||
<li>{% blocktrans %}<strong>Droit d'opposition</strong> — vous opposer à un traitement.{% endblocktrans %}</li>
|
||||
</ul>
|
||||
<p>
|
||||
Pour exercer ces droits, contactez-nous à :<br>
|
||||
{% trans "Pour exercer ces droits, contactez-nous à :" %}<br>
|
||||
<a href="mailto:info@jool-int.com"><strong>info@jool-int.com</strong></a>
|
||||
</p>
|
||||
<p>Nous nous engageons à répondre dans un délai de <strong>30 jours</strong>.</p>
|
||||
<p>{% blocktrans %}Nous nous engageons à répondre dans un délai de <strong>30 jours</strong>.{% endblocktrans %}</p>
|
||||
|
||||
<!-- 8 -->
|
||||
<h2><span class="material-icons-round">edit_note</span>8. Modifications</h2>
|
||||
<h2><span class="material-icons-round">edit_note</span>{% trans "8. Modifications" %}</h2>
|
||||
<p>
|
||||
Cette politique peut être mise à jour en cas d'évolution de nos pratiques ou de la réglementation. La date de dernière mise à jour est indiquée en haut de cette page. Nous vous invitons à la consulter régulièrement.
|
||||
{% trans "Cette politique peut être mise à jour en cas d'évolution de nos pratiques ou de la réglementation. La date de dernière mise à jour est indiquée en haut de cette page. Nous vous invitons à la consulter régulièrement." %}
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
{% extends "base.html" %}
|
||||
{% load static %}
|
||||
{% load static i18n %}
|
||||
|
||||
{% block title %}Jool ID — Digitalisation & gestion des producteurs agricoles | Jool International{% endblock %}
|
||||
{% block title_plain %}Jool ID — Digitalisation & gestion des producteurs agricoles | Jool International{% endblock %}
|
||||
{% block title %}{% trans "Jool ID — Identité agricole & digitalisation des producteurs | Jool International" %}{% endblock %}
|
||||
{% block title_plain %}{% trans "Jool ID — Identité agricole & digitalisation des producteurs | Jool International" %}{% endblock %}
|
||||
|
||||
{% block meta_description %}Jool ID numérise chaque producteur et chaque parcelle : profils vérifiés, géolocalisation des exploitations, traçabilité des intrants et pilotage de programme agricole à grande échelle en Afrique.{% endblock %}
|
||||
{% block meta_description %}{% trans "Jool ID structure les données agricoles essentielles — producteurs, parcelles, cultures, surfaces, coopératives et statuts de vérification — pour créer une base fiable, traçable et exploitable à grande échelle." %}{% endblock %}
|
||||
|
||||
{% block og_title %}Jool ID — La digitalisation des producteurs agricoles africains{% endblock %}
|
||||
{% block og_description %}Une source de vérité unique pour chaque producteur et chaque parcelle. Géolocalisation, traçabilité et pilotage de programme à l'échelle.{% endblock %}
|
||||
{% block twitter_title %}Jool ID — La digitalisation des producteurs agricoles africains{% endblock %}
|
||||
{% block twitter_description %}Une source de vérité unique pour chaque producteur et chaque parcelle. Géolocalisation, traçabilité et pilotage de programme à l'échelle.{% endblock %}
|
||||
{% block og_title %}{% trans "Jool ID — Donnez une identité claire à chaque producteur, chaque parcelle" %}{% endblock %}
|
||||
{% block og_description %}{% trans "Une base agricole fiable, traçable et exploitable à grande échelle. Profils producteurs, parcelles, coopératives, mobilité terrain et API métier." %}{% endblock %}
|
||||
{% block twitter_title %}{% trans "Jool ID — Identité agricole & digitalisation des producteurs" %}{% endblock %}
|
||||
{% block twitter_description %}{% trans "Structurez vos données agricoles : producteurs, parcelles, cultures, coopératives. Traçabilité et pilotage à grande échelle." %}{% endblock %}
|
||||
|
||||
{% block schema_org %}
|
||||
<script type="application/ld+json">
|
||||
@@ -18,10 +18,10 @@
|
||||
"@type": "SoftwareApplication",
|
||||
"name": "Jool ID",
|
||||
"applicationCategory": "AgricultureApplication",
|
||||
"operatingSystem": "Web",
|
||||
"url": "https://jool-international.com/joolid/",
|
||||
"description": "Plateforme de digitalisation des producteurs agricoles : profils vérifiés, parcelles géolocalisées, traçabilité des intrants et pilotage de programme à grande échelle.",
|
||||
"offers": { "@type": "Offer", "priceCurrency": "XOF" },
|
||||
"operatingSystem": "Web, Android, iOS",
|
||||
"url": "https://jool-international.com/produits/joolid/",
|
||||
"description": "Plateforme de structuration et gestion de l'identité agricole : profils producteurs vérifiés, parcelles géolocalisées, pilotage coopératif et API métier.",
|
||||
"offers": { "@type": "Offer", "priceCurrency": "XOF", "price": "1000" },
|
||||
"provider": {
|
||||
"@type": "Organization",
|
||||
"name": "Jool International",
|
||||
@@ -33,131 +33,297 @@
|
||||
|
||||
{% block extra_css %}
|
||||
<style>
|
||||
.product-hero { background: var(--teal-pale); padding: 80px 64px 64px; display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
|
||||
.product-hero h1 { font-family: var(--display); font-weight: 900; font-style: italic; font-size: clamp(2.4rem, 4vw, 3.6rem); letter-spacing: -0.03em; color: var(--black); line-height: 1.05; margin-bottom: 20px; }
|
||||
/* ── Hero ── */
|
||||
.product-hero { background: var(--teal-pale); padding: 80px 64px 64px; display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; max-width: 1200px; margin: 0 auto; }
|
||||
.product-hero h1 { font-family: var(--display); font-weight: 900; font-size: clamp(2.4rem, 4vw, 3.6rem); letter-spacing: -0.03em; color: var(--black); line-height: 1.05; margin-bottom: 20px; }
|
||||
.product-hero h1 em { font-style: normal; color: var(--teal); }
|
||||
.product-hero p { font-size: 17px; color: #555; line-height: 1.75; font-weight: 300; max-width: 480px; margin-bottom: 32px; }
|
||||
.product-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; background: rgba(25,112,97,.12); color: var(--teal); padding: 5px 14px; border-radius: 100px; margin-bottom: 20px; }
|
||||
.product-eyebrow .material-icons-round { font-size: 14px; }
|
||||
|
||||
/* ── Section header ── */
|
||||
.section-header { text-align: center; margin-bottom: 56px; }
|
||||
.section-header h2 { font-family: var(--display); font-weight: 900; font-size: clamp(1.8rem, 3vw, 2.4rem); letter-spacing: -.03em; color: var(--black); margin-bottom: 12px; }
|
||||
.section-header p { font-size: 16px; color: #666; font-weight: 300; max-width: 560px; margin: 0 auto; }
|
||||
|
||||
/* ── Features ── */
|
||||
.features-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-top: 48px; }
|
||||
.feature-card { background: var(--gray-2); border-radius: 18px; padding: 28px; }
|
||||
.feature-card { background: var(--gray-2); border-radius: 18px; padding: 28px; transition: transform .2s, box-shadow .2s; }
|
||||
.feature-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,.08); }
|
||||
.feature-card-icon { width: 48px; height: 48px; background: rgba(25,112,97,.12); border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
|
||||
.feature-card-icon .material-icons-round { color: var(--teal); font-size: 24px; }
|
||||
.feature-card h3 { font-family: var(--display); font-weight: 800; font-size: 1.1rem; color: var(--black); margin-bottom: 10px; }
|
||||
.feature-card p { font-size: 14px; color: #666; line-height: 1.6; font-weight: 300; }
|
||||
.product-features { padding: 80px 64px; background: var(--white); }
|
||||
.product-features-inner { max-width: 1200px; margin: 0 auto; }
|
||||
|
||||
/* ── How it works ── */
|
||||
.product-how { padding: 80px 64px; background: var(--dark-bg); }
|
||||
.product-how-inner { max-width: 900px; margin: 0 auto; }
|
||||
.product-how h2 { font-family: var(--display); font-weight: 900; font-style: italic; font-size: clamp(1.8rem, 3vw, 2.6rem); color: var(--white); letter-spacing: -0.03em; margin-bottom: 48px; text-align: center; }
|
||||
.product-how .section-header h2 { color: var(--white); }
|
||||
.product-how .section-header p { color: rgba(255,255,255,.55); }
|
||||
.steps { display: flex; flex-direction: column; }
|
||||
.step { display: grid; grid-template-columns: 60px 1fr; gap: 24px; align-items: flex-start; padding: 28px 0; border-bottom: 1px solid rgba(255,255,255,.08); }
|
||||
.step:last-child { border-bottom: none; }
|
||||
.step-num { font-family: var(--display); font-weight: 900; font-size: 2rem; color: var(--accent); line-height: 1; }
|
||||
.step-body h4 { font-family: var(--display); font-weight: 700; font-size: 1.15rem; color: var(--white); margin-bottom: 8px; }
|
||||
.step-body p { font-size: 15px; color: rgba(255,255,255,.6); line-height: 1.65; font-weight: 300; }
|
||||
|
||||
/* ── Pricing ── */
|
||||
.product-pricing { padding: 96px 64px; background: var(--gray-2); }
|
||||
.product-pricing-inner { max-width: 1200px; margin: 0 auto; }
|
||||
.pricing-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 56px; }
|
||||
.pricing-card { background: var(--white); border-radius: 24px; padding: 36px 28px; border: 1.5px solid var(--gray); display: flex; flex-direction: column; transition: border-color .2s, transform .2s, box-shadow .2s; }
|
||||
.pricing-card:hover { border-color: var(--teal); transform: translateY(-4px); box-shadow: 0 12px 36px rgba(25,112,97,.12); }
|
||||
.pricing-card.enterprise { background: var(--dark-bg); border-color: var(--teal); box-shadow: 0 8px 32px rgba(25,112,97,.18); }
|
||||
.pricing-icon { width: 48px; height: 48px; border-radius: 14px; background: var(--teal-pale); display: flex; align-items: center; justify-content: center; margin-bottom: 20px; }
|
||||
.pricing-card.enterprise .pricing-icon { background: rgba(255,255,255,.1); }
|
||||
.pricing-icon .material-icons-round { color: var(--teal); font-size: 24px; }
|
||||
.pricing-card.enterprise .pricing-icon .material-icons-round { color: var(--accent); }
|
||||
.pricing-name { font-family: var(--display); font-weight: 800; font-size: 1rem; color: var(--black); margin-bottom: 8px; line-height: 1.25; }
|
||||
.pricing-card.enterprise .pricing-name { color: var(--white); }
|
||||
.pricing-desc { font-size: 13px; color: #888; font-weight: 300; line-height: 1.55; margin-bottom: 28px; flex: 1; }
|
||||
.pricing-card.enterprise .pricing-desc { color: rgba(255,255,255,.5); }
|
||||
.pricing-divider { height: 1px; background: var(--gray); margin-bottom: 24px; }
|
||||
.pricing-card.enterprise .pricing-divider { background: rgba(255,255,255,.1); }
|
||||
.pricing-price-xof { font-family: var(--display); font-weight: 900; font-size: 1.4rem; color: var(--teal); letter-spacing: -.03em; line-height: 1; }
|
||||
.pricing-card.enterprise .pricing-price-xof { color: var(--accent); }
|
||||
.pricing-price-usd { font-size: 13px; color: #aaa; font-weight: 300; margin-top: 4px; margin-bottom: 4px; }
|
||||
.pricing-unit { font-size: 12px; color: #bbb; font-weight: 400; }
|
||||
.pricing-card.enterprise .pricing-unit { color: rgba(255,255,255,.35); }
|
||||
.pricing-custom-label { font-family: var(--display); font-weight: 900; font-size: 1.4rem; color: var(--teal); letter-spacing: -.03em; }
|
||||
.pricing-cta { margin-top: 28px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; padding: 13px 0; border-radius: 100px; font-family: var(--display); font-weight: 700; font-size: 14px; background: var(--teal-pale); color: var(--teal); transition: background .15s, color .15s; }
|
||||
.pricing-cta:hover { background: var(--teal); color: var(--white); }
|
||||
.pricing-card.enterprise .pricing-cta { background: var(--teal); color: var(--white); }
|
||||
.pricing-card.enterprise .pricing-cta:hover { filter: brightness(1.1); }
|
||||
|
||||
/* ── CTA ── */
|
||||
.product-cta { padding: 80px 64px; text-align: center; background: var(--teal-pale); }
|
||||
.product-cta h2 { font-family: var(--display); font-weight: 900; font-style: italic; font-size: clamp(1.8rem, 3vw, 2.4rem); color: var(--black); letter-spacing: -0.03em; margin-bottom: 16px; }
|
||||
.product-cta p { font-size: 16px; color: #666; margin-bottom: 32px; font-weight: 300; }
|
||||
.btn-cta-lg { display: inline-flex; align-items: center; gap: 10px; font-family: var(--display); font-weight: 800; font-size: 16px; padding: 16px 36px; border-radius: 100px; background: var(--teal); color: var(--white); transition: filter .15s, transform .12s; }
|
||||
.product-cta h2 { font-family: var(--display); font-weight: 900; font-size: clamp(1.8rem, 3vw, 2.4rem); color: var(--black); letter-spacing: -0.03em; margin-bottom: 16px; }
|
||||
.product-cta p { font-size: 16px; color: #666; margin-bottom: 36px; font-weight: 300; max-width: 600px; margin-left: auto; margin-right: auto; }
|
||||
.btn-cta-lg { display: inline-flex; align-items: center; gap: 10px; font-family: var(--display); font-weight: 800; font-size: 16px; padding: 16px 36px; border-radius: 100px; background: var(--teal); color: var(--white); transition: filter .15s, transform .12s; text-decoration: none; }
|
||||
.btn-cta-lg:hover { filter: brightness(1.1); transform: translateY(-2px); }
|
||||
.btn-cta-outline { display: inline-flex; align-items: center; gap: 10px; font-family: var(--display); font-weight: 700; font-size: 15px; padding: 14px 32px; border-radius: 100px; border: 2px solid var(--teal); color: var(--teal); transition: background .15s, transform .12s; text-decoration: none; }
|
||||
.btn-cta-outline:hover { background: rgba(25,112,97,.08); transform: translateY(-2px); }
|
||||
.btn-back-product { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: #888; margin-bottom: 32px; transition: color .15s; }
|
||||
.btn-back-product:hover { color: var(--teal); }
|
||||
.id-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 48px; }
|
||||
.id-stat { background: var(--white); border: 1.5px solid var(--gray); border-radius: 16px; padding: 24px; text-align: center; }
|
||||
.id-stat-val { font-family: var(--display); font-weight: 900; font-size: 2.2rem; color: var(--teal); letter-spacing: -.04em; }
|
||||
.id-stat-label { font-size: 13px; color: #888; margin-top: 4px; }
|
||||
@media (max-width: 768px) { .product-hero { grid-template-columns: 1fr; padding: 48px 24px 40px; } .product-features, .product-how, .product-cta { padding: 56px 24px; } .features-grid, .id-stats { grid-template-columns: 1fr; } }
|
||||
|
||||
/* ── Responsive ── */
|
||||
@media (max-width: 1024px) { .pricing-grid { grid-template-columns: repeat(2, 1fr); } }
|
||||
@media (max-width: 768px) {
|
||||
.product-hero { grid-template-columns: 1fr; padding: 48px 24px 40px; }
|
||||
.product-features, .product-how, .product-pricing, .product-cta { padding: 56px 24px; }
|
||||
.features-grid { grid-template-columns: 1fr; }
|
||||
.pricing-grid { grid-template-columns: 1fr; }
|
||||
}
|
||||
</style>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div style="background:var(--teal-pale);padding:24px 64px 0;">
|
||||
<a href="{% url 'core:home' %}#joolid" class="btn-back-product">
|
||||
<span class="material-icons-round" style="font-size:16px;">arrow_back</span> Retour à l'accueil
|
||||
<span class="material-icons-round" style="font-size:16px;">arrow_back</span> {% trans "Retour à l'accueil" %}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<section class="product-hero">
|
||||
<div class="reveal">
|
||||
<!-- HERO -->
|
||||
<div style="background:var(--teal-pale);padding:0 64px 64px;">
|
||||
<div class="product-hero" style="padding:0;">
|
||||
<div class="product-hero-text reveal visible">
|
||||
<div class="product-eyebrow">
|
||||
<span class="material-icons-round">badge</span> Digitalisation & Gestion
|
||||
<span class="material-icons-round">badge</span> {% trans "JOOL ID · IDENTITÉ AGRICOLE" %}
|
||||
</div>
|
||||
<h1>Chaque producteur. Chaque parcelle.<br><em>Une seule source de vérité.</em></h1>
|
||||
<p>JooL ID centralise les données producteurs, parcelles et opérations terrain dans une plateforme conçue pour fiabiliser la collecte, simplifier le suivi et piloter votre filière avec plus de clarté.</p>
|
||||
|
||||
<div class="btn-row" style="margin-top:32px;">
|
||||
<a href="https://joolid.com/" class="btn-cta-lg" target="_blank">
|
||||
<span class="material-icons-round">east</span> Démarrer gratuitement
|
||||
<h1>{% blocktrans %}Donnez une identité claire à chaque producteur,<br><em>chaque parcelle.</em>{% endblocktrans %}</h1>
|
||||
<p>{% trans "JooL ID structure les données agricoles essentielles — producteurs, parcelles, cultures, surfaces, coopératives et statuts de vérification — pour créer une base fiable, traçable et exploitable à grande échelle." %}</p>
|
||||
<div class="btn-row" style="display:flex;gap:16px;flex-wrap:wrap;margin-top:32px;">
|
||||
<a href="{% url 'core:home' %}#contact" class="btn-cta-lg">
|
||||
<span class="material-icons-round">east</span> {% trans "Structurer ma base agricole" %}
|
||||
</a>
|
||||
<a href="{% url 'core:home' %}#contact" class="btn-cta-outline">{% trans "Parler à notre équipe" %}</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="reveal">
|
||||
<div class="id-cards" style="display:flex;flex-direction:column;gap:10px;">
|
||||
<div class="product-visual reveal">
|
||||
<div style="display:flex;flex-direction:column;gap:10px;">
|
||||
<div style="background:white;border-radius:14px;padding:14px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 2px 12px rgba(0,0,0,.06);">
|
||||
<div style="width:40px;height:40px;border-radius:10px;background:#e0f2f0;display:flex;align-items:center;justify-content:center;font-size:1.2rem;">👨🏾🌾</div>
|
||||
<div style="flex:1;"><div style="font-weight:700;font-size:14px;">Kouamé Assi</div><div style="font-size:12px;color:#888;">Palmier · 4.2 ha · Coopérative Cowabo</div></div>
|
||||
<span style="font-size:11px;font-weight:700;background:#e0f2f0;color:var(--teal);padding:3px 10px;border-radius:100px;">Vérifié</span>
|
||||
<div style="flex:1;"><div style="font-weight:700;font-size:14px;">Kouamé Assi</div><div style="font-size:12px;color:#888;">{% trans "Palmier · 4.2 ha · Coopérative Cowabo" %}</div></div>
|
||||
<span style="font-size:11px;font-weight:700;background:#e0f2f0;color:var(--teal);padding:3px 10px;border-radius:100px;">{% trans "Vérifié" %}</span>
|
||||
</div>
|
||||
<div style="background:white;border-radius:14px;padding:14px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 2px 12px rgba(0,0,0,.06);">
|
||||
<div style="width:40px;height:40px;border-radius:10px;background:#fff3cd;display:flex;align-items:center;justify-content:center;font-size:1.2rem;">👩🏾🌾</div>
|
||||
<div style="flex:1;"><div style="font-weight:700;font-size:14px;">Adjoua Koffi</div><div style="font-size:12px;color:#888;">Hévéa · 7.8 ha · Coopérative Sud</div></div>
|
||||
<span style="font-size:11px;font-weight:700;background:#e0f2f0;color:var(--teal);padding:3px 10px;border-radius:100px;">Vérifié</span>
|
||||
<div style="flex:1;"><div style="font-weight:700;font-size:14px;">Adjoua Koffi</div><div style="font-size:12px;color:#888;">{% trans "Hévéa · 7.8 ha · Coopérative Sud" %}</div></div>
|
||||
<span style="font-size:11px;font-weight:700;background:#e0f2f0;color:var(--teal);padding:3px 10px;border-radius:100px;">{% trans "Vérifié" %}</span>
|
||||
</div>
|
||||
<div style="background:white;border-radius:14px;padding:14px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 2px 12px rgba(0,0,0,.06);">
|
||||
<div style="width:40px;height:40px;border-radius:10px;background:#e8f4fd;display:flex;align-items:center;justify-content:center;font-size:1.2rem;">👨🏿🌾</div>
|
||||
<div style="flex:1;"><div style="font-weight:700;font-size:14px;">N'Guessan Yao</div><div style="font-size:12px;color:#888;">Cacao · 2.6 ha · Coopérative Nord</div></div>
|
||||
<span style="font-size:11px;font-weight:700;background:#fff3cd;color:#856404;padding:3px 10px;border-radius:100px;">En attente</span>
|
||||
<div style="flex:1;"><div style="font-weight:700;font-size:14px;">N'Guessan Yao</div><div style="font-size:12px;color:#888;">{% trans "Cacao · 2.6 ha · Coopérative Nord" %}</div></div>
|
||||
<span style="font-size:11px;font-weight:700;background:#fff3cd;color:#856404;padding:3px 10px;border-radius:100px;">{% trans "En attente" %}</span>
|
||||
</div>
|
||||
<div style="background:var(--teal);border-radius:14px;padding:16px 18px;display:flex;align-items:center;gap:14px;">
|
||||
<span class="material-icons-round" style="color:white;font-size:28px;">people</span>
|
||||
<div><div style="font-size:1.6rem;font-weight:900;font-family:var(--display);color:white;letter-spacing:-.04em;">3 248</div><div style="font-size:13px;color:rgba(255,255,255,.65);">Producteurs enregistrés</div></div>
|
||||
<div style="margin-left:auto;text-align:right;"><div style="font-size:1.2rem;font-weight:900;font-family:var(--display);color:white;">12 580 ha</div><div style="font-size:13px;color:rgba(255,255,255,.65);">Surface totale</div></div>
|
||||
<div><div style="font-size:1.6rem;font-weight:900;font-family:var(--display);color:white;letter-spacing:-.04em;">3 248</div><div style="font-size:13px;color:rgba(255,255,255,.65);">{% trans "Producteurs enregistrés" %}</div></div>
|
||||
<div style="margin-left:auto;text-align:right;"><div style="font-size:1.2rem;font-weight:900;font-family:var(--display);color:white;">12 580 ha</div><div style="font-size:13px;color:rgba(255,255,255,.65);">{% trans "Surface totale" %}</div></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- FEATURES -->
|
||||
<section class="product-features">
|
||||
<div class="product-features-inner">
|
||||
<div style="text-align:center;">
|
||||
<span class="product-eyebrow">Fonctionnalités</span>
|
||||
<h2 style="font-family:var(--display);font-weight:900;font-style:italic;font-size:clamp(1.8rem,3vw,2.4rem);letter-spacing:-.03em;color:var(--black);">Ce que Jool ID fait pour vous</h2>
|
||||
<div class="section-header reveal">
|
||||
<span class="product-eyebrow">{% trans "Fonctionnalités" %}</span>
|
||||
<h2>{% trans "Ce que JooL ID active pour vous" %}</h2>
|
||||
<p>{% trans "Une base agricole fiable, pensée pour les opérations terrain." %}</p>
|
||||
</div>
|
||||
<div class="features-grid">
|
||||
<div class="feature-card reveal"><div class="feature-card-icon"><span class="material-icons-round">person_pin</span></div><h3>Profils producteurs fiables</h3><p>Centralisez des fiches complètes, vérifiées et prêtes pour le terrain, les audits et les partenaires.</p></div>
|
||||
<div class="feature-card reveal"><div class="feature-card-icon"><span class="material-icons-round">grass</span></div><h3>Parcelles enfin lisibles</h3><p>Reliez chaque producteur à ses parcelles, cultures et surfaces dans une vue géographique claire et exploitable.</p></div>
|
||||
<div class="feature-card reveal"><div class="feature-card-icon"><span class="material-icons-round">groups</span></div><h3>Pilotage coopératif unifié</h3><p>Suivez membres, collecte, programmes et certifications depuis une base unique, structurée pour la décision.</p></div>
|
||||
<div class="feature-card reveal"><div class="feature-card-icon"><span class="material-icons-round">verified</span></div><h3>Conformité sans friction</h3><p>Préparez plus facilement vos contrôles, audits et exigences de traçabilité avec des données mieux organisées.</p></div>
|
||||
<div class="feature-card reveal"><div class="feature-card-icon"><span class="material-icons-round">phone_android</span></div><h3>Mobile, même hors ligne</h3><p>Collectez sur le terrain sans connexion, puis synchronisez automatiquement dès le retour du réseau.</p></div>
|
||||
<div class="feature-card reveal"><div class="feature-card-icon"><span class="material-icons-round">api</span></div><h3>API & intégrations</h3><p>Connectez JooL ID à votre ERP, vos outils métier ou vos workflows existants via une architecture ouverte.</p></div>
|
||||
<div class="feature-card reveal">
|
||||
<div class="feature-card-icon"><span class="material-icons-round">person_pin</span></div>
|
||||
<h3>{% trans "Profils producteurs fiables" %}</h3>
|
||||
<p>{% trans "Centralisez des fiches producteurs complètes, vérifiées et exploitables pour le terrain, les audits, les programmes agricoles et les partenaires." %}</p>
|
||||
</div>
|
||||
<div class="feature-card reveal">
|
||||
<div class="feature-card-icon"><span class="material-icons-round">grass</span></div>
|
||||
<h3>{% trans "Parcelles enfin lisibles" %}</h3>
|
||||
<p>{% trans "Associez chaque producteur à ses parcelles, cultures et surfaces dans une lecture géographique claire, structurée et exploitable." %}</p>
|
||||
</div>
|
||||
<div class="feature-card reveal">
|
||||
<div class="feature-card-icon"><span class="material-icons-round">groups</span></div>
|
||||
<h3>{% trans "Pilotage coopératif unifié" %}</h3>
|
||||
<p>{% trans "Suivez membres, programmes, certifications et opérations agricoles depuis une base unique pensée pour la décision." %}</p>
|
||||
</div>
|
||||
<div class="feature-card reveal">
|
||||
<div class="feature-card-icon"><span class="material-icons-round">verified</span></div>
|
||||
<h3>{% trans "Conformité & traçabilité simplifiées" %}</h3>
|
||||
<p>{% trans "Préparez plus facilement les audits, certifications et exigences de traçabilité grâce à des données mieux structurées." %}</p>
|
||||
</div>
|
||||
<div class="feature-card reveal">
|
||||
<div class="feature-card-icon"><span class="material-icons-round">phone_android</span></div>
|
||||
<h3>{% trans "Mobile, même hors connexion" %}</h3>
|
||||
<p>{% trans "Collectez les données terrain sans réseau puis synchronisez automatiquement dès le retour de la connexion." %}</p>
|
||||
</div>
|
||||
<div class="feature-card reveal">
|
||||
<div class="feature-card-icon"><span class="material-icons-round">api</span></div>
|
||||
<h3>{% trans "API & intégrations métier" %}</h3>
|
||||
<p>{% trans "Connectez JooL ID à vos ERP, outils métier et workflows existants grâce à une architecture ouverte et interopérable." %}</p>
|
||||
</div>
|
||||
<div class="id-stats">
|
||||
<div class="id-stat reveal"><div class="id-stat-val">+280 000</div><div class="id-stat-label">Producteurs enregistrés</div></div>
|
||||
<div class="id-stat reveal"><div class="id-stat-val">+100 000 ha</div><div class="id-stat-label">Surface totale cartographiée</div></div>
|
||||
<div class="id-stat reveal"><div class="id-stat-val">98%</div><div class="id-stat-label">Taux de vérification</div></div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- HOW IT WORKS -->
|
||||
<section class="product-how">
|
||||
<div class="product-how-inner">
|
||||
<h2>Mise en place <em style="color:var(--accent);font-style:normal;">rapide</em></h2>
|
||||
<div class="section-header reveal">
|
||||
<h2>{% trans "Comment JooL ID se déploie" %}</h2>
|
||||
<p>{% trans "De la collecte terrain à une base agricole exploitable." %}</p>
|
||||
</div>
|
||||
<div class="steps">
|
||||
<div class="step reveal"><div class="step-num">01</div><div class="step-body"><h4>Import intelligent de vos données</h4><p>Importez vos fichiers existants et structurez votre base JooL ID sans repartir de zéro.</p></div></div>
|
||||
<div class="step reveal"><div class="step-num">02</div><div class="step-body"><h4>Onboarding des équipes terrain</h4><p>Vos agents prennent en main l’application rapidement, avec un parcours simple et opérationnel.</p></div></div>
|
||||
<div class="step reveal"><div class="step-num">03</div><div class="step-body"><h4>Collecte & vérification terrain</h4><p>Les données producteurs et parcelles sont collectées, géolocalisées et contrôlées directement sur le terrain.</p></div></div>
|
||||
<div class="step reveal"><div class="step-num">04</div><div class="step-body"><h4>Base prête à piloter</h4><p>En quelques semaines, vous disposez d’une base fiable, vérifiée et exploitable pour vos opérations, audits et reportings.</p></div></div>
|
||||
<div class="step reveal">
|
||||
<div class="step-num">01</div>
|
||||
<div class="step-body">
|
||||
<h4>{% trans "Import intelligent de vos données" %}</h4>
|
||||
<p>{% trans "Importez vos fichiers existants et structurez votre base JooL ID sans repartir de zéro." %}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="step reveal">
|
||||
<div class="step-num">02</div>
|
||||
<div class="step-body">
|
||||
<h4>{% trans "Onboarding des équipes terrain" %}</h4>
|
||||
<p>{% trans "Vos agents prennent rapidement en main l'application grâce à une expérience simple et opérationnelle." %}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="step reveal">
|
||||
<div class="step-num">03</div>
|
||||
<div class="step-body">
|
||||
<h4>{% trans "Collecte & vérification terrain" %}</h4>
|
||||
<p>{% trans "Les données producteurs et parcelles sont collectées, géolocalisées et vérifiées directement sur le terrain." %}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="step reveal">
|
||||
<div class="step-num">04</div>
|
||||
<div class="step-body">
|
||||
<h4>{% trans "Base prête à piloter" %}</h4>
|
||||
<p>{% trans "En quelques semaines, vous disposez d'une base fiable, vérifiée et exploitable pour vos opérations, audits et reportings." %}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="product-cta">
|
||||
<span class="product-eyebrow" style="margin-bottom:20px;">Prêt à digitaliser ?</span>
|
||||
<h2>Structurez votre filière<br>producteur dès aujourd'hui</h2>
|
||||
<p>Des coopératives de 200 membres aux industriels gérant 50 000 ha, Jool ID s'adapte à votre échelle.</p>
|
||||
<a href="{% url 'core:home' %}#contact" class="btn-cta-lg">
|
||||
<span class="material-icons-round">east</span> Démarrer gratuitement
|
||||
<!-- PRICING -->
|
||||
<section class="product-pricing">
|
||||
<div class="product-pricing-inner">
|
||||
<div class="section-header reveal">
|
||||
<span class="product-eyebrow">{% trans "Tarification" %}</span>
|
||||
<h2>{% trans "Une tarification adaptée à la structuration agricole." %}</h2>
|
||||
</div>
|
||||
<div class="pricing-grid">
|
||||
|
||||
<div class="pricing-card reveal">
|
||||
<div class="pricing-icon"><span class="material-icons-round">person_pin</span></div>
|
||||
<div class="pricing-name">{% trans "Géoréférencement producteur" %}</div>
|
||||
<div class="pricing-desc">{% trans "Identification et cartographie des producteurs et exploitations agricoles." %}</div>
|
||||
<div class="pricing-divider"></div>
|
||||
<div class="pricing-price-xof">{% trans "À partir de 1 000 FCFA" %}</div>
|
||||
<div class="pricing-price-usd">≈ $1.7</div>
|
||||
<div class="pricing-unit">{% trans "par producteur" %}</div>
|
||||
<a href="{% url 'core:home' %}#contact" class="pricing-cta">
|
||||
<span class="material-icons-round" style="font-size:16px;">east</span> {% trans "Démarrer" %}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="pricing-card reveal">
|
||||
<div class="pricing-icon"><span class="material-icons-round">storage</span></div>
|
||||
<div class="pricing-name">{% trans "Structuration de base agricole" %}</div>
|
||||
<div class="pricing-desc">{% trans "Création et organisation de bases producteurs, parcelles et coopératives." %}</div>
|
||||
<div class="pricing-divider"></div>
|
||||
<div class="pricing-custom-label">{% trans "Sur devis" %}</div>
|
||||
<div class="pricing-unit" style="margin-top:6px;">{% trans "Selon volume & périmètre" %}</div>
|
||||
<a href="{% url 'core:home' %}#contact" class="pricing-cta">
|
||||
<span class="material-icons-round" style="font-size:16px;">east</span> {% trans "Demander un devis" %}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="pricing-card reveal">
|
||||
<div class="pricing-icon"><span class="material-icons-round">account_balance</span></div>
|
||||
<div class="pricing-name">{% trans "Programmes & déploiements institutionnels" %}</div>
|
||||
<div class="pricing-desc">{% trans "Déploiements pour coopératives, agro-industries, collectivités et institutions." %}</div>
|
||||
<div class="pricing-divider"></div>
|
||||
<div class="pricing-custom-label">{% trans "Sur mesure" %}</div>
|
||||
<div class="pricing-unit" style="margin-top:6px;">{% trans "Tarification selon périmètre" %}</div>
|
||||
<a href="{% url 'core:home' %}#contact" class="pricing-cta">
|
||||
<span class="material-icons-round" style="font-size:16px;">east</span> {% trans "Nous contacter" %}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="pricing-card enterprise reveal">
|
||||
<div class="pricing-icon"><span class="material-icons-round">api</span></div>
|
||||
<div class="pricing-name">{% trans "API & intégrations métier" %}</div>
|
||||
<div class="pricing-desc">{% trans "Connexion aux systèmes de financement, assurance, ERP et outils métier." %}</div>
|
||||
<div class="pricing-divider"></div>
|
||||
<div class="pricing-custom-label" style="font-size:1.1rem;color:var(--accent);">{% trans "Options disponibles" %}</div>
|
||||
<div class="pricing-unit" style="margin-top:6px;">{% trans "Selon besoins projet" %}</div>
|
||||
<a href="{% url 'core:home' %}#contact" class="pricing-cta">
|
||||
<span class="material-icons-round" style="font-size:16px;">east</span> {% trans "Parler à notre équipe" %}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- CTA -->
|
||||
<section class="product-cta">
|
||||
<span class="product-eyebrow" style="margin-bottom:20px;">{% trans "Prêt à structurer ?" %}</span>
|
||||
<h2>{% blocktrans %}Transformez des données dispersées<br>en infrastructure agricole exploitable.{% endblocktrans %}</h2>
|
||||
<p>{% trans "Des coopératives de 200 membres aux agro-industries gérant des dizaines de milliers d'hectares, JooL ID s'adapte à votre échelle." %}</p>
|
||||
<div style="display:flex;gap:16px;justify-content:center;flex-wrap:wrap;">
|
||||
<a href="{% url 'core:home' %}#contact" class="btn-cta-lg">
|
||||
<span class="material-icons-round">east</span> {% trans "Structurer ma base agricole" %}
|
||||
</a>
|
||||
<a href="{% url 'core:home' %}#contact" class="btn-cta-outline">{% trans "Parler à notre équipe" %}</a>
|
||||
</div>
|
||||
</section>
|
||||
{% endblock %}
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
{% extends "base.html" %}
|
||||
{% load static %}
|
||||
{% load static i18n %}
|
||||
|
||||
{% block title %}KIRIQ AI — Diagnostic satellitaire & Intelligence Artificielle agricole | Jool International{% endblock %}
|
||||
{% block title_plain %}KIRIQ AI — Diagnostic satellitaire & Intelligence Artificielle agricole | Jool International{% endblock %}
|
||||
{% block title %}{% trans "KIRIQ AI — Diagnostic satellitaire & Intelligence Artificielle agricole | Jool International" %}{% endblock %}
|
||||
{% block title_plain %}{% trans "KIRIQ AI — Diagnostic satellitaire & Intelligence Artificielle agricole | Jool International" %}{% endblock %}
|
||||
|
||||
{% block meta_description %}KIRIQ AI analyse vos cultures par satellite grâce à l'intelligence artificielle : détection précoce des maladies, suivi NDVI, cartographie de stress hydrique et aide à la décision pour les exploitations agricoles en Afrique.{% endblock %}
|
||||
{% block meta_description %}{% blocktrans %}KIRIQ AI transforme l'imagerie satellite en intelligence agricole exploitable : détection des stress, suivi végétatif, prévision de rendement et rapports agronomiques pour les exploitations africaines.{% endblocktrans %}{% endblock %}
|
||||
|
||||
{% block og_title %}KIRIQ AI — Diagnostic satellitaire pour l'agriculture africaine{% endblock %}
|
||||
{% block og_description %}Détectez les anomalies sur vos parcelles avant qu'elles ne deviennent des pertes. KIRIQ AI analyse chaque hectare par satellite et IA.{% endblock %}
|
||||
{% block twitter_title %}KIRIQ AI — Diagnostic satellitaire pour l'agriculture africaine{% endblock %}
|
||||
{% block twitter_description %}Détectez les anomalies sur vos parcelles avant qu'elles ne deviennent des pertes. KIRIQ AI analyse chaque hectare par satellite et IA.{% endblock %}
|
||||
{% block og_title %}{% trans "KIRIQ AI — Diagnostic satellitaire pour l'agriculture africaine" %}{% endblock %}
|
||||
{% block og_description %}{% trans "Détectez les anomalies sur vos parcelles avant qu'elles ne deviennent des pertes. KIRIQ AI analyse chaque hectare par satellite et IA." %}{% endblock %}
|
||||
{% block twitter_title %}{% trans "KIRIQ AI — Diagnostic satellitaire pour l'agriculture africaine" %}{% endblock %}
|
||||
{% block twitter_description %}{% trans "Détectez les anomalies sur vos parcelles avant qu'elles ne deviennent des pertes. KIRIQ AI analyse chaque hectare par satellite et IA." %}{% endblock %}
|
||||
|
||||
{% block schema_org %}
|
||||
<script type="application/ld+json">
|
||||
@@ -19,8 +19,8 @@
|
||||
"name": "KIRIQ AI",
|
||||
"applicationCategory": "AgricultureApplication",
|
||||
"operatingSystem": "Web",
|
||||
"url": "https://jool-international.com/kiriq/",
|
||||
"description": "Solution d'analyse satellitaire et d'intelligence artificielle pour le diagnostic agricole : détection de maladies, suivi NDVI, stress hydrique et aide à la décision.",
|
||||
"url": "https://jool-international.com/produits/kiriq/",
|
||||
"description": "Solution d'analyse satellitaire et d'intelligence artificielle pour le diagnostic agricole : détection de stress, suivi NDVI, prévision de rendement et aide à la décision.",
|
||||
"offers": { "@type": "Offer", "priceCurrency": "XOF" },
|
||||
"provider": {
|
||||
"@type": "Organization",
|
||||
@@ -33,69 +33,121 @@
|
||||
|
||||
{% block extra_css %}
|
||||
<style>
|
||||
/* ── Hero ──────────────────────────────────────── */
|
||||
.product-hero { background: var(--teal-pale); padding: 80px 64px 64px; display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; max-width: 1200px; margin: 0 auto; }
|
||||
.product-hero-text h1 { font-family: var(--display); font-weight: 900; font-style: italic; font-size: clamp(2.4rem, 4vw, 3.6rem); letter-spacing: -0.03em; color: var(--black); line-height: 1.05; margin-bottom: 20px; }
|
||||
.product-hero-text h1 { font-family: var(--display); font-weight: 900; font-size: clamp(2.4rem, 4vw, 3.6rem); letter-spacing: -0.03em; color: var(--black); line-height: 1.05; margin-bottom: 20px; }
|
||||
.product-hero-text h1 em { font-style: normal; color: var(--teal); }
|
||||
.product-hero-text p { font-size: 17px; color: #555; line-height: 1.75; font-weight: 300; max-width: 480px; margin-bottom: 32px; }
|
||||
.product-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; background: rgba(25,112,97,.12); color: var(--teal); padding: 5px 14px; border-radius: 100px; margin-bottom: 20px; }
|
||||
.product-eyebrow .material-icons-round { font-size: 14px; }
|
||||
.product-visual { background: var(--dark-bg); border-radius: 24px; aspect-ratio: 4/3; position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; }
|
||||
.product-features { padding: 80px 64px; background: var(--white); }
|
||||
.product-visual { position: relative; }
|
||||
|
||||
/* ── Features ──────────────────────────────────── */
|
||||
.product-features { padding: 88px 64px; background: var(--white); }
|
||||
.product-features-inner { max-width: 1200px; margin: 0 auto; }
|
||||
.features-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-top: 48px; }
|
||||
.feature-card { background: var(--gray-2); border-radius: 18px; padding: 28px; }
|
||||
.section-header { text-align: center; margin-bottom: 56px; }
|
||||
.section-header h2 { font-family: var(--display); font-weight: 900; font-size: clamp(1.8rem,3vw,2.4rem); letter-spacing:-.03em; color: var(--black); margin-bottom: 12px; }
|
||||
.section-header h2 em { font-style: normal; color: var(--teal); }
|
||||
.section-header p { font-size: 16px; color: #666; font-weight: 300; max-width: 540px; margin: 0 auto; }
|
||||
.features-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
|
||||
.feature-card { background: var(--gray-2); border-radius: 18px; padding: 28px; transition: transform .2s, box-shadow .2s; }
|
||||
.feature-card:hover { transform: translateY(-3px); box-shadow: 0 8px 28px rgba(25,112,97,.1); }
|
||||
.feature-card-icon { width: 48px; height: 48px; background: rgba(25,112,97,.12); border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
|
||||
.feature-card-icon .material-icons-round { color: var(--teal); font-size: 24px; }
|
||||
.feature-card h3 { font-family: var(--display); font-weight: 800; font-size: 1.1rem; color: var(--black); margin-bottom: 10px; }
|
||||
.feature-card p { font-size: 14px; color: #666; line-height: 1.6; font-weight: 300; }
|
||||
.product-how { padding: 80px 64px; background: var(--dark-bg); }
|
||||
.product-how-inner { max-width: 900px; margin: 0 auto; }
|
||||
.product-how h2 { font-family: var(--display); font-weight: 900; font-style: italic; font-size: clamp(1.8rem, 3vw, 2.6rem); color: var(--white); letter-spacing: -0.03em; margin-bottom: 48px; text-align: center; }
|
||||
.steps { display: flex; flex-direction: column; gap: 0; }
|
||||
.step { display: grid; grid-template-columns: 60px 1fr; gap: 24px; align-items: flex-start; padding: 28px 0; border-bottom: 1px solid rgba(255,255,255,.08); }
|
||||
.feature-card h3 { font-family: var(--display); font-weight: 800; font-size: 1.05rem; color: var(--black); margin-bottom: 10px; }
|
||||
.feature-card p { font-size: 14px; color: #666; line-height: 1.65; font-weight: 300; }
|
||||
|
||||
/* ── How it works ──────────────────────────────── */
|
||||
.product-how { padding: 88px 64px; background: var(--dark-bg); }
|
||||
.product-how-inner { max-width: 860px; margin: 0 auto; }
|
||||
.product-how .section-header h2 { color: var(--white); }
|
||||
.product-how .section-header p { color: rgba(255,255,255,.55); }
|
||||
.steps { display: flex; flex-direction: column; }
|
||||
.step { display: grid; grid-template-columns: 56px 1fr; gap: 28px; align-items: flex-start; padding: 32px 0; border-bottom: 1px solid rgba(255,255,255,.07); }
|
||||
.step:last-child { border-bottom: none; }
|
||||
.step-num { font-family: var(--display); font-weight: 900; font-size: 2rem; color: var(--accent); line-height: 1; }
|
||||
.step-body h4 { font-family: var(--display); font-weight: 700; font-size: 1.15rem; color: var(--white); margin-bottom: 8px; }
|
||||
.step-body p { font-size: 15px; color: rgba(255,255,255,.6); line-height: 1.65; font-weight: 300; }
|
||||
.product-cta { padding: 80px 64px; text-align: center; background: var(--teal-pale); }
|
||||
.product-cta h2 { font-family: var(--display); font-weight: 900; font-style: italic; font-size: clamp(1.8rem, 3vw, 2.4rem); color: var(--black); letter-spacing: -0.03em; margin-bottom: 16px; }
|
||||
.product-cta p { font-size: 16px; color: #666; margin-bottom: 32px; font-weight: 300; }
|
||||
.step-num { font-family: var(--display); font-weight: 900; font-size: 1.8rem; color: var(--accent); line-height: 1; padding-top: 3px; }
|
||||
.step-body h4 { font-family: var(--display); font-weight: 700; font-size: 1.1rem; color: var(--white); margin-bottom: 8px; }
|
||||
.step-body p { font-size: 15px; color: rgba(255,255,255,.6); line-height: 1.7; font-weight: 300; }
|
||||
|
||||
/* ── Pricing ───────────────────────────────────── */
|
||||
.product-pricing { padding: 96px 64px; background: var(--gray-2); }
|
||||
.product-pricing-inner { max-width: 1200px; margin: 0 auto; }
|
||||
.pricing-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 56px; }
|
||||
.pricing-card { background: var(--white); border-radius: 24px; padding: 36px 28px; border: 1.5px solid var(--gray); display: flex; flex-direction: column; transition: border-color .2s, transform .2s, box-shadow .2s; }
|
||||
.pricing-card:hover { border-color: var(--teal); transform: translateY(-4px); box-shadow: 0 12px 36px rgba(25,112,97,.12); }
|
||||
.pricing-card.enterprise { background: var(--dark-bg); border-color: var(--teal); box-shadow: 0 8px 32px rgba(25,112,97,.18); }
|
||||
.pricing-icon { width: 48px; height: 48px; border-radius: 14px; background: var(--teal-pale); display: flex; align-items: center; justify-content: center; margin-bottom: 20px; }
|
||||
.pricing-card.enterprise .pricing-icon { background: rgba(255,255,255,.1); }
|
||||
.pricing-icon .material-icons-round { color: var(--teal); font-size: 24px; }
|
||||
.pricing-card.enterprise .pricing-icon .material-icons-round { color: var(--accent); }
|
||||
.pricing-name { font-family: var(--display); font-weight: 800; font-size: 1rem; color: var(--black); margin-bottom: 8px; line-height: 1.25; }
|
||||
.pricing-card.enterprise .pricing-name { color: var(--white); }
|
||||
.pricing-desc { font-size: 13px; color: #888; font-weight: 300; line-height: 1.55; margin-bottom: 28px; flex: 1; }
|
||||
.pricing-card.enterprise .pricing-desc { color: rgba(255,255,255,.5); }
|
||||
.pricing-divider { height: 1px; background: var(--gray); margin-bottom: 24px; }
|
||||
.pricing-card.enterprise .pricing-divider { background: rgba(255,255,255,.1); }
|
||||
.pricing-price-xof { font-family: var(--display); font-weight: 900; font-size: 1.5rem; color: var(--teal); letter-spacing: -.03em; line-height: 1; }
|
||||
.pricing-card.enterprise .pricing-price-xof { color: var(--accent); }
|
||||
.pricing-price-usd { font-size: 13px; color: #aaa; font-weight: 300; margin-top: 4px; margin-bottom: 4px; }
|
||||
.pricing-unit { font-size: 12px; color: #bbb; font-weight: 400; }
|
||||
.pricing-card.enterprise .pricing-unit { color: rgba(255,255,255,.35); }
|
||||
.pricing-cta { margin-top: 28px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; padding: 13px 0; border-radius: 100px; font-family: var(--display); font-weight: 700; font-size: 14px; background: var(--teal-pale); color: var(--teal); transition: background .15s, color .15s; }
|
||||
.pricing-cta:hover { background: var(--teal); color: var(--white); }
|
||||
.pricing-card.enterprise .pricing-cta { background: var(--teal); color: var(--white); }
|
||||
.pricing-card.enterprise .pricing-cta:hover { filter: brightness(1.1); }
|
||||
.pricing-custom-label { font-family: var(--display); font-weight: 900; font-size: 1.5rem; color: var(--accent); letter-spacing: -.03em; }
|
||||
|
||||
/* ── CTA ───────────────────────────────────────── */
|
||||
.product-cta { padding: 88px 64px; text-align: center; background: var(--teal-pale); }
|
||||
.product-cta h2 { font-family: var(--display); font-weight: 900; font-size: clamp(1.8rem, 3vw, 2.4rem); color: var(--black); letter-spacing: -0.03em; margin-bottom: 16px; }
|
||||
.product-cta p { font-size: 16px; color: #666; margin-bottom: 36px; font-weight: 300; max-width: 560px; margin-left: auto; margin-right: auto; }
|
||||
.btn-cta-lg { display: inline-flex; align-items: center; gap: 10px; font-family: var(--display); font-weight: 800; font-size: 16px; padding: 16px 36px; border-radius: 100px; background: var(--teal); color: var(--white); transition: filter .15s, transform .12s; }
|
||||
.btn-cta-lg:hover { filter: brightness(1.1); transform: translateY(-2px); }
|
||||
.btn-outline-product { display: inline-flex; align-items: center; gap: 8px; font-family: var(--body); font-weight: 600; font-size: 15px; padding: 14px 30px; border-radius: 100px; border: 1.5px solid var(--teal); color: var(--teal); transition: all .15s; margin-left: 14px; }
|
||||
.btn-outline-product:hover { background: var(--teal); color: var(--white); }
|
||||
.btn-back-product { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: #888; margin-bottom: 32px; transition: color .15s; }
|
||||
.btn-back-product:hover { color: var(--teal); }
|
||||
@media (max-width: 768px) { .product-hero { grid-template-columns: 1fr; padding: 48px 24px 40px; } .product-features, .product-how, .product-cta { padding: 56px 24px; } .features-grid { grid-template-columns: 1fr; } }
|
||||
|
||||
@media (max-width: 1024px) { .pricing-grid { grid-template-columns: repeat(2, 1fr); } }
|
||||
@media (max-width: 768px) {
|
||||
.product-hero { grid-template-columns: 1fr; padding: 48px 24px 40px; }
|
||||
.product-features, .product-how, .product-pricing, .product-cta { padding: 56px 24px; }
|
||||
.features-grid, .pricing-grid { grid-template-columns: 1fr; }
|
||||
.btn-outline-product { margin-left: 0; margin-top: 12px; }
|
||||
}
|
||||
</style>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<!-- ── Back ── -->
|
||||
<div style="background:var(--teal-pale);padding:24px 64px 0;">
|
||||
<a href="{% url 'core:home' %}#kiriq" class="btn-back-product">
|
||||
<span class="material-icons-round" style="font-size:16px;">arrow_back</span> Retour à l'accueil
|
||||
<span class="material-icons-round" style="font-size:16px;">arrow_back</span> {% trans "Retour à l'accueil" %}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- ══ HERO ══ -->
|
||||
<div style="background:var(--teal-pale);padding:0 64px 64px;">
|
||||
<div class="product-hero" style="padding:0;">
|
||||
<div class="product-hero-text reveal">
|
||||
<div class="product-hero-text reveal visible">
|
||||
<span class="section-tag tag-teal" style="margin-bottom:20px;">
|
||||
<span class="material-icons-round" style="font-size:13px;">satellite_alt</span>
|
||||
Satellitaire & IA
|
||||
{% trans "KIRIQ AI · SATELLITE & IA" %}
|
||||
</span>
|
||||
<h1>Diagnostiquez vos parcelles<br>depuis <em>l'espace.</em></h1>
|
||||
<p>KIRiQ AI vous aide à lire l'état réel de vos parcelles, détecter les anomalies plus tôt et décider avec une longueur d'avance.</p>
|
||||
|
||||
<h1>{% blocktrans %}Lisez l'état réel<br>de vos <em>parcelles.</em>{% endblocktrans %}</h1>
|
||||
<p>{% blocktrans %}KIRiQ AI transforme l'imagerie satellite en intelligence agricole exploitable pour détecter les risques, suivre la dynamique des cultures, mesurer l'impact potentiel sur le rendement et orienter les décisions terrain à grande échelle.{% endblocktrans %}</p>
|
||||
<div class="btn-row" style="margin-top:32px;">
|
||||
<a href="https://kiriq.ai/" class="btn-cta-lg" target="_blank">
|
||||
<span class="material-icons-round">east</span> Demander une démo
|
||||
<span class="material-icons-round">east</span> {% trans "Demander une démo" %}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="product-visual reveal" style="padding:0;background:none;aspect-ratio:unset;">
|
||||
<img src="{% static 'img/Kiriq AI.jpg' %}" alt="Kiriq AI — analyse parcellaire"
|
||||
style="width:100%;height:auto;display:block;border-radius:24px;">
|
||||
<div class="product-visual reveal">
|
||||
<img src="{% static 'img/Kiriq AI.jpg' %}" alt="{% trans 'Kiriq AI — analyse parcellaire satellite' %}"
|
||||
style="width:100%;height:auto;display:block;border-radius:24px;" loading="lazy" decoding="async">
|
||||
<div class="chip-float cf-tl">
|
||||
<span class="material-icons-round">warning</span> 4 anomalies détectées
|
||||
<span class="material-icons-round">warning</span> {% trans "4 anomalies détectées" %}
|
||||
</div>
|
||||
<div class="chip-float cf-br">
|
||||
<span class="material-icons-round">trending_up</span> NDVI +12 pts
|
||||
@@ -104,89 +156,167 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ══ FEATURES ══ -->
|
||||
<section class="product-features">
|
||||
<div class="product-features-inner">
|
||||
<div style="text-align:center;">
|
||||
<span class="product-eyebrow" style="margin-bottom:16px;">Fonctionnalités</span>
|
||||
<h2 style="font-family:var(--display);font-weight:900;font-style:italic;font-size:clamp(1.8rem,3vw,2.4rem);letter-spacing:-.03em;color:var(--black);">Ce que KIRiQ AI active pour vous</h2>
|
||||
<div class="section-header reveal">
|
||||
<span class="product-eyebrow" style="margin-bottom:16px;">{% trans "Ce que KIRiQ AI active pour vous" %}</span>
|
||||
<h2>{% blocktrans %}Une lecture parcellaire <em>continue,</em><br>pensée pour la décision.{% endblocktrans %}</h2>
|
||||
<p>{% trans "Une technologie construite autour du terrain, de la clarté et de l'impact." %}</p>
|
||||
</div>
|
||||
<div class="features-grid">
|
||||
<div class="feature-card reveal">
|
||||
<div class="feature-card-icon"><span class="material-icons-round">warning_amber</span></div>
|
||||
<h3>Détection avancée des stress</h3>
|
||||
<p>Identifiez plus tôt les zones sous stress hydrique ou nutritionnel, avant que l'impact ne soit visible sur le terrain.</p>
|
||||
<h3>{% trans "Détection avancée des stress" %}</h3>
|
||||
<p>{% trans "Identifiez plus tôt les zones sous stress hydrique, nutritionnel ou végétatif avant que l'impact ne soit visible sur le terrain." %}</p>
|
||||
</div>
|
||||
<div class="feature-card reveal">
|
||||
<div class="feature-card-icon"><span class="material-icons-round">track_changes</span></div>
|
||||
<h3>Interventions mieux ciblées</h3>
|
||||
<p>Priorisez les parcelles qui demandent une action immédiate et concentrez vos ressources là où elles comptent le plus.</p>
|
||||
<h3>{% trans "Interventions mieux ciblées" %}</h3>
|
||||
<p>{% trans "Priorisez les parcelles nécessitant une action immédiate et concentrez vos ressources là où l'impact terrain est le plus critique." %}</p>
|
||||
</div>
|
||||
<div class="feature-card reveal">
|
||||
<div class="feature-card-icon"><span class="material-icons-round">dashboard</span></div>
|
||||
<h3>Vision multi-parcelles</h3>
|
||||
<p>Comparez vos blocs, suivez les écarts et pilotez vos décisions avec une lecture unifiée de l'exploitation.</p>
|
||||
<h3>{% trans "Vision multi-parcelles" %}</h3>
|
||||
<p>{% trans "Comparez vos blocs agricoles, suivez les écarts dans le temps et pilotez vos opérations avec une lecture unifiée de l'exploitation." %}</p>
|
||||
</div>
|
||||
<div class="feature-card reveal">
|
||||
<div class="feature-card-icon"><span class="material-icons-round">bar_chart</span></div>
|
||||
<h3>Prévision de rendement</h3>
|
||||
<p>Anticipez le potentiel de production par parcelle grâce à une lecture continue de la dynamique végétative.</p>
|
||||
<h3>{% trans "Prévision de rendement" %}</h3>
|
||||
<p>{% trans "Anticipez le potentiel de production parcelle par parcelle grâce au suivi continu de la dynamique végétative." %}</p>
|
||||
</div>
|
||||
<div class="feature-card reveal">
|
||||
<div class="feature-card-icon"><span class="material-icons-round">description</span></div>
|
||||
<h3>Rapports agronomiques instantanés</h3>
|
||||
<p>Générez des synthèses lisibles pour vos équipes terrain, vos managers et vos partenaires.</p>
|
||||
<h3>{% trans "Rapports agronomiques instantanés" %}</h3>
|
||||
<p>{% trans "Générez des synthèses lisibles pour les équipes terrain, managers, coopératives, assureurs et partenaires." %}</p>
|
||||
</div>
|
||||
<div class="feature-card reveal">
|
||||
<div class="feature-card-icon"><span class="material-icons-round">integration_instructions</span></div>
|
||||
<h3>API & intégrations métier</h3>
|
||||
<p>Connectez KIRiQ AI à vos outils existants pour faire circuler la donnée sans friction.</p>
|
||||
<h3>{% trans "API & intégrations métier" %}</h3>
|
||||
<p>{% trans "Connectez KIRiQ AI à vos outils existants pour fluidifier la circulation des données et enrichir vos workflows métier." %}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- ══ HOW IT WORKS ══ -->
|
||||
<section class="product-how">
|
||||
<div class="product-how-inner">
|
||||
<h2>Comment KIRiQ AI <em style="color:var(--accent);font-style:normal;">fonctionne ?</em></h2>
|
||||
<div class="section-header reveal">
|
||||
<span class="product-eyebrow" style="margin-bottom:16px;background:rgba(255,255,255,.1);color:rgba(255,255,255,.7);">{% trans "Comment ça fonctionne" %}</span>
|
||||
<h2>{% blocktrans %}Comment KIRiQ AI <em style="color:var(--accent);font-style:normal;">fonctionne</em>{% endblocktrans %}</h2>
|
||||
<p>{% trans "Une chaîne d'analyse conçue pour l'agriculture africaine." %}</p>
|
||||
</div>
|
||||
<div class="steps">
|
||||
<div class="step reveal">
|
||||
<div class="step-num">01</div>
|
||||
<div class="step-body">
|
||||
<h4>Import ou dessin des parcelles</h4>
|
||||
<p>Importez vos fichiers ou dessinez directement vos parcelles sur la plateforme pour lancer l'analyse.</p>
|
||||
<h4>{% trans "Import ou dessin des parcelles" %}</h4>
|
||||
<p>{% trans "Importez vos fichiers ou dessinez directement vos parcelles sur la plateforme pour lancer l'analyse." %}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="step reveal">
|
||||
<div class="step-num">02</div>
|
||||
<div class="step-body">
|
||||
<h4>Acquisition satellite récente</h4>
|
||||
<p>KIRiQ AI récupère les données satellites les plus récentes disponibles sur chaque parcelle afin de suivre l'état de la végétation au plus près du temps réel.</p>
|
||||
<h4>{% trans "Acquisition satellite récente" %}</h4>
|
||||
<p>{% trans "KIRiQ AI récupère les données satellites les plus récentes disponibles afin de suivre l'état de la végétation au plus près du temps réel." %}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="step reveal">
|
||||
<div class="step-num">03</div>
|
||||
<div class="step-body">
|
||||
<h4>Analyse biophysique par IA</h4>
|
||||
<p>KIRiQ AI mesure les réponses biophysiques globales de la végétation — chlorophylle, biomasse, humidité, structure foliaire — pour détecter les anomalies visibles dans le signal.</p>
|
||||
<h4>{% trans "Analyse biophysique par IA" %}</h4>
|
||||
<p>{% trans "KIRiQ AI analyse les réponses biophysiques de la végétation — chlorophylle, biomasse, humidité et structure foliaire — afin de détecter les anomalies visibles dans le signal." %}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="step reveal">
|
||||
<div class="step-num">04</div>
|
||||
<div class="step-body">
|
||||
<h4>Rapport de lecture parcellaire</h4>
|
||||
<p>Les résultats sont restitués sous forme de cartes, indicateurs et zones prioritaires pour orienter la lecture agronomique, la vérification terrain et la décision.</p>
|
||||
<h4>{% trans "Lecture parcellaire & restitution" %}</h4>
|
||||
<p>{% trans "Les résultats sont restitués sous forme de cartes, indicateurs, niveaux de risque et zones prioritaires pour orienter la lecture agronomique, la vérification terrain et la décision." %}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="product-cta">
|
||||
<span class="product-eyebrow" style="margin-bottom:20px;">Prêt à commencer ?</span>
|
||||
<h2>Transformez votre vision des plantations</h2>
|
||||
<p>Rejoignez les industriels et coopératives qui pilotent déjà leurs exploitations avec KIRIQ AI.</p>
|
||||
<a href="{% url 'core:home' %}#contact" class="btn-cta-lg">
|
||||
<span class="material-icons-round">east</span> Demander une démo gratuite
|
||||
<!-- ══ PRICING ══ -->
|
||||
<section class="product-pricing">
|
||||
<div class="product-pricing-inner">
|
||||
<div class="section-header reveal">
|
||||
<span class="product-eyebrow" style="margin-bottom:16px;">{% trans "Tarification" %}</span>
|
||||
<h2>{% blocktrans %}Une tarification pensée pour<br>les <em>réalités de terrain.</em>{% endblocktrans %}</h2>
|
||||
</div>
|
||||
<div class="pricing-grid">
|
||||
|
||||
<div class="pricing-card reveal">
|
||||
<div class="pricing-icon"><span class="material-icons-round">satellite_alt</span></div>
|
||||
<div class="pricing-name">{% trans "Diagnostic satellite à la demande" %}</div>
|
||||
<div class="pricing-desc">{% trans "Diagnostics ponctuels pour plantations et portefeuilles agricoles." %}</div>
|
||||
<div class="pricing-divider"></div>
|
||||
<div class="pricing-price-xof">{% trans "À partir de 900 FCFA" %}</div>
|
||||
<div class="pricing-price-usd">≈ $1.5</div>
|
||||
<div class="pricing-unit">{% trans "par hectare" %}</div>
|
||||
<a href="https://kiriq.ai/" target="_blank" class="pricing-cta">
|
||||
<span class="material-icons-round" style="font-size:16px;">east</span> {% trans "Commencer" %}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="pricing-card reveal">
|
||||
<div class="pricing-icon"><span class="material-icons-round">timeline</span></div>
|
||||
<div class="pricing-name">{% trans "Monitoring de portefeuille" %}</div>
|
||||
<div class="pricing-desc">{% trans "Suivi récurrent pour agro-industriels, assureurs, institutions financières et programmes agricoles." %}</div>
|
||||
<div class="pricing-divider"></div>
|
||||
<div class="pricing-price-xof">{% trans "À partir de 11 000 FCFA" %}</div>
|
||||
<div class="pricing-price-usd">≈ $18</div>
|
||||
<div class="pricing-unit">{% trans "par ha / an" %}</div>
|
||||
<a href="{% url 'core:home' %}#contact" class="pricing-cta">
|
||||
<span class="material-icons-round" style="font-size:16px;">east</span> {% trans "Nous contacter" %}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="pricing-card reveal">
|
||||
<div class="pricing-icon"><span class="material-icons-round">shield</span></div>
|
||||
<div class="pricing-name">{% trans "Scoring de risque agricole" %}</div>
|
||||
<div class="pricing-desc">{% trans "Scoring utilisé pour l'assurance, le financement agricole et l'évaluation du risque portefeuille." %}</div>
|
||||
<div class="pricing-divider"></div>
|
||||
<div class="pricing-price-xof">{% trans "À partir de 24 000 FCFA" %}</div>
|
||||
<div class="pricing-price-usd">≈ $40</div>
|
||||
<div class="pricing-unit">{% trans "par score producteur" %}</div>
|
||||
<a href="{% url 'core:home' %}#contact" class="pricing-cta">
|
||||
<span class="material-icons-round" style="font-size:16px;">east</span> {% trans "Nous contacter" %}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="pricing-card enterprise reveal">
|
||||
<div class="pricing-icon"><span class="material-icons-round">rocket_launch</span></div>
|
||||
<div class="pricing-name">{% trans "Enterprise Intelligence" %}</div>
|
||||
<div class="pricing-desc">{% trans "Analyses avancées, intelligence portefeuille, API et intégrations métier personnalisées pour grands comptes." %}</div>
|
||||
<div class="pricing-divider"></div>
|
||||
<div class="pricing-custom-label">{% trans "Sur mesure" %}</div>
|
||||
<div class="pricing-unit" style="margin-top:6px;">{% trans "Devis personnalisé" %}</div>
|
||||
<a href="{% url 'core:home' %}#contact" class="pricing-cta">
|
||||
<span class="material-icons-round" style="font-size:16px;">east</span> {% trans "Parler à notre équipe" %}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- ══ CTA ══ -->
|
||||
<section class="product-cta">
|
||||
<span class="product-eyebrow" style="margin-bottom:20px;">{% trans "Prêt à commencer ?" %}</span>
|
||||
<h2>{% blocktrans %}Passez d'une agriculture réactive<br>à une agriculture pilotée par la donnée.{% endblocktrans %}</h2>
|
||||
<p>{% trans "Rejoignez les industriels et coopératives qui pilotent déjà leurs exploitations avec KIRiQ AI." %}</p>
|
||||
<div class="btn-row" style="justify-content:center;">
|
||||
<a href="https://kiriq.ai/" target="_blank" class="btn-cta-lg">
|
||||
<span class="material-icons-round">east</span> {% trans "Demander une démo" %}
|
||||
</a>
|
||||
<a href="{% url 'core:home' %}#contact" class="btn-outline-product">
|
||||
{% trans "Parler à notre équipe" %}
|
||||
</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
528
templates/core/products/monagro.html
Normal file
@@ -0,0 +1,528 @@
|
||||
{% extends "base.html" %}
|
||||
{% load static i18n %}
|
||||
|
||||
{% block title %}{% trans "Mon Agro — Intervention & opérations terrain agricoles | Jool International" %}{% endblock %}
|
||||
{% block title_plain %}{% trans "Mon Agro — Intervention & opérations terrain agricoles | Jool International" %}{% endblock %}
|
||||
|
||||
{% block meta_description %}{% trans "Mon Agro by JooL connecte les diagnostics KIRiQ AI à un réseau d'agronomes et techniciens pour exécuter les interventions terrain, accompagner les producteurs et assurer le suivi des parcelles à grande échelle." %}{% endblock %}
|
||||
|
||||
{% block og_title %}{% trans "Mon Agro — Transformez les recommandations en interventions terrain" %}{% endblock %}
|
||||
{% block og_description %}{% trans "Une force opérationnelle agricole : agronomes, techniciens et opérateurs terrain connectés aux diagnostics JooL pour intervenir au bon endroit, au bon moment." %}{% endblock %}
|
||||
{% block twitter_title %}{% trans "Mon Agro — Intervention & opérations terrain agricoles" %}{% endblock %}
|
||||
{% block twitter_description %}{% trans "Connectez intelligence agricole et exécution terrain. Agronomes, missions ciblées, suivi continu des parcelles." %}{% endblock %}
|
||||
|
||||
{% block schema_org %}
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "SoftwareApplication",
|
||||
"name": "Mon Agro",
|
||||
"applicationCategory": "AgricultureApplication",
|
||||
"operatingSystem": "Web, Android, iOS",
|
||||
"url": "https://jool-international.com/produits/monagro/",
|
||||
"description": "Plateforme d'intervention et d'opérations terrain agricoles : coordination d'agronomes, exécution des recommandations KIRiQ AI, suivi des parcelles et reporting opérationnel.",
|
||||
"offers": { "@type": "Offer", "priceCurrency": "XOF", "price": "25000" },
|
||||
"provider": {
|
||||
"@type": "Organization",
|
||||
"name": "Jool International",
|
||||
"url": "https://jool-international.com"
|
||||
}
|
||||
}
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
||||
{% block extra_css %}
|
||||
<style>
|
||||
/* ── Hero ──────────────────────────────────────── */
|
||||
.product-hero-green {
|
||||
background: #0b2e22;
|
||||
padding: 0 64px 0;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
.product-hero-green::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
background: radial-gradient(ellipse 80% 60% at 70% 40%, rgba(25,112,97,.35) 0%, transparent 70%),
|
||||
radial-gradient(ellipse 50% 80% at 10% 80%, rgba(25,112,97,.15) 0%, transparent 60%);
|
||||
pointer-events: none;
|
||||
}
|
||||
.product-hero-green-inner {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
gap: 72px;
|
||||
align-items: center;
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
padding: 0 0 72px;
|
||||
position: relative;
|
||||
}
|
||||
.product-hero-green h1 { font-family: var(--display); font-weight: 900; font-size: clamp(2.4rem, 4vw, 3.6rem); letter-spacing: -0.03em; color: var(--white); line-height: 1.05; margin-bottom: 20px; }
|
||||
.product-hero-green h1 em { font-style: normal; color: var(--accent); }
|
||||
.product-hero-green p { font-size: 17px; color: rgba(255,255,255,.65); line-height: 1.8; font-weight: 300; max-width: 460px; margin-bottom: 0; }
|
||||
.btn-back-product { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: rgba(255,255,255,.4); margin-bottom: 28px; transition: color .15s; text-decoration: none; }
|
||||
.btn-back-product:hover { color: var(--accent); }
|
||||
.hero-eyebrow {
|
||||
display: inline-flex; align-items: center; gap: 8px;
|
||||
font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
|
||||
color: var(--accent); background: rgba(231,111,81,.15);
|
||||
border: 1px solid rgba(231,111,81,.25);
|
||||
padding: 6px 16px; border-radius: 100px; margin-bottom: 24px;
|
||||
}
|
||||
.hero-eyebrow .material-icons-round { font-size: 13px; }
|
||||
.hero-btns { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 36px; }
|
||||
.hero-btn-primary {
|
||||
display: inline-flex; align-items: center; gap: 10px;
|
||||
font-family: var(--display); font-weight: 800; font-size: 15px;
|
||||
padding: 15px 32px; border-radius: 100px;
|
||||
background: var(--accent); color: var(--white);
|
||||
transition: filter .15s, transform .12s; text-decoration: none;
|
||||
}
|
||||
.hero-btn-primary:hover { filter: brightness(1.1); transform: translateY(-2px); }
|
||||
.hero-btn-ghost {
|
||||
display: inline-flex; align-items: center; gap: 8px;
|
||||
font-family: var(--display); font-weight: 700; font-size: 14px;
|
||||
padding: 14px 28px; border-radius: 100px;
|
||||
border: 1.5px solid rgba(255,255,255,.2); color: rgba(255,255,255,.75);
|
||||
transition: border-color .15s, color .15s, background .15s; text-decoration: none;
|
||||
}
|
||||
.hero-btn-ghost:hover { border-color: rgba(255,255,255,.5); color: var(--white); background: rgba(255,255,255,.06); }
|
||||
|
||||
/* ── Dashboard visual ──────────────────────────── */
|
||||
.agro-dashboard {
|
||||
background: rgba(255,255,255,.04);
|
||||
border: 1px solid rgba(255,255,255,.1);
|
||||
border-radius: 24px;
|
||||
overflow: hidden;
|
||||
box-shadow: 0 24px 64px rgba(0,0,0,.4);
|
||||
}
|
||||
.dash-topbar {
|
||||
display: flex; align-items: center; justify-content: space-between;
|
||||
padding: 16px 20px;
|
||||
background: rgba(255,255,255,.06);
|
||||
border-bottom: 1px solid rgba(255,255,255,.08);
|
||||
}
|
||||
.dash-title { font-family: var(--display); font-weight: 700; font-size: 13px; color: rgba(255,255,255,.8); }
|
||||
.dash-badge { font-size: 11px; font-weight: 700; background: rgba(25,112,97,.3); color: #4ade80; padding: 3px 10px; border-radius: 100px; }
|
||||
.dash-body { padding: 16px; display: flex; flex-direction: column; gap: 8px; }
|
||||
.dash-mission {
|
||||
display: flex; align-items: center; gap: 12px;
|
||||
padding: 12px 14px;
|
||||
background: rgba(255,255,255,.05);
|
||||
border: 1px solid rgba(255,255,255,.07);
|
||||
border-radius: 14px;
|
||||
transition: background .15s;
|
||||
}
|
||||
.dash-mission:hover { background: rgba(255,255,255,.09); }
|
||||
.dash-mission-icon {
|
||||
width: 36px; height: 36px; border-radius: 10px; flex-shrink: 0;
|
||||
display: flex; align-items: center; justify-content: center;
|
||||
}
|
||||
.dash-mission-icon .material-icons-round { font-size: 18px; }
|
||||
.dash-mission-info { flex: 1; min-width: 0; }
|
||||
.dash-mission-name { font-weight: 700; font-size: 13px; color: rgba(255,255,255,.9); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
|
||||
.dash-mission-sub { font-size: 11px; color: rgba(255,255,255,.45); margin-top: 2px; }
|
||||
.dash-status { font-size: 11px; font-weight: 700; padding: 3px 10px; border-radius: 100px; white-space: nowrap; flex-shrink: 0; }
|
||||
.dash-footer {
|
||||
display: flex; align-items: center; justify-content: space-between;
|
||||
padding: 14px 20px 18px;
|
||||
border-top: 1px solid rgba(255,255,255,.07);
|
||||
}
|
||||
.dash-kpi { text-align: center; }
|
||||
.dash-kpi-val { font-family: var(--display); font-weight: 900; font-size: 1.5rem; color: var(--white); letter-spacing: -.04em; }
|
||||
.dash-kpi-label { font-size: 11px; color: rgba(255,255,255,.4); margin-top: 2px; }
|
||||
.dash-sep { width: 1px; height: 36px; background: rgba(255,255,255,.1); }
|
||||
|
||||
/* ── Stats band ────────────────────────────────── */
|
||||
.ops-stats-band { background: var(--dark-bg); border-top: 1px solid rgba(255,255,255,.06); }
|
||||
.ops-stats-inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); }
|
||||
.ops-stat {
|
||||
padding: 40px 32px;
|
||||
display: flex; align-items: flex-start; gap: 20px;
|
||||
border-right: 1px solid rgba(255,255,255,.06);
|
||||
}
|
||||
.ops-stat:last-child { border-right: none; }
|
||||
.ops-stat-icon {
|
||||
width: 48px; height: 48px; border-radius: 14px;
|
||||
background: rgba(25,112,97,.15); flex-shrink: 0;
|
||||
display: flex; align-items: center; justify-content: center;
|
||||
}
|
||||
.ops-stat-icon .material-icons-round { color: var(--teal); font-size: 22px; }
|
||||
.ops-stat-val { font-family: var(--display); font-weight: 900; font-size: 2.2rem; color: var(--white); letter-spacing: -.04em; line-height: 1; }
|
||||
.ops-stat-label { font-size: 13px; color: rgba(255,255,255,.45); margin-top: 6px; line-height: 1.4; }
|
||||
|
||||
/* ── Features ──────────────────────────────────── */
|
||||
.product-features { padding: 88px 64px; background: var(--white); }
|
||||
.product-features-inner { max-width: 1200px; margin: 0 auto; }
|
||||
.section-header { text-align: center; margin-bottom: 56px; }
|
||||
.section-header h2 { font-family: var(--display); font-weight: 900; font-size: clamp(1.8rem,3vw,2.4rem); letter-spacing:-.03em; color: var(--black); margin-bottom: 12px; }
|
||||
.section-header h2 em { font-style: normal; color: var(--teal); }
|
||||
.section-header p { font-size: 16px; color: #666; font-weight: 300; max-width: 540px; margin: 0 auto; }
|
||||
.product-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; background: rgba(25,112,97,.12); color: var(--teal); padding: 5px 14px; border-radius: 100px; margin-bottom: 20px; }
|
||||
.features-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
|
||||
.feature-card { background: var(--gray-2); border-radius: 18px; padding: 28px; transition: transform .2s, box-shadow .2s; }
|
||||
.feature-card:hover { transform: translateY(-3px); box-shadow: 0 8px 28px rgba(25,112,97,.1); }
|
||||
.feature-card-icon { width: 48px; height: 48px; background: rgba(25,112,97,.12); border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
|
||||
.feature-card-icon .material-icons-round { color: var(--teal); font-size: 24px; }
|
||||
.feature-card h3 { font-family: var(--display); font-weight: 800; font-size: 1.05rem; color: var(--black); margin-bottom: 10px; }
|
||||
.feature-card p { font-size: 14px; color: #666; line-height: 1.65; font-weight: 300; }
|
||||
|
||||
/* ── How it works ──────────────────────────────── */
|
||||
.product-how { padding: 88px 64px; background: var(--dark-bg); }
|
||||
.product-how-inner { max-width: 860px; margin: 0 auto; }
|
||||
.product-how .section-header h2 { color: var(--white); }
|
||||
.product-how .section-header p { color: rgba(255,255,255,.55); }
|
||||
.steps { display: flex; flex-direction: column; }
|
||||
.step { display: grid; grid-template-columns: 56px 1fr; gap: 28px; align-items: flex-start; padding: 32px 0; border-bottom: 1px solid rgba(255,255,255,.07); }
|
||||
.step:last-child { border-bottom: none; }
|
||||
.step-num { font-family: var(--display); font-weight: 900; font-size: 1.8rem; color: var(--accent); line-height: 1; padding-top: 3px; }
|
||||
.step-body h4 { font-family: var(--display); font-weight: 700; font-size: 1.1rem; color: var(--white); margin-bottom: 8px; }
|
||||
.step-body p { font-size: 15px; color: rgba(255,255,255,.6); line-height: 1.7; font-weight: 300; }
|
||||
|
||||
/* ── Pricing ───────────────────────────────────── */
|
||||
.product-pricing { padding: 96px 64px; background: var(--gray-2); }
|
||||
.product-pricing-inner { max-width: 1200px; margin: 0 auto; }
|
||||
.pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 56px; }
|
||||
.pricing-grid-bottom { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-top: 20px; }
|
||||
.pricing-card { background: var(--white); border-radius: 24px; padding: 36px 28px; border: 1.5px solid var(--gray); display: flex; flex-direction: column; transition: border-color .2s, transform .2s, box-shadow .2s; }
|
||||
.pricing-card:hover { border-color: var(--teal); transform: translateY(-4px); box-shadow: 0 12px 36px rgba(25,112,97,.12); }
|
||||
.pricing-card.enterprise { background: var(--dark-bg); border-color: var(--teal); box-shadow: 0 8px 32px rgba(25,112,97,.18); }
|
||||
.pricing-icon { width: 48px; height: 48px; border-radius: 14px; background: var(--teal-pale); display: flex; align-items: center; justify-content: center; margin-bottom: 20px; }
|
||||
.pricing-card.enterprise .pricing-icon { background: rgba(255,255,255,.1); }
|
||||
.pricing-icon .material-icons-round { color: var(--teal); font-size: 24px; }
|
||||
.pricing-card.enterprise .pricing-icon .material-icons-round { color: var(--accent); }
|
||||
.pricing-name { font-family: var(--display); font-weight: 800; font-size: 1rem; color: var(--black); margin-bottom: 8px; line-height: 1.25; }
|
||||
.pricing-card.enterprise .pricing-name { color: var(--white); }
|
||||
.pricing-desc { font-size: 13px; color: #888; font-weight: 300; line-height: 1.55; margin-bottom: 28px; flex: 1; }
|
||||
.pricing-card.enterprise .pricing-desc { color: rgba(255,255,255,.5); }
|
||||
.pricing-divider { height: 1px; background: var(--gray); margin-bottom: 24px; }
|
||||
.pricing-card.enterprise .pricing-divider { background: rgba(255,255,255,.1); }
|
||||
.pricing-price-xof { font-family: var(--display); font-weight: 900; font-size: 1.4rem; color: var(--teal); letter-spacing: -.03em; line-height: 1; }
|
||||
.pricing-card.enterprise .pricing-price-xof { color: var(--accent); }
|
||||
.pricing-price-usd { font-size: 13px; color: #aaa; font-weight: 300; margin-top: 4px; margin-bottom: 4px; }
|
||||
.pricing-unit { font-size: 12px; color: #bbb; font-weight: 400; }
|
||||
.pricing-card.enterprise .pricing-unit { color: rgba(255,255,255,.35); }
|
||||
.pricing-custom-label { font-family: var(--display); font-weight: 900; font-size: 1.4rem; color: var(--teal); letter-spacing: -.03em; }
|
||||
.pricing-cta { margin-top: 28px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; padding: 13px 0; border-radius: 100px; font-family: var(--display); font-weight: 700; font-size: 14px; background: var(--teal-pale); color: var(--teal); transition: background .15s, color .15s; }
|
||||
.pricing-cta:hover { background: var(--teal); color: var(--white); }
|
||||
.pricing-card.enterprise .pricing-cta { background: var(--teal); color: var(--white); }
|
||||
.pricing-card.enterprise .pricing-cta:hover { filter: brightness(1.1); }
|
||||
|
||||
/* ── CTA ───────────────────────────────────────── */
|
||||
.product-cta { padding: 88px 64px; text-align: center; background: var(--teal-pale); }
|
||||
.product-cta h2 { font-family: var(--display); font-weight: 900; font-size: clamp(1.8rem, 3vw, 2.4rem); color: var(--black); letter-spacing: -0.03em; margin-bottom: 16px; }
|
||||
.product-cta p { font-size: 16px; color: #666; margin-bottom: 36px; font-weight: 300; max-width: 560px; margin-left: auto; margin-right: auto; }
|
||||
.btn-cta-lg { display: inline-flex; align-items: center; gap: 10px; font-family: var(--display); font-weight: 800; font-size: 16px; padding: 16px 36px; border-radius: 100px; background: var(--teal); color: var(--white); transition: filter .15s, transform .12s; text-decoration: none; }
|
||||
.btn-cta-lg:hover { filter: brightness(1.1); transform: translateY(-2px); }
|
||||
.btn-outline-product { display: inline-flex; align-items: center; gap: 8px; font-family: var(--body); font-weight: 600; font-size: 15px; padding: 14px 30px; border-radius: 100px; border: 1.5px solid var(--teal); color: var(--teal); transition: all .15s; margin-left: 14px; }
|
||||
.btn-outline-product:hover { background: var(--teal); color: var(--white); }
|
||||
|
||||
@media (max-width: 1024px) {
|
||||
.pricing-grid { grid-template-columns: repeat(2, 1fr); }
|
||||
.pricing-grid-bottom { grid-template-columns: 1fr; }
|
||||
.ops-stats-inner { grid-template-columns: 1fr; }
|
||||
.ops-stat { border-right: none; border-bottom: 1px solid rgba(255,255,255,.06); }
|
||||
.ops-stat:last-child { border-bottom: none; }
|
||||
}
|
||||
@media (max-width: 768px) {
|
||||
.product-hero-green-inner { grid-template-columns: 1fr; padding: 56px 0 48px; }
|
||||
.product-hero-green { padding: 0 24px; }
|
||||
.product-features, .product-how, .product-pricing, .product-cta { padding: 56px 24px; }
|
||||
.features-grid, .pricing-grid { grid-template-columns: 1fr; }
|
||||
.btn-outline-product { margin-left: 0; margin-top: 12px; }
|
||||
.ops-stats-inner { padding: 0 24px; }
|
||||
.ops-stat { padding: 28px 16px; }
|
||||
}
|
||||
</style>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<!-- ── Back ── -->
|
||||
<div style="background:#0b2e22;padding:24px 64px 0;">
|
||||
<a href="{% url 'core:home' %}" class="btn-back-product">
|
||||
<span class="material-icons-round" style="font-size:15px;">arrow_back</span> {% trans "Retour à l'accueil" %}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- ══ HERO ══ -->
|
||||
<section class="product-hero-green">
|
||||
<div class="product-hero-green-inner">
|
||||
|
||||
<div class="reveal visible">
|
||||
<div class="hero-eyebrow">
|
||||
<span class="material-icons-round">agriculture</span>
|
||||
{% trans "MON AGRO · INTERVENTION & OPÉRATIONS TERRAIN" %}
|
||||
</div>
|
||||
<h1>{% blocktrans %}Transformez les recommandations<br>en <em>interventions terrain.</em>{% endblocktrans %}</h1>
|
||||
<p>{% trans "Mon Agro by JooL connecte les diagnostics JooL à un réseau d'agronomes, techniciens et opérateurs terrain pour accompagner les producteurs, exécuter les interventions et assurer le suivi des parcelles avec précision." %}</p>
|
||||
<div class="hero-btns">
|
||||
<a href="{% url 'core:home' %}#contact" class="hero-btn-primary">
|
||||
<span class="material-icons-round">east</span> {% trans "Déployer Mon Agro" %}
|
||||
</a>
|
||||
<a href="{% url 'core:home' %}#contact" class="hero-btn-ghost">{% trans "Parler à notre équipe" %}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="reveal">
|
||||
<div class="agro-dashboard">
|
||||
<div class="dash-body">
|
||||
<div class="dash-mission">
|
||||
<div class="dash-mission-icon" style="background:rgba(231,111,81,.15);">
|
||||
<span class="material-icons-round" style="color:#f4a261;">warning_amber</span>
|
||||
</div>
|
||||
<div class="dash-mission-info">
|
||||
<div class="dash-mission-name">{% trans "Bloc Hévéa — Zone Sud" %}</div>
|
||||
<div class="dash-mission-sub">{% trans "Stress hydrique · Agronome assigné" %}</div>
|
||||
</div>
|
||||
<span class="dash-status" style="background:rgba(231,111,81,.15);color:#f4a261;">{% trans "Urgent" %}</span>
|
||||
</div>
|
||||
|
||||
<div class="dash-mission">
|
||||
<div class="dash-mission-icon" style="background:rgba(96,165,250,.15);">
|
||||
<span class="material-icons-round" style="color:#60a5fa;">flight</span>
|
||||
</div>
|
||||
<div class="dash-mission-info">
|
||||
<div class="dash-mission-name">{% trans "Pulvérisation drone — Ananas" %}</div>
|
||||
<div class="dash-mission-sub">{% trans "18 ha · Mission en cours" %}</div>
|
||||
</div>
|
||||
<span class="dash-status" style="background:rgba(96,165,250,.15);color:#60a5fa;">{% trans "En cours" %}</span>
|
||||
</div>
|
||||
|
||||
<div class="dash-mission">
|
||||
<div class="dash-mission-icon" style="background:rgba(74,222,128,.12);">
|
||||
<span class="material-icons-round" style="color:#4ade80;">check_circle</span>
|
||||
</div>
|
||||
<div class="dash-mission-info">
|
||||
<div class="dash-mission-name">{% trans "Traitement foliaire — Adjoua K." %}</div>
|
||||
<div class="dash-mission-sub">{% trans "4.2 ha traités · Rapport soumis" %}</div>
|
||||
</div>
|
||||
<span class="dash-status" style="background:rgba(74,222,128,.12);color:#4ade80;">{% trans "Terminé" %}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="dash-footer">
|
||||
<div class="dash-kpi">
|
||||
<div class="dash-kpi-val">250</div>
|
||||
<div class="dash-kpi-label">{% trans "Agronomes" %}</div>
|
||||
</div>
|
||||
<div class="dash-sep"></div>
|
||||
<div class="dash-kpi">
|
||||
<div class="dash-kpi-val">42</div>
|
||||
<div class="dash-kpi-label">{% trans "Missions / mois" %}</div>
|
||||
</div>
|
||||
<div class="dash-sep"></div>
|
||||
<div class="dash-kpi">
|
||||
<div class="dash-kpi-val">95%</div>
|
||||
<div class="dash-kpi-label">{% trans "Exécution" %}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- ── Stats band ── -->
|
||||
<div class="ops-stats-band">
|
||||
<div class="ops-stats-inner">
|
||||
<div class="ops-stat reveal">
|
||||
<div class="ops-stat-icon"><span class="material-icons-round">bolt</span></div>
|
||||
<div>
|
||||
<div class="ops-stat-val">48h</div>
|
||||
<div class="ops-stat-label">{% trans "Délai moyen d'intervention" %}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ops-stat reveal">
|
||||
<div class="ops-stat-icon"><span class="material-icons-round">task_alt</span></div>
|
||||
<div>
|
||||
<div class="ops-stat-val">95%</div>
|
||||
<div class="ops-stat-label">{% trans "Taux d'exécution des missions" %}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ops-stat reveal">
|
||||
<div class="ops-stat-icon"><span class="material-icons-round">place</span></div>
|
||||
<div>
|
||||
<div class="ops-stat-val">+12</div>
|
||||
<div class="ops-stat-label">{% trans "Zones agricoles couvertes" %}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ══ FEATURES ══ -->
|
||||
<section class="product-features">
|
||||
<div class="product-features-inner">
|
||||
<div class="section-header reveal">
|
||||
<span class="product-eyebrow" style="margin-bottom:16px;">{% trans "Ce que Mon Agro active sur le terrain" %}</span>
|
||||
<h2>{% blocktrans %}Une force opérationnelle pensée<br>pour <em>l'exécution agricole.</em>{% endblocktrans %}</h2>
|
||||
</div>
|
||||
<div class="features-grid">
|
||||
<div class="feature-card reveal">
|
||||
<div class="feature-card-icon"><span class="material-icons-round">track_changes</span></div>
|
||||
<h3>{% trans "Interventions ciblées" %}</h3>
|
||||
<p>{% trans "Déployez les bonnes actions au bon endroit grâce aux alertes, recommandations et niveaux de priorité générés par KIRiQ AI." %}</p>
|
||||
</div>
|
||||
<div class="feature-card reveal">
|
||||
<div class="feature-card-icon"><span class="material-icons-round">support_agent</span></div>
|
||||
<h3>{% trans "Accompagnement des producteurs" %}</h3>
|
||||
<p>{% trans "Suivez les producteurs avec des recommandations agronomiques, visites techniques et plans d'action adaptés aux réalités terrain." %}</p>
|
||||
</div>
|
||||
<div class="feature-card reveal">
|
||||
<div class="feature-card-icon"><span class="material-icons-round">manage_accounts</span></div>
|
||||
<h3>{% trans "Coordination des équipes terrain" %}</h3>
|
||||
<p>{% trans "Assignez les missions, suivez les interventions et pilotez vos opérations depuis une vision centralisée." %}</p>
|
||||
</div>
|
||||
<div class="feature-card reveal">
|
||||
<div class="feature-card-icon"><span class="material-icons-round">photo_camera</span></div>
|
||||
<h3>{% trans "Vérification & remontée terrain" %}</h3>
|
||||
<p>{% trans "Documentez les interventions avec photos, observations terrain et données géolocalisées directement synchronisées dans votre système." %}</p>
|
||||
</div>
|
||||
<div class="feature-card reveal">
|
||||
<div class="feature-card-icon"><span class="material-icons-round">timeline</span></div>
|
||||
<h3>{% trans "Suivi continu des parcelles" %}</h3>
|
||||
<p>{% trans "Suivez l'évolution des cultures dans le temps et mesurez l'impact réel des actions menées sur le terrain." %}</p>
|
||||
</div>
|
||||
<div class="feature-card reveal">
|
||||
<div class="feature-card-icon"><span class="material-icons-round">hub</span></div>
|
||||
<h3>{% trans "Déploiement à grande échelle" %}</h3>
|
||||
<p>{% trans "Activez un réseau d'agronomes et techniciens capable d'intervenir sur plusieurs zones agricoles simultanément." %}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- ══ HOW IT WORKS ══ -->
|
||||
<section class="product-how">
|
||||
<div class="product-how-inner">
|
||||
<div class="section-header reveal">
|
||||
<span class="product-eyebrow" style="margin-bottom:16px;background:rgba(255,255,255,.1);color:rgba(255,255,255,.7);">{% trans "Comment ça fonctionne" %}</span>
|
||||
<h2>{% blocktrans %}Comment Mon Agro <em style="color:var(--accent);font-style:normal;">fonctionne</em>{% endblocktrans %}</h2>
|
||||
<p>{% trans "De la recommandation à l'exécution terrain." %}</p>
|
||||
</div>
|
||||
<div class="steps">
|
||||
<div class="step reveal">
|
||||
<div class="step-num">01</div>
|
||||
<div class="step-body">
|
||||
<h4>{% trans "Détection & priorisation" %}</h4>
|
||||
<p>{% trans "Les anomalies, risques et zones prioritaires sont identifiés via KIRiQ AI et les outils JooL." %}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="step reveal">
|
||||
<div class="step-num">02</div>
|
||||
<div class="step-body">
|
||||
<h4>{% trans "Affectation des missions terrain" %}</h4>
|
||||
<p>{% trans "Les tâches et interventions sont assignées aux agronomes, techniciens ou opérateurs disponibles." %}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="step reveal">
|
||||
<div class="step-num">03</div>
|
||||
<div class="step-body">
|
||||
<h4>{% trans "Intervention & collecte terrain" %}</h4>
|
||||
<p>{% trans "Les équipes interviennent sur les parcelles, appliquent les recommandations et documentent les actions réalisées." %}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="step reveal">
|
||||
<div class="step-num">04</div>
|
||||
<div class="step-body">
|
||||
<h4>{% trans "Suivi & reporting opérationnel" %}</h4>
|
||||
<p>{% trans "Les données terrain remontent dans la plateforme afin de suivre l'avancement, mesurer les impacts et piloter les opérations." %}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- ══ PRICING ══ -->
|
||||
<section class="product-pricing">
|
||||
<div class="product-pricing-inner">
|
||||
<div class="section-header reveal">
|
||||
<span class="product-eyebrow" style="margin-bottom:16px;">{% trans "Tarification" %}</span>
|
||||
<h2>{% blocktrans %}Une tarification adaptée aux<br><em>opérations terrain.</em>{% endblocktrans %}</h2>
|
||||
</div>
|
||||
|
||||
<div class="pricing-grid">
|
||||
<div class="pricing-card reveal">
|
||||
<div class="pricing-icon"><span class="material-icons-round">agriculture</span></div>
|
||||
<div class="pricing-name">{% trans "Intervention agronomique ponctuelle" %}</div>
|
||||
<div class="pricing-desc">{% trans "Visites techniques, diagnostics terrain et accompagnement des producteurs." %}</div>
|
||||
<div class="pricing-divider"></div>
|
||||
<div class="pricing-price-xof">{% trans "À partir de 25 000 FCFA" %}</div>
|
||||
<div class="pricing-price-usd">≈ $42</div>
|
||||
<div class="pricing-unit">{% trans "par intervention" %}</div>
|
||||
<a href="{% url 'core:home' %}#contact" class="pricing-cta">
|
||||
<span class="material-icons-round" style="font-size:16px;">east</span> {% trans "Planifier" %}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="pricing-card reveal">
|
||||
<div class="pricing-icon"><span class="material-icons-round">flight</span></div>
|
||||
<div class="pricing-name">{% trans "Pulvérisation agricole par drone" %}</div>
|
||||
<div class="pricing-desc">{% trans "Pulvérisation de précision pour traitements phytosanitaires, nutritionnels et interventions ciblées sur grandes surfaces agricoles." %}</div>
|
||||
<div class="pricing-divider"></div>
|
||||
<div class="pricing-price-xof">{% trans "À partir de 10 000 FCFA" %}</div>
|
||||
<div class="pricing-price-usd">≈ $17</div>
|
||||
<div class="pricing-unit">{% trans "par hectare" %}</div>
|
||||
<a href="{% url 'core:home' %}#contact" class="pricing-cta">
|
||||
<span class="material-icons-round" style="font-size:16px;">east</span> {% trans "Planifier un vol" %}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="pricing-card reveal">
|
||||
<div class="pricing-icon"><span class="material-icons-round">repeat</span></div>
|
||||
<div class="pricing-name">{% trans "Suivi opérationnel récurrent" %}</div>
|
||||
<div class="pricing-desc">{% trans "Accompagnement terrain continu pour plantations, coopératives et programmes agricoles." %}</div>
|
||||
<div class="pricing-divider"></div>
|
||||
<div class="pricing-custom-label">{% trans "Sur devis" %}</div>
|
||||
<div class="pricing-unit" style="margin-top:6px;">{% trans "Selon fréquence & périmètre" %}</div>
|
||||
<a href="{% url 'core:home' %}#contact" class="pricing-cta">
|
||||
<span class="material-icons-round" style="font-size:16px;">east</span> {% trans "Nous contacter" %}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="pricing-grid-bottom">
|
||||
<div class="pricing-card reveal">
|
||||
<div class="pricing-icon"><span class="material-icons-round">hub</span></div>
|
||||
<div class="pricing-name">{% trans "Déploiement multi-sites" %}</div>
|
||||
<div class="pricing-desc">{% trans "Coordination d'équipes terrain et opérations agricoles à grande échelle." %}</div>
|
||||
<div class="pricing-divider"></div>
|
||||
<div class="pricing-custom-label">{% trans "Sur mesure" %}</div>
|
||||
<div class="pricing-unit" style="margin-top:6px;">{% trans "Tarification personnalisée" %}</div>
|
||||
<a href="{% url 'core:home' %}#contact" class="pricing-cta">
|
||||
<span class="material-icons-round" style="font-size:16px;">east</span> {% trans "Nous contacter" %}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="pricing-card enterprise reveal">
|
||||
<div class="pricing-icon"><span class="material-icons-round">bar_chart</span></div>
|
||||
<div class="pricing-name">{% trans "Reporting & supervision opérationnelle" %}</div>
|
||||
<div class="pricing-desc">{% trans "Suivi des interventions, tableaux de bord et reporting terrain centralisé." %}</div>
|
||||
<div class="pricing-divider"></div>
|
||||
<div class="pricing-custom-label" style="font-size:1.1rem;color:var(--accent);">{% trans "Options disponibles" %}</div>
|
||||
<div class="pricing-unit" style="margin-top:6px;">{% trans "Selon besoins projet" %}</div>
|
||||
<a href="{% url 'core:home' %}#contact" class="pricing-cta">
|
||||
<span class="material-icons-round" style="font-size:16px;">east</span> {% trans "Parler à notre équipe" %}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- ══ CTA ══ -->
|
||||
<section class="product-cta">
|
||||
<span class="product-eyebrow" style="margin-bottom:20px;">{% trans "Prêt à déployer ?" %}</span>
|
||||
<h2>{% blocktrans %}Connectez intelligence agricole<br>et exécution terrain.{% endblocktrans %}</h2>
|
||||
<p>{% trans "Des coopératives aux agro-industriels, Mon Agro structure et pilote vos opérations terrain à grande échelle." %}</p>
|
||||
<div class="btn-row" style="justify-content:center;">
|
||||
<a href="{% url 'core:home' %}#contact" class="btn-cta-lg">
|
||||
<span class="material-icons-round">east</span> {% trans "Déployer Mon Agro" %}
|
||||
</a>
|
||||
<a href="{% url 'core:home' %}#contact" class="btn-outline-product">
|
||||
{% trans "Parler à notre équipe" %}
|
||||
</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{% endblock %}
|
||||
@@ -1,15 +1,15 @@
|
||||
{% extends "base.html" %}
|
||||
{% load static %}
|
||||
{% load static i18n %}
|
||||
|
||||
{% block title %}Jool Monitor — Cartographie drone haute résolution | Jool International{% endblock %}
|
||||
{% block title_plain %}Jool Monitor — Cartographie drone haute résolution | Jool International{% endblock %}
|
||||
{% block title %}{% trans "Jool Monitor — Cartographie drone haute résolution | Jool International" %}{% endblock %}
|
||||
{% block title_plain %}{% trans "Jool Monitor — Cartographie drone haute résolution | Jool International" %}{% endblock %}
|
||||
|
||||
{% block meta_description %}Jool Monitor transforme l'imagerie drone en données terrain exploitables : orthomosaïques, comptage de plants, modèles 3D et contrôle visuel continu de vos parcelles agricoles en Afrique.{% endblock %}
|
||||
{% block meta_description %}{% trans "JooL Monitor transforme les vols drone en cartographies détaillées, mesures précises et rapports terrain pour analyser vos surfaces, compter les plants et suivre l'évolution de vos parcelles agricoles en Afrique." %}{% endblock %}
|
||||
|
||||
{% block og_title %}Jool Monitor — Cartographie drone haute résolution pour vos parcelles{% endblock %}
|
||||
{% block og_description %}Comptez, mesurez, cartographiez et contrôlez vos parcelles avec une précision nouvelle grâce à l'imagerie drone analysée par IA.{% endblock %}
|
||||
{% block twitter_title %}Jool Monitor — Cartographie drone haute résolution pour vos parcelles{% endblock %}
|
||||
{% block twitter_description %}Comptez, mesurez, cartographiez et contrôlez vos parcelles avec une précision nouvelle grâce à l'imagerie drone analysée par IA.{% endblock %}
|
||||
{% block og_title %}{% trans "Jool Monitor — Cartographie drone haute résolution pour vos parcelles" %}{% endblock %}
|
||||
{% block og_description %}{% trans "Comptez, mesurez, cartographiez et contrôlez vos parcelles avec une précision nouvelle grâce à l'imagerie drone analysée par IA." %}{% endblock %}
|
||||
{% block twitter_title %}{% trans "Jool Monitor — Cartographie drone haute résolution pour vos parcelles" %}{% endblock %}
|
||||
{% block twitter_description %}{% trans "Comptez, mesurez, cartographiez et contrôlez vos parcelles avec une précision nouvelle grâce à l'imagerie drone analysée par IA." %}{% endblock %}
|
||||
|
||||
{% block schema_org %}
|
||||
<script type="application/ld+json">
|
||||
@@ -19,7 +19,7 @@
|
||||
"name": "Jool Monitor",
|
||||
"applicationCategory": "AgricultureApplication",
|
||||
"operatingSystem": "Web",
|
||||
"url": "https://jool-international.com/monitor/",
|
||||
"url": "https://jool-international.com/produits/monitor/",
|
||||
"description": "Solution de cartographie drone pour l'agriculture : orthomosaïques, comptage intelligent, modèles 3D et suivi visuel continu des exploitations agricoles.",
|
||||
"offers": { "@type": "Offer", "priceCurrency": "XOF" },
|
||||
"provider": {
|
||||
@@ -33,147 +33,316 @@
|
||||
|
||||
{% block extra_css %}
|
||||
<style>
|
||||
/* ── Hero ──────────────────────────────────────── */
|
||||
.product-hero-dark { background: var(--dark-bg); padding: 80px 64px 64px; }
|
||||
.product-hero-dark-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; max-width: 1200px; margin: 0 auto; }
|
||||
.product-hero-dark h1 { font-family: var(--display); font-weight: 900; font-style: italic; font-size: clamp(2.4rem, 4vw, 3.6rem); letter-spacing: -0.03em; color: var(--white); line-height: 1.05; margin-bottom: 20px; }
|
||||
.product-hero-dark h1 { font-family: var(--display); font-weight: 900; font-size: clamp(2.4rem, 4vw, 3.6rem); letter-spacing: -0.03em; color: var(--white); line-height: 1.05; margin-bottom: 20px; }
|
||||
.product-hero-dark h1 em { font-style: normal; color: var(--accent); }
|
||||
.product-hero-dark p { font-size: 17px; color: rgba(255,255,255,.65); line-height: 1.75; font-weight: 300; max-width: 480px; margin-bottom: 32px; }
|
||||
.product-eyebrow-light { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; background: rgba(255,255,255,.12); color: rgba(255,255,255,.8); padding: 5px 14px; border-radius: 100px; margin-bottom: 20px; }
|
||||
.product-eyebrow-light .material-icons-round { font-size: 14px; }
|
||||
.product-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; background: rgba(25,112,97,.12); color: var(--teal); padding: 5px 14px; border-radius: 100px; margin-bottom: 20px; }
|
||||
.product-eyebrow .material-icons-round { font-size: 14px; }
|
||||
.features-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-top: 48px; }
|
||||
.feature-card { background: var(--gray-2); border-radius: 18px; padding: 28px; }
|
||||
.feature-card-icon { width: 48px; height: 48px; background: rgba(25,112,97,.12); border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
|
||||
.feature-card-icon .material-icons-round { color: var(--teal); font-size: 24px; }
|
||||
.feature-card h3 { font-family: var(--display); font-weight: 800; font-size: 1.1rem; color: var(--black); margin-bottom: 10px; }
|
||||
.feature-card p { font-size: 14px; color: #666; line-height: 1.6; font-weight: 300; }
|
||||
.product-features { padding: 80px 64px; background: var(--white); }
|
||||
.product-features-inner { max-width: 1200px; margin: 0 auto; }
|
||||
.product-how { padding: 80px 64px; background: var(--dark-bg); }
|
||||
.product-how-inner { max-width: 900px; margin: 0 auto; }
|
||||
.product-how h2 { font-family: var(--display); font-weight: 900; font-style: italic; font-size: clamp(1.8rem, 3vw, 2.6rem); color: var(--white); letter-spacing: -0.03em; margin-bottom: 48px; text-align: center; }
|
||||
.steps { display: flex; flex-direction: column; }
|
||||
.step { display: grid; grid-template-columns: 60px 1fr; gap: 24px; align-items: flex-start; padding: 28px 0; border-bottom: 1px solid rgba(255,255,255,.08); }
|
||||
.step:last-child { border-bottom: none; }
|
||||
.step-num { font-family: var(--display); font-weight: 900; font-size: 2rem; color: var(--accent); line-height: 1; }
|
||||
.step-body h4 { font-family: var(--display); font-weight: 700; font-size: 1.15rem; color: var(--white); margin-bottom: 8px; }
|
||||
.step-body p { font-size: 15px; color: rgba(255,255,255,.6); line-height: 1.65; font-weight: 300; }
|
||||
.product-cta { padding: 80px 64px; text-align: center; background: var(--teal-pale); }
|
||||
.product-cta h2 { font-family: var(--display); font-weight: 900; font-style: italic; font-size: clamp(1.8rem, 3vw, 2.4rem); color: var(--black); letter-spacing: -0.03em; margin-bottom: 16px; }
|
||||
.product-cta p { font-size: 16px; color: #666; margin-bottom: 32px; font-weight: 300; }
|
||||
.btn-cta-lg { display: inline-flex; align-items: center; gap: 10px; font-family: var(--display); font-weight: 800; font-size: 16px; padding: 16px 36px; border-radius: 100px; background: var(--teal); color: var(--white); transition: filter .15s, transform .12s; }
|
||||
.btn-cta-lg:hover { filter: brightness(1.1); transform: translateY(-2px); }
|
||||
.btn-back-product { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: rgba(255,255,255,.5); margin-bottom: 32px; transition: color .15s; }
|
||||
.btn-back-product:hover { color: var(--accent); }
|
||||
.drone-stat-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 56px; }
|
||||
|
||||
/* ── Stats strip ───────────────────────────────── */
|
||||
.drone-stat-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
|
||||
.drone-stat { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); border-radius: 16px; padding: 24px; text-align: center; }
|
||||
.drone-stat-val { font-family: var(--display); font-weight: 900; font-size: 2.2rem; color: var(--accent); letter-spacing: -.04em; }
|
||||
.drone-stat-label { font-size: 13px; color: rgba(255,255,255,.55); margin-top: 4px; }
|
||||
@media (max-width: 768px) { .product-hero-dark { padding: 48px 24px 40px; } .product-hero-dark-inner { grid-template-columns: 1fr; } .product-features, .product-how, .product-cta { padding: 56px 24px; } .features-grid, .drone-stat-row { grid-template-columns: 1fr; } }
|
||||
|
||||
/* ── Features ──────────────────────────────────── */
|
||||
.product-features { padding: 88px 64px; background: var(--white); }
|
||||
.product-features-inner { max-width: 1200px; margin: 0 auto; }
|
||||
.section-header { text-align: center; margin-bottom: 56px; }
|
||||
.section-header h2 { font-family: var(--display); font-weight: 900; font-size: clamp(1.8rem,3vw,2.4rem); letter-spacing:-.03em; color: var(--black); margin-bottom: 12px; }
|
||||
.section-header h2 em { font-style: normal; color: var(--teal); }
|
||||
.section-header p { font-size: 16px; color: #666; font-weight: 300; max-width: 540px; margin: 0 auto; }
|
||||
.product-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; background: rgba(25,112,97,.12); color: var(--teal); padding: 5px 14px; border-radius: 100px; margin-bottom: 20px; }
|
||||
.features-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
|
||||
.feature-card { background: var(--gray-2); border-radius: 18px; padding: 28px; transition: transform .2s, box-shadow .2s; }
|
||||
.feature-card:hover { transform: translateY(-3px); box-shadow: 0 8px 28px rgba(25,112,97,.1); }
|
||||
.feature-card-icon { width: 48px; height: 48px; background: rgba(25,112,97,.12); border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
|
||||
.feature-card-icon .material-icons-round { color: var(--teal); font-size: 24px; }
|
||||
.feature-card h3 { font-family: var(--display); font-weight: 800; font-size: 1.05rem; color: var(--black); margin-bottom: 10px; }
|
||||
.feature-card p { font-size: 14px; color: #666; line-height: 1.65; font-weight: 300; }
|
||||
|
||||
/* ── How it works ──────────────────────────────── */
|
||||
.product-how { padding: 88px 64px; background: var(--dark-bg); }
|
||||
.product-how-inner { max-width: 860px; margin: 0 auto; }
|
||||
.product-how .section-header h2 { color: var(--white); }
|
||||
.product-how .section-header p { color: rgba(255,255,255,.55); }
|
||||
.steps { display: flex; flex-direction: column; }
|
||||
.step { display: grid; grid-template-columns: 56px 1fr; gap: 28px; align-items: flex-start; padding: 32px 0; border-bottom: 1px solid rgba(255,255,255,.07); }
|
||||
.step:last-child { border-bottom: none; }
|
||||
.step-num { font-family: var(--display); font-weight: 900; font-size: 1.8rem; color: var(--accent); line-height: 1; padding-top: 3px; }
|
||||
.step-body h4 { font-family: var(--display); font-weight: 700; font-size: 1.1rem; color: var(--white); margin-bottom: 8px; }
|
||||
.step-body p { font-size: 15px; color: rgba(255,255,255,.6); line-height: 1.7; font-weight: 300; }
|
||||
|
||||
/* ── Pricing ───────────────────────────────────── */
|
||||
.product-pricing { padding: 96px 64px; background: var(--gray-2); }
|
||||
.product-pricing-inner { max-width: 1200px; margin: 0 auto; }
|
||||
.pricing-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 56px; }
|
||||
.pricing-card {
|
||||
background: var(--white); border-radius: 24px; padding: 36px 28px;
|
||||
border: 1.5px solid var(--gray); display: flex; flex-direction: column;
|
||||
transition: border-color .2s, transform .2s, box-shadow .2s;
|
||||
}
|
||||
.pricing-card:hover { border-color: var(--teal); transform: translateY(-4px); box-shadow: 0 12px 36px rgba(25,112,97,.12); }
|
||||
.pricing-card.enterprise { background: var(--dark-bg); border-color: var(--teal); box-shadow: 0 8px 32px rgba(25,112,97,.18); }
|
||||
.pricing-icon { width: 48px; height: 48px; border-radius: 14px; background: var(--teal-pale); display: flex; align-items: center; justify-content: center; margin-bottom: 20px; }
|
||||
.pricing-card.enterprise .pricing-icon { background: rgba(255,255,255,.1); }
|
||||
.pricing-icon .material-icons-round { color: var(--teal); font-size: 24px; }
|
||||
.pricing-card.enterprise .pricing-icon .material-icons-round { color: var(--accent); }
|
||||
.pricing-name { font-family: var(--display); font-weight: 800; font-size: 1rem; color: var(--black); margin-bottom: 8px; line-height: 1.25; }
|
||||
.pricing-card.enterprise .pricing-name { color: var(--white); }
|
||||
.pricing-desc { font-size: 13px; color: #888; font-weight: 300; line-height: 1.55; margin-bottom: 28px; flex: 1; }
|
||||
.pricing-card.enterprise .pricing-desc { color: rgba(255,255,255,.5); }
|
||||
.pricing-divider { height: 1px; background: var(--gray); margin-bottom: 24px; }
|
||||
.pricing-card.enterprise .pricing-divider { background: rgba(255,255,255,.1); }
|
||||
.pricing-price-xof { font-family: var(--display); font-weight: 900; font-size: 1.4rem; color: var(--teal); letter-spacing: -.03em; line-height: 1; }
|
||||
.pricing-card.enterprise .pricing-price-xof { color: var(--accent); }
|
||||
.pricing-price-usd { font-size: 13px; color: #aaa; font-weight: 300; margin-top: 4px; margin-bottom: 4px; }
|
||||
.pricing-unit { font-size: 12px; color: #bbb; font-weight: 400; }
|
||||
.pricing-card.enterprise .pricing-unit { color: rgba(255,255,255,.35); }
|
||||
.pricing-custom-label { font-family: var(--display); font-weight: 900; font-size: 1.4rem; color: var(--teal); letter-spacing: -.03em; }
|
||||
.pricing-cta {
|
||||
margin-top: 28px; display: inline-flex; align-items: center; justify-content: center;
|
||||
gap: 8px; width: 100%; padding: 13px 0; border-radius: 100px;
|
||||
font-family: var(--display); font-weight: 700; font-size: 14px;
|
||||
background: var(--teal-pale); color: var(--teal); transition: background .15s, color .15s;
|
||||
}
|
||||
.pricing-cta:hover { background: var(--teal); color: var(--white); }
|
||||
.pricing-card.enterprise .pricing-cta { background: var(--teal); color: var(--white); }
|
||||
.pricing-card.enterprise .pricing-cta:hover { filter: brightness(1.1); }
|
||||
|
||||
/* ── CTA ───────────────────────────────────────── */
|
||||
.product-cta { padding: 88px 64px; text-align: center; background: var(--teal-pale); }
|
||||
.product-cta h2 { font-family: var(--display); font-weight: 900; font-size: clamp(1.8rem, 3vw, 2.4rem); color: var(--black); letter-spacing: -0.03em; margin-bottom: 16px; }
|
||||
.product-cta p { font-size: 16px; color: #666; margin-bottom: 36px; font-weight: 300; max-width: 560px; margin-left: auto; margin-right: auto; }
|
||||
.btn-cta-lg { display: inline-flex; align-items: center; gap: 10px; font-family: var(--display); font-weight: 800; font-size: 16px; padding: 16px 36px; border-radius: 100px; background: var(--teal); color: var(--white); transition: filter .15s, transform .12s; }
|
||||
.btn-cta-lg:hover { filter: brightness(1.1); transform: translateY(-2px); }
|
||||
.btn-outline-product { display: inline-flex; align-items: center; gap: 8px; font-family: var(--body); font-weight: 600; font-size: 15px; padding: 14px 30px; border-radius: 100px; border: 1.5px solid var(--teal); color: var(--teal); transition: all .15s; margin-left: 14px; }
|
||||
.btn-outline-product:hover { background: var(--teal); color: var(--white); }
|
||||
|
||||
@media (max-width: 1024px) { .pricing-grid { grid-template-columns: repeat(2, 1fr); } }
|
||||
@media (max-width: 768px) {
|
||||
.product-hero-dark { padding: 48px 24px 40px; }
|
||||
.product-hero-dark-inner { grid-template-columns: 1fr; }
|
||||
.product-features, .product-how, .product-pricing, .product-cta { padding: 56px 24px; }
|
||||
.features-grid, .pricing-grid, .drone-stat-row { grid-template-columns: 1fr; }
|
||||
.btn-outline-product { margin-left: 0; margin-top: 12px; }
|
||||
}
|
||||
</style>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<section class="product-hero-dark">
|
||||
<div class="product-hero-dark-inner">
|
||||
<div class="reveal">
|
||||
|
||||
<!-- ── Back ── -->
|
||||
<div style="background:var(--dark-bg);padding:24px 64px 0;">
|
||||
<a href="{% url 'core:home' %}#monitor" class="btn-back-product">
|
||||
<span class="material-icons-round" style="font-size:16px;">arrow_back</span> Retour à l'accueil
|
||||
<span class="material-icons-round" style="font-size:16px;">arrow_back</span> {% trans "Retour à l'accueil" %}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- ══ HERO ══ -->
|
||||
<section class="product-hero-dark" style="padding-top:0;">
|
||||
<div class="product-hero-dark-inner">
|
||||
<div class="reveal visible">
|
||||
<span class="section-tag tag-white" style="margin-bottom:20px;display:inline-flex;">
|
||||
<span class="material-icons-round" style="font-size:13px;">flight</span>
|
||||
Cartographie haute résolution
|
||||
{% trans "JOOL MONITOR · DRONE & HAUTE RÉSOLUTION" %}
|
||||
</span>
|
||||
<h1>Voyez votre terrain avec <em>une précision</em> nouvelle.</h1>
|
||||
<p>JooL Monitor transforme l'imagerie drone en lecture terrain exploitable pour compter, mesurer, cartographier et contrôler vos parcelles avec un niveau de détail prêt à l'action.</p>
|
||||
|
||||
<h1>{% blocktrans %}Voyez votre terrain<br>en <em>haute résolution.</em>{% endblocktrans %}</h1>
|
||||
<p>{% trans "JooL Monitor transforme les vols drone en cartographies détaillées, mesures précises et rapports terrain pour analyser vos surfaces, compter les plants et suivre l'évolution de vos parcelles dans le temps." %}</p>
|
||||
<div class="btn-row" style="margin-top:32px;">
|
||||
<a href="https://jool-monitor.com/" class="btn-cta-lg" target="_blank">
|
||||
<span class="material-icons-round">east</span> Planifier un vol
|
||||
<span class="material-icons-round">east</span> {% trans "Planifier un vol" %}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="drone-svg-wrap reveal" style="padding:0;background:none;aspect-ratio:unset;">
|
||||
<img src="{% static 'img/JooL Monitor.jpg' %}" alt="JooL Monitor — cartographie drone"
|
||||
style="width:100%;height:auto;display:block;border-radius:24px;">
|
||||
{% trans "JooL Monitor — cartographie drone haute résolution" as alt_monitor %}
|
||||
<img src="{% static 'img/JooL Monitor.jpg' %}" alt="{{ alt_monitor }}"
|
||||
style="width:100%;height:auto;display:block;border-radius:24px;" loading="lazy" decoding="async">
|
||||
<div class="chip-float" style="top:14px;right:16px;animation-delay:.3s;">
|
||||
<span class="material-icons-round">place</span> Palmier bloc 4
|
||||
<span class="material-icons-round">place</span> {% trans "Palmier bloc 4" %}
|
||||
</div>
|
||||
<div class="chip-float" style="bottom:18px;left:14px;animation-delay:2.2s;">
|
||||
<span class="material-icons-round">report_problem</span> 3 anomalies détectées
|
||||
<span class="material-icons-round">report_problem</span> {% trans "3 anomalies détectées" %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- ── Stats ── -->
|
||||
<section style="background:var(--dark-bg);padding:0 64px 64px;">
|
||||
<div class="drone-stat-row" style="max-width:860px;margin:0 auto;">
|
||||
<div class="drone-stat reveal"><div class="drone-stat-val">2 cm</div><div class="drone-stat-label">Résolution GSD</div></div>
|
||||
<div class="drone-stat reveal"><div class="drone-stat-val">98%</div><div class="drone-stat-label">Précision comptage</div></div>
|
||||
<div class="drone-stat reveal"><div class="drone-stat-val">500 ha</div><div class="drone-stat-label">Par mission de vol</div></div>
|
||||
<div class="drone-stat reveal"><div class="drone-stat-val">2 cm</div><div class="drone-stat-label">{% trans "Résolution GSD" %}</div></div>
|
||||
<div class="drone-stat reveal"><div class="drone-stat-val">98%</div><div class="drone-stat-label">{% trans "Précision comptage" %}</div></div>
|
||||
<div class="drone-stat reveal"><div class="drone-stat-val">500 ha</div><div class="drone-stat-label">{% trans "Par mission de vol" %}</div></div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- ══ FEATURES ══ -->
|
||||
<section class="product-features">
|
||||
<div class="product-features-inner">
|
||||
<div style="text-align:center;">
|
||||
<span class="product-eyebrow">Fonctionnalités</span>
|
||||
<h2 style="font-family:var(--display);font-weight:900;font-style:italic;font-size:clamp(1.8rem,3vw,2.4rem);letter-spacing:-.03em;color:var(--black);">Tout ce que JooL Monitor active sur le terrain</h2>
|
||||
<div class="section-header reveal">
|
||||
<span class="product-eyebrow" style="margin-bottom:16px;">{% trans "Ce que JooL Monitor active sur le terrain" %}</span>
|
||||
<h2>{% blocktrans %}Une lecture terrain précise,<br><em>mesurable</em> et exploitable.{% endblocktrans %}</h2>
|
||||
</div>
|
||||
<div class="features-grid">
|
||||
<div class="feature-card reveal">
|
||||
<div class="feature-card-icon"><span class="material-icons-round">grain</span></div>
|
||||
<h3>Comptage intelligent</h3>
|
||||
<p>DDétectez, comptez et localisez automatiquement les plants pour visualiser les manquants, les densités et les écarts par parcelle.</p>
|
||||
<h3>{% trans "Comptage intelligent" %}</h3>
|
||||
<p>{% trans "Détectez, comptez et localisez automatiquement les plants afin de visualiser les manquants, les densités et les écarts parcelle par parcelle." %}</p>
|
||||
</div>
|
||||
<div class="feature-card reveal">
|
||||
<div class="feature-card-icon"><span class="material-icons-round">map</span></div>
|
||||
<h3>Orthomosaïque haute définition</h3>
|
||||
<p>Obtenez une lecture ultra-précise du terrain avec des cartes aériennes nettes, mesurables et directement exploitables.</p>
|
||||
<h3>{% trans "Orthomosaïque haute définition" %}</h3>
|
||||
<p>{% trans "Obtenez des cartes aériennes ultra-détaillées, nettes, mesurables et directement exploitables par vos équipes terrain." %}</p>
|
||||
</div>
|
||||
<div class="feature-card reveal">
|
||||
<div class="feature-card-icon"><span class="material-icons-round">view_in_ar</span></div>
|
||||
<h3>Modèles 3D terrain</h3>
|
||||
<p>Reconstituez le relief et la structure végétale pour mieux analyser hauteurs, volumes et dynamique des blocs.</p>
|
||||
<h3>{% trans "Modèles 3D terrain" %}</h3>
|
||||
<p>{% trans "Reconstituez le relief, les volumes et la structure végétale pour analyser plus finement vos blocs agricoles." %}</p>
|
||||
</div>
|
||||
<div class="feature-card reveal">
|
||||
<div class="feature-card-icon"><span class="material-icons-round">task_alt</span></div>
|
||||
<h3>Audit visuel de conformité</h3>
|
||||
<p>Comparez le terrain réel aux données déclarées, repérez les écarts et documentez les zones sensibles avec preuve visuelle.</p>
|
||||
<h3>{% trans "Audit visuel & conformité" %}</h3>
|
||||
<p>{% trans "Comparez le terrain réel aux données déclarées, identifiez les écarts et documentez les zones sensibles avec preuve visuelle." %}</p>
|
||||
</div>
|
||||
<div class="feature-card reveal">
|
||||
<div class="feature-card-icon"><span class="material-icons-round">history</span></div>
|
||||
<h3>Suivi dans le temps</h3>
|
||||
<p>Comparez plusieurs missions pour mesurer l’évolution des cultures, détecter les pertes et suivre les changements parcelle par parcelle.</p>
|
||||
<h3>{% trans "Suivi dans le temps" %}</h3>
|
||||
<p>{% trans "Comparez plusieurs missions drone afin de mesurer l'évolution des cultures, détecter les pertes et suivre les changements dans le temps." %}</p>
|
||||
</div>
|
||||
<div class="feature-card reveal">
|
||||
<div class="feature-card-icon"><span class="material-icons-round">download</span></div>
|
||||
<h3>Exports prêts à l’usage</h3>
|
||||
<p>Téléchargez vos livrables dans les formats attendus par vos équipes et vos outils SIG, sans friction.</p>
|
||||
<h3>{% trans "Exports prêts à l'usage" %}</h3>
|
||||
<p>{% trans "Téléchargez vos livrables dans des formats compatibles avec vos outils SIG, reporting et workflows opérationnels." %}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- ══ HOW IT WORKS ══ -->
|
||||
<section class="product-how">
|
||||
<div class="product-how-inner">
|
||||
<h2> Du vol au <em style="color:var(--accent);font-style:normal;">livrable</em></h2>
|
||||
<div class="section-header reveal">
|
||||
<span class="product-eyebrow" style="margin-bottom:16px;background:rgba(255,255,255,.1);color:rgba(255,255,255,.7);">{% trans "Comment ça fonctionne" %}</span>
|
||||
<h2>{% blocktrans %}Comment JooL Monitor <em style="color:var(--accent);font-style:normal;">fonctionne</em>{% endblocktrans %}</h2>
|
||||
<p>{% trans "Du vol drone au livrable terrain." %}</p>
|
||||
</div>
|
||||
<div class="steps">
|
||||
<div class="step reveal"><div class="step-num">01</div><div class="step-body"><h4>Mission cadrée</h4><p>Nous préparons chaque vol selon vos parcelles, vos objectifs et les conditions opérationnelles du terrain.</p></div></div>
|
||||
<div class="step reveal"><div class="step-num">02</div><div class="step-body"><h4>Capture terrain haute précision</h4><p>Le drone collecte une couverture complète de la zone pour garantir une lecture fiable et détaillée.</p></div></div>
|
||||
<div class="step reveal"><div class="step-num">03</div><div class="step-body"><h4>Traitement intelligent des données</h4><p>Les images sont assemblées, modélisées et transformées en livrables cartographiques directement exploitables.</p></div></div>
|
||||
<div class="step reveal"><div class="step-num">04</div><div class="step-body"><h4>Analyse & livraison rapide</h4><p>Vous recevez cartes, indicateurs et rapports prêts à être utilisés par vos équipes.</p></div></div>
|
||||
<div class="step reveal">
|
||||
<div class="step-num">01</div>
|
||||
<div class="step-body">
|
||||
<h4>{% trans "Préparation de mission" %}</h4>
|
||||
<p>{% trans "Chaque vol est préparé selon vos parcelles, vos objectifs opérationnels et les contraintes terrain." %}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="step reveal">
|
||||
<div class="step-num">02</div>
|
||||
<div class="step-body">
|
||||
<h4>{% trans "Acquisition haute précision" %}</h4>
|
||||
<p>{% trans "Le drone capture une couverture complète de la zone afin de garantir une lecture fiable, homogène et détaillée du terrain." %}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="step reveal">
|
||||
<div class="step-num">03</div>
|
||||
<div class="step-body">
|
||||
<h4>{% trans "Traitement intelligent des données" %}</h4>
|
||||
<p>{% trans "Les images sont assemblées, modélisées et transformées en livrables cartographiques directement exploitables." %}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="step reveal">
|
||||
<div class="step-num">04</div>
|
||||
<div class="step-body">
|
||||
<h4>{% trans "Analyse & livraison rapide" %}</h4>
|
||||
<p>{% trans "Vous recevez cartes, indicateurs et rapports prêts à être utilisés par vos équipes techniques et opérationnelles." %}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="product-cta">
|
||||
<span class="product-eyebrow" style="margin-bottom:20px;">Votre terrain vu du ciel</span>
|
||||
<h2>Prêt à cartographier<br>vos exploitations ?</h2>
|
||||
<p>Planifiez votre première mission de cartographie drone avec nos équipes.</p>
|
||||
<a href="{% url 'core:home' %}#contact" class="btn-cta-lg">
|
||||
<span class="material-icons-round">flight</span> Planifier un vol
|
||||
<!-- ══ PRICING ══ -->
|
||||
<section class="product-pricing">
|
||||
<div class="product-pricing-inner">
|
||||
<div class="section-header reveal">
|
||||
<span class="product-eyebrow" style="margin-bottom:16px;">{% trans "Tarification" %}</span>
|
||||
<h2>{% blocktrans %}Une tarification adaptée aux<br><em>opérations terrain.</em>{% endblocktrans %}</h2>
|
||||
</div>
|
||||
<div class="pricing-grid">
|
||||
|
||||
<!-- Plan 1 -->
|
||||
<div class="pricing-card reveal">
|
||||
<div class="pricing-icon"><span class="material-icons-round">flight</span></div>
|
||||
<div class="pricing-name">{% trans "Cartographie drone ponctuelle" %}</div>
|
||||
<div class="pricing-desc">{% trans "Vols drone et production de livrables cartographiques pour plantations, audits et missions terrain." %}</div>
|
||||
<div class="pricing-divider"></div>
|
||||
<div class="pricing-price-xof">{% trans "À partir de 10 000 FCFA" %}</div>
|
||||
<div class="pricing-price-usd">≈ $17</div>
|
||||
<div class="pricing-unit">{% trans "par hectare" %}</div>
|
||||
<a href="https://jool-monitor.com/" target="_blank" class="pricing-cta">
|
||||
<span class="material-icons-round" style="font-size:16px;">east</span> {% trans "Planifier un vol" %}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- Plan 2 -->
|
||||
<div class="pricing-card reveal">
|
||||
<div class="pricing-icon"><span class="material-icons-round">grain</span></div>
|
||||
<div class="pricing-name">{% trans "Comptage & analyse parcellaire" %}</div>
|
||||
<div class="pricing-desc">{% trans "Comptage intelligent, analyse de densité et détection des écarts sur parcelles agricoles." %}</div>
|
||||
<div class="pricing-divider"></div>
|
||||
<div class="pricing-custom-label" style="font-size:1.1rem;color:var(--teal);">{% trans "Sur devis" %}</div>
|
||||
<div class="pricing-unit" style="margin-top:6px;">{% trans "Selon surface & complexité" %}</div>
|
||||
<a href="{% url 'core:home' %}#contact" class="pricing-cta">
|
||||
<span class="material-icons-round" style="font-size:16px;">east</span> {% trans "Nous contacter" %}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- Plan 3 -->
|
||||
<div class="pricing-card reveal">
|
||||
<div class="pricing-icon"><span class="material-icons-round">business</span></div>
|
||||
<div class="pricing-name">{% trans "Missions multi-sites & industrielles" %}</div>
|
||||
<div class="pricing-desc">{% trans "Déploiements drone pour agro-industriels, institutions, infrastructures et grands portefeuilles agricoles." %}</div>
|
||||
<div class="pricing-divider"></div>
|
||||
<div class="pricing-custom-label" style="font-size:1.1rem;color:var(--teal);">{% trans "Sur mesure" %}</div>
|
||||
<div class="pricing-unit" style="margin-top:6px;">{% trans "Tarification personnalisée" %}</div>
|
||||
<a href="{% url 'core:home' %}#contact" class="pricing-cta">
|
||||
<span class="material-icons-round" style="font-size:16px;">east</span> {% trans "Nous contacter" %}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- Plan 4 — Enterprise -->
|
||||
<div class="pricing-card enterprise reveal">
|
||||
<div class="pricing-icon"><span class="material-icons-round">layers</span></div>
|
||||
<div class="pricing-name">{% trans "Export SIG & livrables avancés" %}</div>
|
||||
<div class="pricing-desc">{% trans "Orthomosaïques HD, modèles 3D, couches SIG et livrables compatibles métiers pour vos workflows." %}</div>
|
||||
<div class="pricing-divider"></div>
|
||||
<div class="pricing-custom-label">{% trans "Options disponibles" %}</div>
|
||||
<div class="pricing-unit" style="margin-top:6px;">{% trans "Selon besoins projet" %}</div>
|
||||
<a href="{% url 'core:home' %}#contact" class="pricing-cta">
|
||||
<span class="material-icons-round" style="font-size:16px;">east</span> {% trans "Parler à notre équipe" %}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- ══ CTA ══ -->
|
||||
<section class="product-cta">
|
||||
<span class="product-eyebrow" style="margin-bottom:20px;">{% trans "Prêt à commencer ?" %}</span>
|
||||
<h2>{% blocktrans %}Passez de l'observation terrain<br>à une lecture <em>mesurable</em> de vos parcelles.{% endblocktrans %}</h2>
|
||||
<p>{% trans "Planifiez votre première mission de cartographie drone avec nos équipes." %}</p>
|
||||
<div class="btn-row" style="justify-content:center;">
|
||||
<a href="https://jool-monitor.com/" target="_blank" class="btn-cta-lg">
|
||||
<span class="material-icons-round">flight</span> {% trans "Planifier un vol" %}
|
||||
</a>
|
||||
<a href="{% url 'core:home' %}#contact" class="btn-outline-product">
|
||||
{% trans "Parler à notre équipe" %}
|
||||
</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
@@ -3,30 +3,42 @@
|
||||
|
||||
<url>
|
||||
<loc>https://jool-international.com/</loc>
|
||||
<lastmod>2025-05-19</lastmod>
|
||||
<changefreq>weekly</changefreq>
|
||||
<priority>1.0</priority>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>https://jool-international.com/a-propos/</loc>
|
||||
<lastmod>2025-05-19</lastmod>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.8</priority>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>https://jool-international.com/kiriq/</loc>
|
||||
<loc>https://jool-international.com/produits/kiriq/</loc>
|
||||
<lastmod>2025-05-19</lastmod>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.9</priority>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>https://jool-international.com/monitor/</loc>
|
||||
<loc>https://jool-international.com/produits/monitor/</loc>
|
||||
<lastmod>2025-05-19</lastmod>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.9</priority>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>https://jool-international.com/joolid/</loc>
|
||||
<loc>https://jool-international.com/produits/joolid/</loc>
|
||||
<lastmod>2025-05-19</lastmod>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.9</priority>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>https://jool-international.com/produits/monagro/</loc>
|
||||
<lastmod>2025-05-19</lastmod>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.9</priority>
|
||||
</url>
|
||||
|
||||
366
trad.txt
Normal file
@@ -0,0 +1,366 @@
|
||||
Agriculture no longer has blind spots.
|
||||
JooL reveals what every hectare hides: risks, anomalies, potential, and critical decisions through AI, satellite intelligence, and drones.
|
||||
CTA: Request a demo →
|
||||
Badge: Diagnostics delivered in under 2 hours
|
||||
Cards
|
||||
KIRiQ AI — Risks detected, report available
|
||||
JooL Monitor — Drone map ready
|
||||
JooL ID — Farmer georeferenced
|
||||
Mon Agro — Agronomist available
|
||||
Agricultural identity · Satellite analytics · AI reports · Field operations
|
||||
|
||||
Slide 2
|
||||
KIRiQ AI · SATELLITE & AI
|
||||
Read the real condition of your fields.
|
||||
KIRiQ AI transforms satellite imagery into actionable agricultural intelligence to detect risks, monitor crop dynamics, estimate yield impact, and guide field decisions at scale.
|
||||
|
||||
Early anomaly detection
|
||||
Identify weak signals and detect areas under stress before losses become visible in the field.
|
||||
Risk scoring & yield estimation
|
||||
Measure anomaly severity, estimate yield impact, and prioritize the most critical interventions.
|
||||
Portfolio-scale risk monitoring
|
||||
Compare plots over time, monitor risk evolution, and manage decisions from individual blocks to entire agricultural portfolios.
|
||||
|
||||
Primary CTA
|
||||
Request a demo
|
||||
Secondary CTA
|
||||
Discover KIRiQ
|
||||
Visual labels
|
||||
4 anomalies detected
|
||||
Estimated yield impact
|
||||
AI report available
|
||||
|
||||
Slide 3
|
||||
JOOL MONITOR · DRONE & HIGH-RESOLUTION MAPPING
|
||||
See your land in high resolution.
|
||||
JooL Monitor transforms drone flights into detailed maps, precise measurements, and field-ready reports to analyze surfaces, count plants, and monitor plot evolution over time.
|
||||
|
||||
Advanced mapping
|
||||
Generate orthomosaics, 3D models, and precise boundaries to visualize your land with field-level detail.
|
||||
Smart counting & measurements
|
||||
Measure surfaces, distances, and densities, count trees, identify missing plants, and analyze distribution across each plot.
|
||||
Continuous visual monitoring
|
||||
Compare plot evolution over time, track meaningful deviations, and document the changes that matter.
|
||||
|
||||
Primary CTA
|
||||
Schedule a flight
|
||||
Secondary CTA
|
||||
Discover JooL Monitor
|
||||
|
||||
Slide 4
|
||||
JOOL ID · AGRICULTURAL IDENTITY
|
||||
Give every farmer and every plot a clear identity.
|
||||
JooL ID structures essential agricultural data — farmers, plots, crops, surfaces, cooperatives, and verification statuses — into a reliable, traceable, and scalable infrastructure.
|
||||
|
||||
Farmer identification
|
||||
Centralize farmer profiles with key information, verification statuses, and cooperative affiliations.
|
||||
Farm mapping
|
||||
Link each farmer to their plots, crops, surfaces, and geographic data to create a clear operational view.
|
||||
Agricultural program management
|
||||
Manage cooperatives, certifications, subsidies, audits, and agricultural projects through a structured and verifiable database.
|
||||
|
||||
Primary CTA
|
||||
Structure my agricultural database
|
||||
Secondary CTA
|
||||
Discover JooL ID
|
||||
Visual labels
|
||||
300,000 registered farmers
|
||||
610,000 hectares mapped
|
||||
|
||||
Slide 5
|
||||
MON AGRO · FIELD OPERATIONS & AGRONOMIC SUPPORT
|
||||
Turn recommendations into field execution.
|
||||
Mon Agro by JooL connects JooL diagnostics to a network of agronomists, technicians, and field operators to support farmers, execute interventions, and monitor plots with precision.
|
||||
|
||||
Targeted interventions
|
||||
Deploy the right actions in the right places using alerts, recommendations, and priority levels generated by KIRiQ AI.
|
||||
Farmer support
|
||||
Support producers through agronomic recommendations, field visits, and tailored action plans.
|
||||
Continuous operational monitoring
|
||||
Coordinate field teams, document interventions, and track plot evolution over time.
|
||||
|
||||
Primary CTA
|
||||
Deploy Mon Agro
|
||||
Secondary CTA
|
||||
Discover Mon Agro
|
||||
Visual labels
|
||||
Agronomist assigned
|
||||
Intervention scheduled
|
||||
Active field monitoring
|
||||
|
||||
Trusted agricultural intelligence infrastructure.
|
||||
From insurers and agro-industrials to cooperatives and public institutions, JooL helps agricultural stakeholders see better, decide faster, and act more effectively in the field.
|
||||
PALMCI · SAPH · PALMAFRIQUE · Tony’s Chocolonely · KORIGIN · CORIS Insurance · EMERGING VEOLIA SIM · FEPMACI · TRCI · CARRE D’OR · ARCHETYP · SHIMI · Municipality of Dioulatiédougou
|
||||
|
||||
ABOUT JOOL INTERNATIONAL
|
||||
Agricultural intelligence built for Africa.
|
||||
JooL builds an agricultural infrastructure connecting artificial intelligence, satellite imagery, drones, georeferenced data, and field operations to help agricultural stakeholders see better, decide better, and act better at scale.
|
||||
African agriculture still suffers from a massive field visibility gap. Millions of farms operate without reliable, updated, and actionable data, slowing interventions, risk management, and access to financing.
|
||||
|
||||
OUR VISION
|
||||
Building Africa’s trusted agricultural intelligence infrastructure.
|
||||
We aim to transform how African agriculture is monitored, scored, financed, and operated at scale.
|
||||
Our ambition is to make every hectare more visible, every risk more measurable, and every decision more precise through an infrastructure combining AI, satellite intelligence, field data, and agricultural operations.
|
||||
|
||||
OUR MISSION
|
||||
Turning fragmented agricultural reality into actionable intelligence.
|
||||
JooL connects AI, satellite imagery, drones, georeferenced data, and field operations to help insurers, agro-industrials, cooperatives, institutions, and farmers:
|
||||
detect risks earlier,
|
||||
prioritize interventions more effectively,
|
||||
measure field impact,
|
||||
structure agricultural data,
|
||||
and make faster, more reliable, scalable decisions.
|
||||
|
||||
OUR VALUES
|
||||
Technology built around field execution, clarity, and impact.
|
||||
Integrity
|
||||
Reliable and transparent systems built on verifiable data.
|
||||
Clarity
|
||||
Turning complex agricultural data into understandable and actionable decisions.
|
||||
Excellence
|
||||
High execution standards across technology, analytics, and field operations.
|
||||
Field execution
|
||||
Connecting intelligence to real-world interventions.
|
||||
Useful impact
|
||||
Building tools that concretely improve agricultural performance.
|
||||
Built for Africa
|
||||
Solutions designed for African agricultural realities and scale.
|
||||
|
||||
CEO MESSAGE
|
||||
African agriculture does not lack potential. It lacks visibility.
|
||||
For decades, agricultural decisions across Africa have been made with limited reliable data, low field visibility, and tools rarely adapted to operational realities.
|
||||
This lack of visibility comes at a massive cost: diseases detected too late, poorly prioritized interventions, mispriced risks, and capital deployed with too much uncertainty.
|
||||
At JooL, we decided to build an infrastructure designed to change that.
|
||||
By collecting local data and connecting artificial intelligence, satellite imagery, drones, georeferenced information, and field operations, we help agricultural stakeholders better understand their plots, detect risks earlier, and make more precise decisions.
|
||||
But our ambition goes beyond technology.
|
||||
We aim to help build an African agriculture that is more visible, measurable, financeable, and scalable.
|
||||
Because agriculture becomes stronger when it is better understood, we are committed at JooL to revealing the blind spots of African agriculture and transforming field data into actionable decisions.
|
||||
Joseph-Olivier BILEY
|
||||
Co-Founder & CEO, JooL International
|
||||
KIRiQ AI · SATELLITE & AI
|
||||
Read the real condition of your fields.
|
||||
KIRiQ AI transforms satellite imagery into actionable agricultural intelligence to detect risks, monitor crop dynamics, estimate yield impact, and guide field decisions at scale.
|
||||
|
||||
What KIRiQ AI unlocks for you
|
||||
Continuous field intelligence, built for decision-making.
|
||||
Advanced stress detection
|
||||
Detect water, nutrient, and vegetation stress earlier — before the impact becomes visible in the field.
|
||||
Better-targeted interventions
|
||||
Prioritize the plots that require immediate action and focus resources where field impact is most critical.
|
||||
Multi-plot visibility
|
||||
Compare agricultural blocks, track changes over time, and manage operations through a unified portfolio view.
|
||||
Yield forecasting
|
||||
Anticipate production potential plot by plot through continuous monitoring of vegetation dynamics.
|
||||
Instant agronomic reports
|
||||
Generate readable summaries for field teams, managers, cooperatives, insurers, and partners.
|
||||
API & workflow integrations
|
||||
Connect KIRiQ AI to your existing systems to streamline data flows and enrich operational workflows.
|
||||
|
||||
How KIRiQ AI works
|
||||
An intelligence pipeline designed for African agriculture.
|
||||
01 — Plot import or drawing
|
||||
Import your files or draw plots directly on the platform to launch the analysis.
|
||||
02 — Recent satellite acquisition
|
||||
KIRiQ AI retrieves the latest available satellite data to monitor vegetation conditions as close to real time as possible.
|
||||
03 — AI-powered biophysical analysis
|
||||
KIRiQ AI analyzes chlorophyll activity, biomass, humidity, and canopy structure to detect anomalies visible in the signal.
|
||||
04 — Field intelligence delivery
|
||||
Results are delivered as maps, indicators, risk levels, and priority zones to support agronomic analysis, field verification, and operational decisions.
|
||||
|
||||
Pricing
|
||||
Pricing designed for field realities.
|
||||
On-demand satellite diagnostics
|
||||
One-time diagnostics for plantations and agricultural portfolios.
|
||||
Starting at 900 FCFA / ha
|
||||
Starting at $1.5 / ha
|
||||
|
||||
Portfolio monitoring
|
||||
Recurring monitoring for agro-industrials, insurers, financial institutions, and agricultural programs.
|
||||
Starting at 11,000 FCFA / ha / year
|
||||
Starting at $18 / ha / year
|
||||
|
||||
Agricultural risk scoring
|
||||
Scoring infrastructure for insurance, agricultural financing, and portfolio risk assessment.
|
||||
Starting at 24,000 FCFA / farmer score
|
||||
Starting at $40 / farmer score
|
||||
|
||||
Enterprise Intelligence
|
||||
Advanced analytics, portfolio intelligence, APIs, and custom integrations for enterprise clients.
|
||||
Custom pricing
|
||||
|
||||
Move from reactive agriculture to data-driven operations.
|
||||
Primary CTA
|
||||
Request a demo
|
||||
Secondary CTA
|
||||
Talk to our team
|
||||
|
||||
JOOL MONITOR · DRONE & HIGH-RESOLUTION MAPPING
|
||||
See your land in high resolution.
|
||||
JooL Monitor transforms drone flights into detailed maps, precise measurements, and field-ready reports to analyze surfaces, count plants, detect anomalies, and monitor plot evolution over time.
|
||||
|
||||
What JooL Monitor unlocks on the ground
|
||||
Precise, measurable, and actionable field intelligence.
|
||||
Smart counting
|
||||
Automatically detect, count, and locate plants to visualize missing trees, densities, and irregularities plot by plot.
|
||||
High-definition orthomosaics
|
||||
Access ultra-detailed aerial maps that are measurable, accurate, and ready for operational use.
|
||||
3D terrain models
|
||||
Reconstruct terrain relief, canopy structure, and vegetation volumes for deeper agricultural analysis.
|
||||
Visual audit & compliance
|
||||
Compare real field conditions against declared data, identify discrepancies, and document sensitive areas with visual proof.
|
||||
Time-based monitoring
|
||||
Compare multiple drone missions to measure crop evolution, detect losses, and monitor changes over time.
|
||||
Ready-to-use exports
|
||||
Download deliverables in formats compatible with GIS systems, reporting workflows, and operational tools.
|
||||
|
||||
How JooL Monitor works
|
||||
From drone flight to operational deliverable.
|
||||
01 — Mission planning
|
||||
Each flight is prepared according to your plots, operational goals, and field constraints.
|
||||
02 — High-precision acquisition
|
||||
The drone captures full-area coverage to ensure reliable, consistent, and detailed field visibility.
|
||||
03 — Intelligent data processing
|
||||
Images are stitched, modeled, and transformed into operational cartographic deliverables.
|
||||
04 — Fast analysis & delivery
|
||||
Receive maps, indicators, and reports ready for operational and technical teams.
|
||||
|
||||
Pricing
|
||||
Pricing built for field operations.
|
||||
On-demand drone mapping
|
||||
Drone flights and cartographic deliverables for plantations, audits, and field missions.
|
||||
Starting at 10,000 FCFA / ha
|
||||
Starting at $17 / ha
|
||||
|
||||
Counting & plot analysis
|
||||
Smart counting, density analysis, and anomaly detection across agricultural plots.
|
||||
Pricing based on surface & complexity
|
||||
|
||||
Multi-site & industrial missions
|
||||
Drone deployments for agro-industrials, institutions, infrastructure projects, and large agricultural portfolios.
|
||||
Custom pricing
|
||||
|
||||
GIS exports & advanced deliverables
|
||||
HD orthomosaics, 3D models, GIS layers, and enterprise-ready outputs.
|
||||
Available depending on project needs
|
||||
|
||||
Move from field observation to measurable land intelligence.
|
||||
Primary CTA
|
||||
Schedule a flight
|
||||
Secondary CTA
|
||||
Talk to our team
|
||||
|
||||
JOOL ID · AGRICULTURAL IDENTITY
|
||||
Give every farmer and every plot a clear identity.
|
||||
JooL ID structures essential agricultural data — farmers, plots, crops, surfaces, cooperatives, and verification statuses — into a reliable, traceable, and scalable infrastructure.
|
||||
|
||||
What JooL ID unlocks for you
|
||||
A trusted agricultural database built for field operations.
|
||||
Reliable farmer profiles
|
||||
Centralize complete and verified farmer records for field operations, audits, agricultural programs, and partners.
|
||||
Readable plot intelligence
|
||||
Link each farmer to plots, crops, and surfaces through a clear and structured geographic view.
|
||||
Unified cooperative management
|
||||
Monitor members, certifications, programs, and operations through a centralized infrastructure designed for decision-making.
|
||||
Simplified compliance & traceability
|
||||
Prepare audits, certifications, and traceability requirements more efficiently through better-structured data.
|
||||
Mobile-first, offline-ready
|
||||
Collect field data without connectivity and automatically sync once network access is restored.
|
||||
APIs & enterprise integrations
|
||||
Connect JooL ID to ERP systems, operational tools, and existing workflows through an open architecture.
|
||||
|
||||
How JooL ID deploys
|
||||
From field collection to operational agricultural infrastructure.
|
||||
01 — Smart data import
|
||||
Import existing files and structure your JooL ID database without starting from scratch.
|
||||
02 — Field team onboarding
|
||||
Teams quickly adopt the platform through a simple and operational workflow.
|
||||
03 — Field collection & verification
|
||||
Farmer and plot data are collected, geolocated, and verified directly in the field.
|
||||
04 — Operational-ready infrastructure
|
||||
Within weeks, your organization gains access to a reliable and operational agricultural database ready for audits, reporting, and monitoring.
|
||||
|
||||
Pricing
|
||||
Pricing designed for agricultural structuring.
|
||||
Farmer georeferencing
|
||||
Farmer identification and agricultural plot mapping.
|
||||
Starting at 1,000 FCFA / farmer
|
||||
Starting at $1.7 / farmer
|
||||
|
||||
Agricultural database structuring
|
||||
Creation and organization of farmer, plot, and cooperative databases.
|
||||
Pricing based on scale & scope
|
||||
|
||||
Institutional deployments
|
||||
Deployments for cooperatives, agro-industrials, public institutions, and agricultural programs.
|
||||
Custom pricing
|
||||
|
||||
APIs & enterprise integrations
|
||||
Connections to financing systems, insurance tools, ERP systems, and operational software.
|
||||
Available depending on project needs
|
||||
|
||||
Turn fragmented data into operational agricultural infrastructure.
|
||||
Primary CTA
|
||||
Structure my agricultural database
|
||||
Secondary CTA
|
||||
Talk to our team
|
||||
|
||||
MON AGRO BY JOOL · FIELD OPERATIONS & AGRONOMIC SUPPORT
|
||||
Turn recommendations into field execution.
|
||||
Mon Agro by JooL connects JooL diagnostics to a network of agronomists, technicians, and field operators to support farmers, execute interventions, and monitor plots with precision.
|
||||
|
||||
What Mon Agro unlocks on the ground
|
||||
An operational force built for agricultural execution.
|
||||
Targeted interventions
|
||||
Deploy the right actions in the right places using alerts, recommendations, and priority levels generated by KIRiQ AI.
|
||||
Farmer support
|
||||
Support producers through agronomic recommendations, field visits, and operational action plans adapted to field realities.
|
||||
Field team coordination
|
||||
Assign missions, monitor interventions, and manage operations through a centralized operational view.
|
||||
Field verification & reporting
|
||||
Document interventions with photos, observations, and geolocated field data synchronized directly into your workflows.
|
||||
Continuous plot monitoring
|
||||
Track crop evolution over time and measure the real impact of field interventions.
|
||||
Large-scale deployment
|
||||
Activate a network of agronomists and technicians capable of operating across multiple agricultural regions simultaneously.
|
||||
|
||||
How Mon Agro works
|
||||
From recommendation to field execution.
|
||||
01 — Detection & prioritization
|
||||
Risks, anomalies, and priority zones are identified through KIRiQ AI and JooL intelligence tools.
|
||||
02 — Mission assignment
|
||||
Tasks and interventions are assigned to available agronomists, technicians, or field operators.
|
||||
03 — Field intervention & collection
|
||||
Teams intervene directly on plots, apply recommendations, and document completed actions.
|
||||
04 — Operational monitoring & reporting
|
||||
Field data flows back into the platform to monitor progress, measure impact, and coordinate operations.
|
||||
|
||||
Pricing
|
||||
Pricing designed for field operations.
|
||||
Agronomic intervention
|
||||
Field visits, agronomic diagnostics, and producer support.
|
||||
Starting at 25,000 FCFA / intervention
|
||||
Starting at $42 / intervention
|
||||
|
||||
Drone spraying operations
|
||||
Precision drone spraying for phytosanitary treatments, nutritional applications, and targeted agricultural interventions.
|
||||
Starting at 10,000 FCFA / ha
|
||||
Starting at $17 / ha
|
||||
|
||||
Recurring operational support
|
||||
Continuous field support for plantations, cooperatives, and agricultural programs.
|
||||
Pricing based on frequency & scope
|
||||
|
||||
Multi-site deployments
|
||||
Coordination of large-scale agricultural operations and field teams.
|
||||
Custom pricing
|
||||
|
||||
Operational reporting & supervision
|
||||
Intervention tracking, dashboards, and centralized operational reporting.
|
||||
Available depending on project needs
|
||||
|
||||
Connect agricultural intelligence to field execution.
|
||||
Primary CTA
|
||||
Deploy Mon Agro
|
||||
Secondary CTA
|
||||
Talk to our team
|
||||
|
||||