oui, on adore joomla
Il existe un CMS qui fait tourner des sites sérieux depuis 2005, gouverné par une fondation, soutenu par une communauté mondiale, et bâti sur une philosophie d'ouverture authentique.
Lire la suite →Des points de vue, ressources et réflexions concrètes pour simplifier le travail, mieux collaborer et remettre les outils numériques à leur juste place.
Page 1 sur 5À l'ère du numérique, notre façon de collaborer a été transformée par une multitude d'outils digitaux. Ce manifeste établit les principes fondamentaux pour créer un environnement de travail digital qui soit véritablement au service de l'humain, de la créativité et de l'efficacité collective.
Il existe un CMS qui fait tourner des sites sérieux depuis 2005, gouverné par une fondation, soutenu par une communauté mondiale, et bâti sur une philosophie d'ouverture authentique.
Lire la suite →Vous avez envoyé un devis il y a une semaine. Pas de réponse. Vous avez relancé. Toujours rien.La question : combien de fois peut-on relancer avant de devenir lourd ?
Lire la suite →La question qui fait transpirer tous les indépendants et petites entreprises : combien je facture ?Trop cher, je perds le client. Pas assez cher, je ne gagne pas ma vie.
Lire la suite →
:root {
--primary-color: #030213;
--secondary-color: #f3f3f5;
--muted-color: #717182;
--background-color: #ffffff;
--border-color: rgba(0, 0, 0, 0.1);
--oui-gradient-start: #e59550;
--oui-gradient-mid: #dd7049;
--oui-gradient-end: #d74d43;
--oui-gradient: linear-gradient(135deg, var(--oui-gradient-start), var(--oui-gradient-mid), var(--oui-gradient-end));
--oui-gradient-reverse: linear-gradient(135deg, var(--oui-gradient-end), var(--oui-gradient-mid), var(--oui-gradient-start));
--success-color: #10b981;
--blue-500: #3b82f6;
--purple-500: #8b5cf6;
--woo-purple: #7f54b3;
}
* { box-sizing: border-box; }
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
line-height: 1.6;
color: var(--primary-color);
background-color: var(--background-color);
overflow-x: hidden;
-webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6 { font-weight: 700; line-height: 1.2; }
a { color: var(--oui-gradient-mid); text-decoration: none; }
a:hover { color: var(--oui-gradient-end); }
/* Background grid */
.bg-grid {
background-image:
linear-gradient(to right, rgba(0,0,0,0.04) 1px, transparent 1px),
linear-gradient(to bottom, rgba(0,0,0,0.04) 1px, transparent 1px);
background-size: 24px 24px;
}
/* Animated blobs */
.blob {
border-radius: 50%; filter: blur(60px);
animation: blobFloat 20s ease-in-out infinite;
position: absolute; pointer-events: none;
}
.blob-1 {
width: 350px; height: 350px;
background: rgba(229, 149, 80, 0.08);
top: 4rem; left: 5%;
animation-delay: 0s;
}
.blob-2 {
width: 400px; height: 400px;
background: rgba(215, 77, 67, 0.06);
bottom: 4rem; right: 5%;
animation-delay: -10s;
}
.blob-3 {
width: 300px; height: 300px;
background: rgba(127, 84, 179, 0.05);
top: 50%; left: 50%; transform: translate(-50%, -50%);
animation-delay: -5s;
}
@keyframes blobFloat {
0%, 100% { transform: translate(0, 0) scale(1); }
33% { transform: translate(80px, -40px) scale(1.15); }
66% { transform: translate(-60px, 50px) scale(0.85); }
}
/* Gradient text */
.gradient-text {
background: var(--oui-gradient);
background-clip: text; -webkit-background-clip: text;
-webkit-text-fill-color: transparent;
display: inline-block; position: relative;
}
.gradient-text::after {
content: ''; position: absolute; inset: -4px;
background: linear-gradient(135deg, rgba(229,149,80,0.15), rgba(215,77,67,0.15));
filter: blur(20px); z-index: -1;
animation: glow 3s ease-in-out infinite alternate;
}
@keyframes glow {
from { opacity: 0.3; } to { opacity: 0.6; }
}
/* Hero */
.display-hero {
font-size: clamp(2.6rem, 5.5vw, 4.5rem);
font-weight: 800; line-height: 1.08; letter-spacing: -0.03em;
}
.lead-text { font-size: 1.15rem; color: var(--muted-color); line-height: 1.7; }
/* Sections */
.py-section { padding: 6rem 0; }
.py-section-lg { padding: 8rem 0; }
/* Badges */
.badge-custom {
display: inline-flex; align-items: center; gap: 0.5rem;
padding: 0.45rem 1.1rem; border-radius: 100px;
background: rgba(255,255,255,0.8); backdrop-filter: blur(10px);
border: 1px solid var(--border-color);
font-size: 0.78rem; font-weight: 500; color: var(--muted-color);
}
.badge-custom i { color: var(--oui-gradient-mid); }
/* Buttons */
.btn-gradient-primary {
background: var(--oui-gradient); border: none; color: #fff;
padding: 0.9rem 2.2rem; border-radius: 0.5rem;
font-weight: 600; font-size: 1rem;
transition: all 0.3s ease; position: relative; overflow: hidden;
box-shadow: 0 4px 20px rgba(229, 149, 80, 0.25);
}
.btn-gradient-primary:hover {
background: var(--oui-gradient-reverse); color: #fff;
transform: translateY(-2px);
box-shadow: 0 8px 30px rgba(229, 149, 80, 0.35);
}
.btn-outline-dark {
background: transparent; color: var(--primary-color);
border: 2px solid var(--border-color);
padding: 0.85rem 2.2rem; border-radius: 0.5rem;
font-weight: 600; font-size: 1rem; transition: all 0.3s ease;
}
.btn-outline-dark:hover {
border-color: var(--primary-color); background: rgba(3,2,19,0.03);
color: var(--primary-color);
}
/* Cards */
.card-custom {
background: rgba(255,255,255,0.7); backdrop-filter: blur(10px);
border: 1px solid var(--border-color); border-radius: 1rem;
padding: 2rem; transition: all 0.3s ease;
}
.card-custom:hover {
box-shadow: 0 16px 40px rgba(0,0,0,0.08);
transform: translateY(-4px);
}
.card-icon {
width: 52px; height: 52px; border-radius: 14px;
display: flex; align-items: center; justify-content: center;
font-size: 1.3rem; margin-bottom: 1.25rem;
}
.card-icon.orange { background: rgba(229,149,80,0.1); color: var(--oui-gradient-start); }
.card-icon.red { background: rgba(215,77,67,0.1); color: var(--oui-gradient-end); }
.card-icon.blue { background: rgba(59,130,246,0.08); color: var(--blue-500); }
.card-icon.purple { background: rgba(139,92,246,0.08); color: var(--purple-500); }
.card-icon.green { background: rgba(16,185,129,0.08); color: var(--success-color); }
.card-icon.woo { background: rgba(127,84,179,0.08); color: var(--woo-purple); }
/* Feature small items */
.feature-sm-icon {
width: 36px; height: 36px; border-radius: 10px;
display: inline-flex; align-items: center; justify-content: center;
flex-shrink: 0; font-size: 0.95rem;
background: rgba(229,149,80,0.06); color: var(--oui-gradient-mid);
}
/* Stat blocks */
.stat-value {
font-size: 3.2rem; font-weight: 800; line-height: 1;
background: var(--oui-gradient);
background-clip: text; -webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
/* Card value */
.card-value {
background: #fff; border-radius: 0.75rem; padding: 2rem;
border: 1px solid var(--border-color); transition: all 0.3s ease;
}
.card-value:hover {
box-shadow: 0 10px 25px rgba(0,0,0,0.08); transform: translateY(-2px);
}
/* Gift card mockup */
.giftcard-mockup {
background: var(--oui-gradient); border-radius: 1.25rem;
padding: 2rem 2.25rem; color: #fff; position: relative;
overflow: hidden; box-shadow: 0 30px 80px rgba(215,77,67,0.25);
max-width: 380px;
}
.giftcard-chip {
width: 46px; height: 34px; background: rgba(255,255,255,0.3);
border-radius: 6px; border: 1px solid rgba(255,255,255,0.4);
margin-bottom: 1.5rem;
}
.giftcard-amount { font-size: 2.4rem; font-weight: 800; letter-spacing: -0.02em; }
.giftcard-label { font-size: 0.75rem; opacity: 0.7; text-transform: uppercase; letter-spacing: 0.08em; }
.giftcard-code { font-family: 'SF Mono', 'Fira Code', monospace; font-size: 1rem; letter-spacing: 0.15em; opacity: 0.85; }
/* Dashboard mockup */
.dashboard-mockup {
background: #fff; border: 1px solid var(--border-color);
border-radius: 1rem; overflow: hidden;
box-shadow: 0 24px 80px rgba(0,0,0,0.09);
}
.dashboard-header {
background: var(--secondary-color); border-bottom: 1px solid var(--border-color);
padding: 0.85rem 1.25rem;
display: flex; align-items: center; gap: 0.5rem;
}
.dash-dot { width: 10px; height: 10px; border-radius: 50%; }
.dash-row {
display: flex; justify-content: space-between; align-items: center;
padding: 0.65rem 1.25rem; border-bottom: 1px solid rgba(0,0,0,0.04);
transition: background 0.2s;
}
.dash-row:hover { background: rgba(0,0,0,0.015); }
.dash-row:last-child { border-bottom: none; }
.dash-row.active {
background: rgba(229,149,80,0.05);
border-left: 3px solid var(--oui-gradient-mid);
}
/* Float badges */
.float-badge {
position: absolute; padding: 0.5rem 1rem; border-radius: 10px;
background: rgba(255,255,255,0.9); backdrop-filter: blur(12px);
border: 1px solid var(--border-color); font-size: 0.8rem;
color: var(--primary-color); white-space: nowrap;
box-shadow: 0 4px 16px rgba(0,0,0,0.06);
animation: floatBadge 6s ease-in-out infinite;
}
.float-badge.b1 { top: 10%; right: -8%; animation-delay: 0s; }
.float-badge.b2 { bottom: 18%; left: -6%; animation-delay: 2s; }
.float-badge.b3 { top: 54%; right: -12%; animation-delay: 4s; }
@keyframes floatBadge {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-8px); }
}
/* Section divider */
.section-divider {
height: 1px;
background: linear-gradient(90deg, transparent, var(--border-color), transparent);
margin: 0 auto; max-width: 80%;
}
/* Section subtle BGs */
.bg-subtle-1 {
background: linear-gradient(180deg, var(--background-color), rgba(243,243,245,0.4));
}
.bg-subtle-2 {
background: linear-gradient(135deg, rgba(3,2,19,0.02), rgba(243,243,245,0.3));
}
/* CTA section */
.cta-box {
background: var(--primary-color); border-radius: 1.5rem;
padding: 4.5rem 3rem; color: #fff; position: relative; overflow: hidden;
}
.cta-box .blob-1 { background: rgba(229,149,80,0.4); top: -80px; left: -80px; width: 300px; height: 300px; opacity: 0.3; filter: blur(80px); }
.cta-box .blob-2 { background: rgba(215,77,67,0.3); bottom: -80px; right: -80px; width: 350px; height: 350px; opacity: 0.3; filter: blur(80px); }
.cta-box h2, .cta-box p { position: relative; z-index: 1; }
.cta-box .gradient-text { -webkit-text-fill-color: transparent; }
/* Integration grid */
.integration-badge {
display: flex; align-items: center; gap: 0.75rem;
padding: 0.85rem 1.25rem; background: #fff;
border: 1px solid var(--border-color); border-radius: 0.75rem;
transition: all 0.25s ease;
}
.integration-badge:hover {
border-color: var(--oui-gradient-mid);
box-shadow: 0 6px 20px rgba(221,112,73,0.1); transform: translateY(-2px);
}
.integration-icon {
width: 38px; height: 38px; border-radius: 10px; flex-shrink: 0;
display: flex; align-items: center; justify-content: center; font-size: 1rem;
}
/* Lifecycle steps (reused for process steps) */
.lifecycle-step {
text-align: center; padding: 1.5rem 1rem;
background: #fff; border: 1px solid var(--border-color);
border-radius: 1rem; transition: all 0.3s ease; position: relative;
}
.lifecycle-step:hover {
box-shadow: 0 10px 24px rgba(0,0,0,0.07); transform: translateY(-3px);
}
.lifecycle-icon {
width: 56px; height: 56px; border-radius: 16px;
display: flex; align-items: center; justify-content: center;
font-size: 1.4rem; margin: 0 auto 1rem;
}
.lifecycle-icon.active { background: rgba(16,185,129,0.1); color: var(--success-color); }
.lifecycle-icon.trial { background: rgba(59,130,246,0.08); color: var(--blue-500); }
.lifecycle-icon.paused { background: rgba(229,149,80,0.1); color: var(--oui-gradient-start); }
.lifecycle-icon.canceled { background: rgba(215,77,67,0.1); color: var(--oui-gradient-end); }
.lifecycle-icon.overdue { background: rgba(127,84,179,0.08); color: var(--woo-purple); }
@media (max-width: 767px) { .lifecycle-connector { display: none; } }
/* Responsive */
@media (max-width: 991px) {
.py-section { padding: 4rem 0; }
.py-section-lg { padding: 5rem 0; }
.cta-box { padding: 3rem 2rem; }
}
@media (max-width: 767px) {
.py-section { padding: 3rem 0; }
.py-section-lg { padding: 4rem 0; }
.cta-box { padding: 2.5rem 1.5rem; }
.float-badge { display: none; }
.blob { width: 200px !important; height: 200px !important; filter: blur(40px); opacity: 0.5; }
}
On a besoin de vous !
Il existe de
nombreux moyens
de soutenir un projet.
Nous nous efforçons au travers des différents projets, open source, projets cloud, apps de faire vivre une autre réflexion sur les services digitaux. Suivez nous là où nous sommes, en favoris sur github si vous passez, ou juste passer dire bonjour.
Votre instance hub avec nous
Voir les fonctionnalités
On peut vous aider à simplifier vos outils, clarifier vos usages et construire un environnement numérique plus cohérent.