@import url(‘
https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@100;400;700;800&family=Space+Grotesk:wght@700;800&display=swap’);
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{–bg:#000;–fg:#fff;–accent:#FF2D00;–dim:#444;–border:2px solid #fff;–font-mono:’JetBrains Mono’,monospace;–font-display:’Space Grotesk’,sans-serif;}
#brick-site{background:var(–bg);color:var(–fg);font-family:var(–font-mono);overflow-x:hidden;}
#brick-site a{cursor:pointer;}
#brick-cursor{position:fixed;width:12px;height:12px;background:var(–fg);pointer-events:none;z-index:9999;transition:transform 0.08s ease;mix-blend-mode:difference;}
#brick-trail{position:fixed;width:32px;height:32px;border:1px solid rgba(255,255,255,0.4);pointer-events:none;z-index:9998;transition:all 0.15s ease;mix-blend-mode:difference;}
#brick-site::after{content:”;position:fixed;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(255,255,255,0.015) 2px,rgba(255,255,255,0.015) 4px);pointer-events:none;z-index:8888;}
.b-ticker{position:relative;background:var(–fg);color:var(–bg);font-size:11px;font-weight:700;letter-spacing:0.15em;overflow:hidden;height:28px;display:flex;align-items:center;}
.b-ticker-track{display:flex;animation:bticker 18s linear infinite;white-space:nowrap;}
.b-ticker-track span{padding:0 48px;}
@keyframes bticker{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.b-nav{position:relative;padding:16px 40px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(–dim);background:rgba(0,0,0,0.95);}
.b-nav-logo{font-family:var(–font-display);font-size:22px;font-weight:800;letter-spacing:-0.02em;text-decoration:none;color:var(–fg);}
.b-nav-logo span{color:var(–accent);}
.b-nav-links{display:flex;gap:32px;}
.b-nav-links a{font-size:11px;font-weight:400;letter-spacing:0.2em;text-transform:uppercase;text-decoration:none;color:var(–dim);transition:color 0.2s;}
.b-nav-links a:hover{color:var(–fg);}
#b-hero{min-height:100vh;padding:80px 40px;display:grid;grid-template-columns:1fr 1fr;gap:0;border-bottom:var(–border);}
.b-hero-left{border-right:1px solid var(–dim);padding-right:60px;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:60px;}
.b-eyebrow{font-size:11px;letter-spacing:0.3em;color:var(–accent);text-transform:uppercase;margin-bottom:24px;}
.b-eyebrow::before{content:’// ‘;color:var(–dim);}
.b-title{font-family:var(–font-display);font-size:clamp(64px,9vw,120px);font-weight:800;line-height:0.92;letter-spacing:-0.04em;}
.b-title .l2{display:block;color:transparent;-webkit-text-stroke:1.5px var(–fg);}
.b-title .l3{display:block;color:var(–accent);}
.b-hero-right{padding-left:60px;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:60px;}
.b-terminal{border:1px solid var(–dim);padding:24px;font-size:13px;line-height:1.8;}
.b-terminal .b-prompt{color:var(–accent);}
.b-terminal .b-out{color:#aaa;}
.b-blink{display:inline-block;width:8px;height:14px;background:var(–fg);vertical-align:middle;animation:bblink 1s step-end infinite;}
@keyframes bblink{0%,100%{opacity:1;}50%{opacity:0;}}
.b-glitch{position:relative;}
.b-glitch::before,.b-glitch::after{content:attr(data-text);position:absolute;inset:0;font-family:var(–font-display);font-size:inherit;font-weight:800;letter-spacing:inherit;line-height:inherit;}
.b-glitch::before{color:var(–accent);animation:bglitch 4s steps(1) infinite;animation-delay:0.5s;}
.b-glitch::after{color:rgba(255,255,255,0.3);animation:bglitch 4s steps(1) infinite;animation-delay:1s;}
@keyframes bglitch{0%,100%{clip-path:inset(0 0 100% 0);transform:translate(0);}10%{clip-path:inset(10% 0 60% 0);transform:translate(-3px,2px);}20%{clip-path:inset(60% 0 20% 0);transform:translate(3px,-2px);}30%{clip-path:inset(30% 0 50% 0);transform:translate(-2px,0);}40%{clip-path:inset(70% 0 10% 0);transform:translate(2px,2px);}50%{clip-path:inset(50% 0 30% 0);transform:translate(0,-2px);}}
.b-section{padding:100px 40px;border-bottom:var(–border);}
.b-sec-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:80px;}
.b-sec-num{font-size:11px;color:var(–dim);letter-spacing:0.2em;}
.b-sec-title{font-family:var(–font-display);font-size:clamp(36px,5vw,64px);font-weight:800;line-height:1;letter-spacing:-0.03em;}
.b-sec-tag{font-size:11px;letter-spacing:0.2em;color:var(–dim);text-transform:uppercase;align-self:flex-end;}
.b-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(–dim);}
.b-card{padding:48px 40px;border-right:1px solid var(–dim);position:relative;overflow:hidden;}
.b-card::before{content:”;position:absolute;inset:0;background:var(–fg);transform:translateY(100%);transition:transform 0.3s cubic-bezier(0.16,1,0.3,1);z-index:0;}
.b-card:hover::before{transform:translateY(0);}
.b-card:hover .b-card-icon,.b-card:hover .b-card-name,.b-card:hover .b-card-desc,.b-card:hover .b-card-tags span{color:var(–bg)!important;border-color:var(–bg)!important;}
.b-card>*{position:relative;z-index:1;}
.b-card:last-child{border-right:none;}
.b-card-icon{font-size:11px;letter-spacing:0.2em;color:var(–accent);text-transform:uppercase;margin-bottom:32px;display:block;transition:color 0.2s;}
.b-card-name{font-family:var(–font-display);font-size:28px;font-weight:800;letter-spacing:-0.02em;line-height:1.1;margin-bottom:20px;transition:color 0.2s;}
.b-card-desc{font-size:13px;line-height:1.8;color:#aaa;margin-bottom:32px;transition:color 0.2s;}
.b-card-tags{display:flex;flex-wrap:wrap;gap:8px;}
.b-card-tags span{font-size:10px;letter-spacing:0.15em;text-transform:uppercase;border:1px solid var(–dim);padding:4px 10px;transition:border-color 0.2s,color 0.2s;}
.b-stack-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(–dim);}
.b-stack-item{padding:32px;border-right:1px solid var(–dim);border-bottom:1px solid var(–dim);font-size:13px;transition:background 0.15s;}
.b-stack-item:hover{background:#111;}
.b-stack-item:nth-child(4n){border-right:none;}
.b-stack-name{font-weight:700;margin-bottom:6px;display:block;}
.b-stack-type{font-size:10px;color:var(–dim);letter-spacing:0.15em;text-transform:uppercase;}
#b-manifeste{background:var(–fg);color:var(–bg);}
#b-manifeste .b-sec-title{color:var(–bg);}
#b-manifeste .b-sec-num,#b-manifeste .b-sec-tag{color:#888;}
.b-manifeste-text{font-family:var(–font-display);font-size:clamp(28px,4vw,52px);font-weight:800;line-height:1.15;letter-spacing:-0.03em;max-width:900px;margin-bottom:60px;}
.b-manifeste-text em{font-style:normal;color:transparent;-webkit-text-stroke:1.5px var(–bg);}
.b-manifeste-items{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:2px solid var(–bg);}
.b-mitem{padding:32px 24px;border-right:1px solid #ccc;}
.b-mitem:last-child{border-right:none;}
.b-mitem-n{font-size:10px;letter-spacing:0.2em;color:#888;text-transform:uppercase;margin-bottom:16px;display:block;}
.b-mitem-text{font-size:14px;line-height:1.6;color:#222;}
.b-ia-intro{font-family:var(–font-display);font-size:clamp(20px,2.5vw,30px);font-weight:700;line-height:1.35;color:#aaa;max-width:820px;margin-bottom:80px;letter-spacing:-0.02em;}
.b-ia-intro strong{color:var(–fg);}
.b-ia-process{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(–dim);margin-bottom:60px;}
.b-ia-step{padding:40px 32px;border-right:1px solid var(–dim);}
.b-ia-step:last-child{border-right:none;}
.b-ia-step-n{font-size:56px;font-family:var(–font-display);font-weight:800;color:transparent;-webkit-text-stroke:1px var(–dim);line-height:1;display:block;margin-bottom:20px;}
.b-ia-step-title{font-size:14px;font-weight:700;letter-spacing:0.05em;margin-bottom:12px;display:block;color:var(–fg);}
.b-ia-step-desc{font-size:12px;line-height:1.8;color:#777;}
.b-ia-step-badge{display:inline-block;font-size:9px;letter-spacing:0.2em;text-transform:uppercase;border:1px solid var(–accent);color:var(–accent);padding:3px 8px;margin-top:16px;}
.b-ia-cases{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(–dim);}
.b-ia-case{padding:40px;border-right:1px solid var(–dim);border-bottom:1px solid var(–dim);display:grid;grid-template-columns:48px 1fr;gap:24px;align-items:start;transition:background 0.2s;}
.b-ia-case:hover{background:#0a0a0a;}
.b-ia-case:nth-child(2n){border-right:none;}
.b-ia-case:nth-child(5),.b-ia-case:nth-child(6){border-bottom:none;}
.b-ia-case-num{font-family:var(–font-display);font-size:13px;font-weight:800;color:var(–accent);padding-top:2px;}
.b-ia-case-name{font-size:15px;font-weight:700;margin-bottom:10px;display:block;letter-spacing:-0.01em;}
.b-ia-case-desc{font-size:12px;line-height:1.8;color:#777;}
.b-ia-case-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;}
.b-ia-case-tags span{font-size:9px;letter-spacing:0.15em;text-transform:uppercase;border:1px solid #333;color:#555;padding:3px 8px;}
.b-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(–dim);margin-top:60px;}
.b-contact-left{padding:60px;border-right:1px solid var(–dim);display:flex;flex-direction:column;gap:40px;}
.b-contact-label{font-size:10px;letter-spacing:0.3em;color:var(–dim);text-transform:uppercase;margin-bottom:8px;display:block;}
.b-contact-val{font-size:18px;font-weight:700;text-decoration:none;color:var(–fg);transition:color 0.2s;display:block;}
.b-contact-val:hover{color:var(–accent);}
.b-contact-right{padding:60px;display:flex;flex-direction:column;}
.b-contact-right p{font-size:13px;line-height:1.9;color:#aaa;max-width:380px;margin-bottom:40px;}
.b-btn{display:inline-flex;align-items:center;gap:12px;background:var(–fg);color:var(–bg);font-family:var(–font-mono);font-size:12px;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;padding:16px 32px;text-decoration:none;transition:background 0.2s,color 0.2s;width:fit-content;}
.b-btn::after{content:’ →’;}
.b-btn:hover{background:var(–accent);color:var(–fg);}
.b-footer{border-top:var(–border);padding:32px 40px;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(–dim);letter-spacing:0.15em;}
.b-footer-logo{font-family:var(–font-display);font-size:18px;font-weight:800;color:var(–fg);letter-spacing:-0.02em;}
.b-footer-logo span{color:var(–accent);}
.b-reveal{opacity:0;transform:translateY(20px);transition:opacity 0.6s ease,transform 0.6s ease;}
.b-reveal.b-visible{opacity:1;transform:translateY(0);}
@media(max-width:900px){
#b-hero{grid-template-columns:1fr;padding:60px 24px;}
.b-hero-left{border-right:none;border-bottom:1px solid var(–dim);padding-right:0;padding-bottom:40px;margin-bottom:40px;}
.b-hero-right{padding-left:0;}
.b-services-grid{grid-template-columns:1fr;}
.b-card{border-right:none;border-bottom:1px solid var(–dim);}
.b-stack-grid{grid-template-columns:repeat(2,1fr);}
.b-stack-item:nth-child(2n){border-right:none;}
.b-manifeste-items{grid-template-columns:repeat(2,1fr);}
.b-mitem:nth-child(2n){border-right:none;}
.b-ia-process{grid-template-columns:repeat(2,1fr);}
.b-ia-step:nth-child(2n){border-right:none;}
.b-ia-step:nth-child(1),.b-ia-step:nth-child(2){border-bottom:1px solid var(–dim);}
.b-ia-cases{grid-template-columns:1fr;}
.b-ia-case{border-right:none;}
.b-ia-case:nth-child(5){border-bottom:1px solid var(–dim);}
.b-contact-grid{grid-template-columns:1fr;}
.b-contact-left{border-right:none;border-bottom:1px solid var(–dim);padding:40px 32px;}
.b-contact-right{padding:40px 32px;}
.b-nav{padding:14px 24px;}
.b-nav-links{gap:16px;}
.b-section{padding:80px 24px;}
.b-footer{flex-direction:column;gap:16px;text-align:center;padding:24px;}
}
BRICK — SOLUTIONS MÉTIERS
✦ 85.67.51 — PIERRE@BRICK.NC
BRICK — SOLUTIONS MÉTIERS
✦ 85.67.51 — PIERRE@BRICK.NC
BRICK — SOLUTIONS MÉTIERS
✦ 85.67.51 — PIERRE@BRICK.NC
BRICK — SOLUTIONS MÉTIERS
✦ 85.67.51 — PIERRE@BRICK.NC
BRICK.NC
Solutions ERP — Nouvelle-Calédonie
BRICK
SOLUTIONS
MÉTIERS.
$ brick –client=”votre-société”
→ Analyse de vos besoins métiers…
→ Sélection des modules adaptés…
→ Déploiement ERP en Nouvelle-Calédonie…
$
[ ERP ]
Intégration
Dolibarr
Déploiement, configuration et modules custom pour votre gestion d’entreprise. CRM, facturation, stock, comptabilité — tout dans un seul outil.
PHPMySQLTakePOSTGC
[ ERP ]
Développement
Odoo
Modules OWL 2 sur mesure, automatisation des processus métiers, interfaces adaptées à vos workflows spécifiques.
PythonOWL 2v19+XML
[ API ]
Connecteurs
& Automatisation
Synchronisation Shopify, Meta, TikTok, GA4. Webhooks, Make, n8n. Votre ERP connecté à tout votre écosystème digital.
REST APIWebhooksMaken8n
Dolibarr V17–V22ERP principal
Odoo V19+ERP alternatif
PHP 8.x / PSR-12Backend
MySQL / MariaDBBase de données
TakePOSPoint de vente
Shopify APIE-commerce
Claude AIIA & Automation
Python / PEP8Scripting
Make / n8nAutomatisation
Nginx / VPSInfrastructure
OWL 2 / JSFrontend Odoo
TCPDF / FPDIPDF Templates
Un ERP ne se configure pas.
Il se construit — pour vous,
avec vos contraintes NC.
// 01 Contexte localXPF sans décimales, TGC 0/3/6/11/22%, RIDET, CAFAT. Vos obligations calédoniennes, nativement intégrées.
// 02 Code sur mesurePas de template générique. Chaque module est écrit pour votre métier, vos processus, votre équipe.
// 03 Open sourceDolibarr et Odoo sont libres. Vous possédez votre ERP, votre code, vos données. Aucun enfermement propriétaire.
// 04 Long termeMaintenance, migration, montée en version. On reste avec vous bien après la mise en production.
L’IA ne remplace pas votre ERP.
Elle l’amplifie — en automatisant ce qui est répétitif,
en analysant ce que vous n’avez plus le temps de lire.
01Audit des processusCartographie de vos flux métiers. Identification des tâches manuelles, répétitives ou à fort volume de données.
Diagnostic
02Sélection des gainsPriorisation par ROI : quels processus automatiser en premier pour un impact immédiat sur votre équipe.
Stratégie
03Intégration nativeL’IA est greffée directement dans votre ERP — pas un outil externe de plus, une couche invisible dans vos modules.
Développement
04Mesure & itérationSuivi des gains de temps, ajustements des prompts et workflows. L’IA s’améliore avec votre usage.
Long terme
→ 01OCR Factures FournisseursExtraction automatique des données de factures PDF par email. Claude AI identifie le fournisseur, les lignes, les taux TGC et crée la facture dans Dolibarr — zéro saisie manuelle.
Claude APIIMAPMAKEDolibarr
→ 02Reporting Analytics AutomatiséGénération mensuelle de rapports PDF/PPTX depuis Meta, TikTok et GA4. L’IA rédige les commentaires, identifie les tendances et prépare la présentation client.
Meta APIGA4PythonClaude AI
→ 03Devis par Dictée VocaleInterface SPA pour artisans : dictez votre devis à voix haute, l’IA structure les lignes, applique les taux TGC et génère le document Dolibarr en quelques secondes.
Claude AIWhisperDolibarr API
→ 04CRM Enrichi & Mail IntelligenceConnexion IMAP + IA sur vos fiches clients : historique email automatique, résumé des échanges, suggestions de relance et détection d’opportunités commerciales.
IMAPClaude APIDolibarr
→ 05Agents IA MétierAgents spécialisés pour votre secteur : rapprochement bancaire, contrôle de stock, détection d’anomalies comptables, génération de relances clients personnalisées.
Claude Coden8nDolibarr API
→ 06Synchronisation Multi-CanauxCentralisation Shopify + Dolibarr + marketplace : l’IA classe les commandes, gère les conflits de stock et notifie les équipes en temps réel via webhook.
Shopify APIWebhooksMAKEDolibarr
(function(){
var cur = document.getElementById(‘brick-cursor’);
var trail = document.getElementById(‘brick-trail’);
if(!cur) return;
var mx=0,my=0,tx=0,ty=0;
document.addEventListener(‘mousemove’,function(e){
mx=e.clientX; my=e.clientY;
cur.style.left=(mx-6)+’px’;
cur.style.top=(my-6)+’px’;
});
function anim(){
tx+=(mx-tx)*0.12; ty+=(my-ty)*0.12;
trail.style.left=(tx-16)+’px’;
trail.style.top=(ty-16)+’px’;
requestAnimationFrame(anim);
}
anim();
var reveals=document.querySelectorAll(‘.b-reveal’);
var obs=new IntersectionObserver(function(entries){
entries.forEach(function(e){ if(e.isIntersecting) e.target.classList.add(‘b-visible’); });
},{threshold:0.1});
reveals.forEach(function(r){ obs.observe(r); });
var lines=[‘Analyse de vos besoins métiers…’,’Sélection des modules adaptés…’,’Configuration TGC + XPF…’,’Déploiement ERP en Nouvelle-Calédonie…’,’Prêt. ✓’];
var term=document.getElementById(‘b-terminal’);
var idx=0;
function next(){
if(!term) return;
if(idx>=lines.length){
idx=0;
term.innerHTML=’
$ brick –client=”votre-société”
$
‘;
setTimeout(next,1200); return;
}
var div=document.createElement(‘div’);
div.style.color=’#aaa’; div.innerHTML=’→ ‘;
term.insertBefore(div,term.lastElementChild);
var i=0,line=lines[idx];
var iv=setInterval(function(){
div.innerHTML=’→ ‘+line.slice(0,++i);
if(i>=line.length){clearInterval(iv);idx++;setTimeout(next,600);}
},28);
}
setTimeout(next,1500);
})();