vendor: 4,894 bytes, lines 1-9
1(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))s(i);new MutationObserver(i=>{for(const r of i)if(r.type==="childList")for(const o of r.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&s(o)}).observe(document,{childList:!0,subtree:!0});function n(i){const r={};return i.integrity&&(r.integrity=i.integrity),i.referrerPolicy&&(r.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?r.credentials="include":i.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function s(i){if(i.ep)return;i.ep=!0;const r=n(i);fetch(i.href,r)}})();function qf(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Mm={exports:{}},Ji={},Lm={exports:{}},O={};/** 2 * @license React 3 * react.production.min.js 4 * 5 * Copyright (c) Facebook, Inc. and its affiliates. 6 * 7 * This source code is licensed under the MIT license found in the 8 * LICENSE file in the root directory of this source tree. 9 */var va=Symbol.for("react.element"),Ef=Symbol.for("react.portal"),Cf=Symbol.for("react.fragment"),jf=Symbol.for("react.strict_mode"),zf=Symbol.for("react.profiler"),Nf=Symbol.for("react.provider"),Pf=Symbol.for("react.context"),Tf=Symbol.for("react.forward_ref"),Mf=Symbol.for("react.suspense"),Lf=Symbol.for("react.memo"),Df=Symbol.for("react.lazy"),Xu=Symbol.iterator;function Of(e){return e===null||typeof e!="object"?null:(e=Xu&&e[Xu]||e["@@iterator"],typeof e=="function"?e:null)}var Dm={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Om=Object.assign,Rm={};function ps(e,t,n){this.props=e,this.context=t,this.refs=Rm,this.updater=n||Dm}ps.prototype.isReactComponent={};ps.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};ps.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Um(){}Um.prototype=ps.prototype;function zl(e,t,n){this.props=e,this.context=t,this.refs=Rm,this.updater=n||Dm}var Nl=zl.prototype=new Um;Nl.constructor=zl;Om(Nl,ps.prototype);Nl.isPureReactComponent=!0;var ec=Array.isArray,Gm=Object.prototype.hasOwnProperty,Pl={current:null},Fm={key:!0,ref:!0,__self:!0,__source:!0};function Vm(e,t,n){var s,i={},r=null,o=null;if(t!=null)for(s in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(r=""+t.key),t)Gm.call(t,s)&&!Fm.hasOwnProperty(s)&&(i[s]=t[s]);var l=arguments.length-2;if(l===1)i.children=n;else if(1<l){for(var u=Array(l),c=0;c<l;c++)u[c]=arguments[c+2];i.children=u}if(e&&e.defaultProps)for(s in l=e.defaultProps,l)i[s]===void 0&&(i[s]=l[s]);return{$$typeof:va,type:e,key:r,ref:o,props:i,_owner:Pl.current}}function Rf(e,t){return{$$typeof:va,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function Tl(e){return typeof e=="object"&&e!==null&&e.$$typeof===va}function Uf(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var tc=/\/+/g;function Sr(e,t){return typeof e=="object"&&e!==null&&e.key!=null?Uf(""+e.key):t.toString(36)}function ei(e,t,n,s,i){var r=typeof e;(r==="undefined"||r==="boolean")&&(e=null);var o=!1;if(e===null)o=!0;else switch(r){case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case va:case Ef:o=!0}}if(o)return o=e,i=i(o),e=s===""?"."+Sr(o,0):s,ec(i)?(n="",e!=null&&(n=e.replace(tc,"$&/")+"/"),ei(i,t,n,"",function(c){return c})):i!=null&&(Tl(i)&&(i=Rf(i,n+(!i.key||o&&o.key===i.key?"":(""+i.key).replace(tc,"$&/")+"/")+e)),t.push(i)),1;if(o=0,s=s===""?".":s+":",ec(e))for(var l=0;l<e.length;l++){r=e[l];var u=s+Sr(r,l);o+=ei(r,t,n,u,i)}else if(u=Of(e),typeof u=="function")for(e=u.call(e),l=0;!(r=e.next()).done;)r=r.value,u=s+Sr(r,l++),o+=ei(r,t,n,u,i);else if(r==="object")throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return o}function Ea(e,t,n){if(e==null)return e;var s=[],i=0;return ei(e,s,"","",function(r){return t.call(n,r,i++)}),s}function Gf(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var Ie={current:null},ti={transition:null},Ff={ReactCurrentDispatcher:Ie,ReactCurrentBatchConfig:ti,ReactCurrentOwner:Pl};function Bm(){throw Error("act(...) is not supported in production builds of React.")}
vendor: 4,110 bytes, lines 9-25
9O.Children={map:Ea,forEach:function(e,t,n){Ea(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return Ea(e,function(){t++}),t},toArray:function(e){return Ea(e,function(t){return t})||[]},only:function(e){if(!Tl(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};O.Component=ps;O.Fragment=Cf;O.Profiler=zf;O.PureComponent=zl;O.StrictMode=jf;O.Suspense=Mf;O.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Ff;O.act=Bm;O.cloneElement=function(e,t,n){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var s=Om({},e.props),i=e.key,r=e.ref,o=e._owner;if(t!=null){if(t.ref!==void 0&&(r=t.ref,o=Pl.current),t.key!==void 0&&(i=""+t.key),e.type&&e.type.defaultProps)var l=e.type.defaultProps;for(u in t)Gm.call(t,u)&&!Fm.hasOwnProperty(u)&&(s[u]=t[u]===void 0&&l!==void 0?l[u]:t[u])}var u=arguments.length-2;if(u===1)s.children=n;else if(1<u){l=Array(u);for(var c=0;c<u;c++)l[c]=arguments[c+2];s.children=l}return{$$typeof:va,type:e.type,key:i,ref:r,props:s,_owner:o}};O.createContext=function(e){return e={$$typeof:Pf,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:Nf,_context:e},e.Consumer=e};O.createElement=Vm;O.createFactory=function(e){var t=Vm.bind(null,e);return t.type=e,t};O.createRef=function(){return{current:null}};O.forwardRef=function(e){return{$$typeof:Tf,render:e}};O.isValidElement=Tl;O.lazy=function(e){return{$$typeof:Df,_payload:{_status:-1,_result:e},_init:Gf}};O.memo=function(e,t){return{$$typeof:Lf,type:e,compare:t===void 0?null:t}};O.startTransition=function(e){var t=ti.transition;ti.transition={};try{e()}finally{ti.transition=t}};O.unstable_act=Bm;O.useCallback=function(e,t){return Ie.current.useCallback(e,t)};O.useContext=function(e){return Ie.current.useContext(e)};O.useDebugValue=function(){};O.useDeferredValue=function(e){return Ie.current.useDeferredValue(e)};O.useEffect=function(e,t){return Ie.current.useEffect(e,t)};O.useId=function(){return Ie.current.useId()};O.useImperativeHandle=function(e,t,n){return Ie.current.useImperativeHandle(e,t,n)};O.useInsertionEffect=function(e,t){return Ie.current.useInsertionEffect(e,t)};O.useLayoutEffect=function(e,t){return Ie.current.useLayoutEffect(e,t)};O.useMemo=function(e,t){return Ie.current.useMemo(e,t)};O.useReducer=function(e,t,n){return Ie.current.useReducer(e,t,n)};O.useRef=function(e){return Ie.current.useRef(e)};O.useState=function(e){return Ie.current.useState(e)};O.useSyncExternalStore=function(e,t,n){return Ie.current.useSyncExternalStore(e,t,n)};O.useTransition=function(){return Ie.current.useTransition()};O.version="18.3.1";Lm.exports=O;var w=Lm.exports;const Ml=qf(w);/** 10 * @license React 11 * react-jsx-runtime.production.min.js 12 * 13 * Copyright (c) Facebook, Inc. and its affiliates. 14 * 15 * This source code is licensed under the MIT license found in the 16 * LICENSE file in the root directory of this source tree. 17 */var Vf=w,Bf=Symbol.for("react.element"),Hf=Symbol.for("react.fragment"),Wf=Object.prototype.hasOwnProperty,Kf=Vf.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,_f={key:!0,ref:!0,__self:!0,__source:!0};function Hm(e,t,n){var s,i={},r=null,o=null;n!==void 0&&(r=""+n),t.key!==void 0&&(r=""+t.key),t.ref!==void 0&&(o=t.ref);for(s in t)Wf.call(t,s)&&!_f.hasOwnProperty(s)&&(i[s]=t[s]);if(e&&e.defaultProps)for(s in t=e.defaultProps,t)i[s]===void 0&&(i[s]=t[s]);return{$$typeof:Bf,type:e,key:r,ref:o,props:i,_owner:Kf.current}}Ji.Fragment=Hf;Ji.jsx=Hm;Ji.jsxs=Hm;Mm.exports=Ji;var a=Mm.exports,xo={},Wm={exports:{}},Ue={},Km={exports:{}},_m={};/** 18 * @license React 19 * scheduler.production.min.js 20 * 21 * Copyright (c) Facebook, Inc. and its affiliates. 22 * 23 * This source code is licensed under the MIT license found in the 24 * LICENSE file in the root directory of this source tree. 25 */(function(e){function t(j,M){var D=j.length;j.push(M);e:for(;0<D;){var L=D-1>>>1,W=j[L];if(0<i(W,M))j[L]=M,j[D]=W,D=L;else break e}}function n(j){return j.length===0?null:j[0]}
vendor: 1,804 bytes, line 25
25function s(j){if(j.length===0)return null;var M=j[0],D=j.pop();if(D!==M){j[0]=D;e:for(var L=0,W=j.length,an=W>>>1;L<an;){var ot=2*(L+1)-1,Tn=j[ot],Pe=ot+1,rn=j[Pe];if(0>i(Tn,D))Pe<W&&0>i(rn,Tn)?(j[L]=rn,j[Pe]=D,L=Pe):(j[L]=Tn,j[ot]=D,L=ot);else if(Pe<W&&0>i(rn,D))j[L]=rn,j[Pe]=D,L=Pe;else break e}}return M}function i(j,M){var D=j.sortIndex-M.sortIndex;return D!==0?D:j.id-M.id}if(typeof performance=="object"&&typeof performance.now=="function"){var r=performance;e.unstable_now=function(){return r.now()}}else{var o=Date,l=o.now();e.unstable_now=function(){return o.now()-l}}var u=[],c=[],d=1,m=null,p=3,h=!1,v=!1,x=!1,I=typeof setTimeout=="function"?setTimeout:null,b=typeof clearTimeout=="function"?clearTimeout:null,g=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function f(j){for(var M=n(c);M!==null;){if(M.callback===null)s(c);else if(M.startTime<=j)s(c),M.sortIndex=M.expirationTime,t(u,M);else break;M=n(c)}}function y(j){if(x=!1,f(j),!v)if(n(u)!==null)v=!0,Z(S);else{var M=n(c);M!==null&&Fe(y,M.startTime-j)}}function S(j,M){v=!1,x&&(x=!1,b(k),k=-1),h=!0;var D=p;try{for(f(M),m=n(u);m!==null&&(!(m.expirationTime>M)||j&&!te());){var L=m.callback;if(typeof L=="function"){m.callback=null,p=m.priorityLevel;var W=L(m.expirationTime<=M);M=e.unstable_now(),typeof W=="function"?m.callback=W:m===n(u)&&s(u),f(M)}else s(u);m=n(u)}if(m!==null)var an=!0;else{var ot=n(c);ot!==null&&Fe(y,ot.startTime-M),an=!1}return an}finally{m=null,p=D,h=!1}}var C=!1,E=null,k=-1,N=5,P=-1;function te(){return!(e.unstable_now()-P<N)}function ce(){if(E!==null){var j=e.unstable_now();P=j;var M=!0;try{M=E(!0,j)}finally{M?ye():(C=!1,E=null)}}else C=!1}var ye;
vendor: 8,689 bytes, lines 25-34
25if(typeof g=="function")ye=function(){g(ce)};else if(typeof MessageChannel<"u"){var oe=new MessageChannel,zt=oe.port2;oe.port1.onmessage=ce,ye=function(){zt.postMessage(null)}}else ye=function(){I(ce,0)};function Z(j){E=j,C||(C=!0,ye())}function Fe(j,M){k=I(function(){j(e.unstable_now())},M)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(j){j.callback=null},e.unstable_continueExecution=function(){v||h||(v=!0,Z(S))},e.unstable_forceFrameRate=function(j){0>j||125<j?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):N=0<j?Math.floor(1e3/j):5},e.unstable_getCurrentPriorityLevel=function(){return p},e.unstable_getFirstCallbackNode=function(){return n(u)},e.unstable_next=function(j){switch(p){case 1:case 2:case 3:var M=3;break;default:M=p}var D=p;p=M;try{return j()}finally{p=D}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(j,M){switch(j){case 1:case 2:case 3:case 4:case 5:break;default:j=3}var D=p;p=j;try{return M()}finally{p=D}},e.unstable_scheduleCallback=function(j,M,D){var L=e.unstable_now();switch(typeof D=="object"&&D!==null?(D=D.delay,D=typeof D=="number"&&0<D?L+D:L):D=L,j){case 1:var W=-1;break;case 2:W=250;break;case 5:W=1073741823;break;case 4:W=1e4;break;default:W=5e3}return W=D+W,j={id:d++,callback:M,priorityLevel:j,startTime:D,expirationTime:W,sortIndex:-1},D>L?(j.sortIndex=D,t(c,j),n(u)===null&&j===n(c)&&(x?(b(k),k=-1):x=!0,Fe(y,D-L))):(j.sortIndex=W,t(u,j),v||h||(v=!0,Z(S))),j},e.unstable_shouldYield=te,e.unstable_wrapCallback=function(j){var M=p;return function(){var D=p;p=M;try{return j.apply(this,arguments)}finally{p=D}}}})(_m);Km.exports=_m;var Qf=Km.exports;/** 26 * @license React 27 * react-dom.production.min.js 28 * 29 * Copyright (c) Facebook, Inc. and its affiliates. 30 * 31 * This source code is licensed under the MIT license found in the 32 * LICENSE file in the root directory of this source tree. 33 */var $f=w,Oe=Qf;function q(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var Qm=new Set,$s={};function jn(e,t){as(e,t),as(e+"Capture",t)}function as(e,t){for($s[e]=t,e=0;e<t.length;e++)Qm.add(t[e])}var It=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),yo=Object.prototype.hasOwnProperty,Yf=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,nc={},sc={};function Jf(e){return yo.call(sc,e)?!0:yo.call(nc,e)?!1:Yf.test(e)?sc[e]=!0:(nc[e]=!0,!1)}function Zf(e,t,n,s){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return s?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Xf(e,t,n,s){if(t===null||typeof t>"u"||Zf(e,t,n,s))return!0;if(s)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function ke(e,t,n,s,i,r,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=s,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=r,this.removeEmptyString=o}var pe={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){pe[e]=new ke(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];pe[t]=new ke(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){pe[e]=new ke(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){pe[e]=new ke(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){pe[e]=new ke(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){pe[e]=new ke(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){pe[e]=new ke(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){pe[e]=new ke(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){pe[e]=new ke(e,5,!1,e.toLowerCase(),null,!1,!1)});var Ll=/[\-:]([a-z])/g;function Dl(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(Ll,Dl);pe[t]=new ke(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(Ll,Dl);pe[t]=new ke(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(Ll,Dl);pe[t]=new ke(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){pe[e]=new ke(e,1,!1,e.toLowerCase(),null,!1,!1)});pe.xlinkHref=new ke("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){pe[e]=new ke(e,1,!1,e.toLowerCase(),null,!0,!0)});function Ol(e,t,n,s){var i=pe.hasOwnProperty(t)?pe[t]:null;(i!==null?i.type!==0:s||!(2<t.length)||t[0]!=="o"&&t[0]!=="O"||t[1]!=="n"&&t[1]!=="N")&&(Xf(t,n,i,s)&&(n=null),s||i===null?Jf(t)&&(n===null?e.removeAttribute(t):e.setAttribute(t,""+n)):i.mustUseProperty?e[i.propertyName]=n===null?i.type===3?!1:"":n:(t=i.attributeName,s=i.attributeNamespace,n===null?e.removeAttribute(t):(i=i.type,n=i===3||i===4&&n===!0?"":""+n,s?e.setAttributeNS(s,t,n):e.setAttribute(t,n))))}var jt=$f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Ca=Symbol.for("react.element"),Dn=Symbol.for("react.portal"),On=Symbol.for("react.fragment"),Rl=Symbol.for("react.strict_mode"),Ao=Symbol.for("react.profiler"),$m=Symbol.for("react.provider"),Ym=Symbol.for("react.context"),Ul=Symbol.for("react.forward_ref"),wo=Symbol.for("react.suspense"),So=Symbol.for("react.suspense_list"),Gl=Symbol.for("react.memo"),Mt=Symbol.for("react.lazy"),Jm=Symbol.for("react.offscreen"),ac=Symbol.iterator;function fs(e){return e===null||typeof e!="object"?null:(e=ac&&e[ac]||e["@@iterator"],typeof e=="function"?e:null)}var Y=Object.assign,Ir;function zs(e){if(Ir===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);Ir=t&&t[1]||""}return` 34`+Ir+e}var kr=!1;function qr(e,t){if(!e||kr)return"";kr=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(t,[])}catch(c){var s=c}Reflect.construct(e,[],t)}else{try{t.call()}catch(c){s=c}e.call(t.prototype)}else{try{throw Error()}catch(c){s=c}e()}}
vendor: 4,296 bytes, lines 34-37
34catch(c){if(c&&s&&typeof c.stack=="string"){for(var i=c.stack.split(` 35`),r=s.stack.split(` 36`),o=i.length-1,l=r.length-1;1<=o&&0<=l&&i[o]!==r[l];)l--;for(;1<=o&&0<=l;o--,l--)if(i[o]!==r[l]){if(o!==1||l!==1)do if(o--,l--,0>l||i[o]!==r[l]){var u=` 37`+i[o].replace(" at new "," at ");return e.displayName&&u.includes("<anonymous>")&&(u=u.replace("<anonymous>",e.displayName)),u}while(1<=o&&0<=l);break}}}finally{kr=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?zs(e):""}function ev(e){switch(e.tag){case 5:return zs(e.type);case 16:return zs("Lazy");case 13:return zs("Suspense");case 19:return zs("SuspenseList");case 0:case 2:case 15:return e=qr(e.type,!1),e;case 11:return e=qr(e.type.render,!1),e;case 1:return e=qr(e.type,!0),e;default:return""}}function Io(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case On:return"Fragment";case Dn:return"Portal";case Ao:return"Profiler";case Rl:return"StrictMode";case wo:return"Suspense";case So:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Ym:return(e.displayName||"Context")+".Consumer";case $m:return(e._context.displayName||"Context")+".Provider";case Ul:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Gl:return t=e.displayName||null,t!==null?t:Io(e.type)||"Memo";case Mt:t=e._payload,e=e._init;try{return Io(e(t))}catch{}}return null}function tv(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Io(t);case 8:return t===Rl?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Yt(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Zm(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function nv(e){var t=Zm(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),s=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,r=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(o){s=""+o,r.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return s},setValue:function(o){s=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function ja(e){e._valueTracker||(e._valueTracker=nv(e))}function Xm(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),s="";return e&&(s=Zm(e)?e.checked?"true":"false":e.value),e=s,e!==n?(t.setValue(e),!0):!1}function fi(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function ko(e,t){var n=t.checked;return Y({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function ic(e,t){var n=t.defaultValue==null?"":t.defaultValue,s=t.checked!=null?t.checked:t.defaultChecked;n=Yt(t.value!=null?t.value:n),e._wrapperState={initialChecked:s,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function ep(e,t){t=t.checked,t!=null&&Ol(e,"checked",t,!1)}function qo(e,t){ep(e,t);var n=Yt(t.value),s=t.type;if(n!=null)s==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(s==="submit"||s==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Eo(e,t.type,n):t.hasOwnProperty("defaultValue")&&Eo(e,t.type,Yt(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}
vendor: 4,178 bytes, line 37
37function rc(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var s=t.type;if(!(s!=="submit"&&s!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function Eo(e,t,n){(t!=="number"||fi(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Ns=Array.isArray;function Zn(e,t,n,s){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t["$"+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty("$"+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&s&&(e[n].defaultSelected=!0)}else{for(n=""+Yt(n),t=null,i=0;i<e.length;i++){if(e[i].value===n){e[i].selected=!0,s&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function Co(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(q(91));return Y({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function oc(e,t){var n=t.value;if(n==null){if(n=t.children,t=t.defaultValue,n!=null){if(t!=null)throw Error(q(92));if(Ns(n)){if(1<n.length)throw Error(q(93));n=n[0]}t=n}t==null&&(t=""),n=t}e._wrapperState={initialValue:Yt(n)}}function tp(e,t){var n=Yt(t.value),s=Yt(t.defaultValue);n!=null&&(n=""+n,n!==e.value&&(e.value=n),t.defaultValue==null&&e.defaultValue!==n&&(e.defaultValue=n)),s!=null&&(e.defaultValue=""+s)}function lc(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function np(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function jo(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?np(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var za,sp=function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,n,s,i){MSApp.execUnsafeLocalFunction(function(){return e(t,n,s,i)})}:e}(function(e,t){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=t;else{for(za=za||document.createElement("div"),za.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=za.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Ys(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Ds={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},sv=["Webkit","ms","Moz","O"];Object.keys(Ds).forEach(function(e){sv.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Ds[t]=Ds[e]})});function ap(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Ds.hasOwnProperty(e)&&Ds[e]?(""+t).trim():t+"px"}function ip(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var s=n.indexOf("--")===0,i=ap(n,t[n],s);n==="float"&&(n="cssFloat"),s?e.setProperty(n,i):e[n]=i}}var av=Y({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function zo(e,t){if(t){if(av[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(q(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(q(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(q(61))}if(t.style!=null&&typeof t.style!="object")throw Error(q(62))}}function No(e,t){if(e.indexOf("-")===-1)return typeof t.is=="str
37ing";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Po=null;function Fl(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var To=null,Xn=null,es=null;function uc(e){if(e=ya(e)){if(typeof To!="function")throw Error(q(280));var t=e.stateNode;t&&(t=nr(t),To(e.stateNode,e.type,t))}}function rp(e){Xn?es?es.push(e):es=[e]:Xn=e}function op(){if(Xn){var e=Xn,t=es;if(es=Xn=null,uc(e),t)for(e=0;e<t.length;e++)uc(t[e])}}function lp(e,t){return e(t)}function up(){}var Er=!1;function cp(e,t,n){if(Er)return e(t,n);Er=!0;try{return lp(e,t,n)}finally{Er=!1,(Xn!==null||es!==null)&&(up(),op())}}function Js(e,t){var n=e.stateNode;if(n===null)return null;var s=nr(n);if(s===null)return null;n=s[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(s=!s.disabled)||(e=e.type,s=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!s;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(q(231,t,typeof n));return n}var Mo=!1;if(It)try{var vs={};Object.defineProperty(vs,"passive",{get:function(){Mo=!0}}),window.addEventListener("test",vs,vs),window.removeEventListener("test",vs,vs)}catch{Mo=!1}function iv(e,t,n,s,i,r,o,l,u){var c=Array.prototype.slice.call(arguments,3);try{t.apply(n,c)}catch(d){this.onError(d)}}var Os=!1,vi=null,bi=!1,Lo=null,rv={onError:function(e){Os=!0,vi=e}};function ov(e,t,n,s,i,r,o,l,u){Os=!1,vi=null,iv.apply(rv,arguments)}function lv(e,t,n,s,i,r,o,l,u){if(ov.apply(this,arguments),Os){if(Os){var c=vi;Os=!1,vi=null}else throw Error(q(198));bi||(bi=!0,Lo=c)}}function zn(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function dp(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function cc(e){if(zn(e)!==e)throw Error(q(188))}function uv(e){var t=e.alternate;if(!t){if(t=zn(e),t===null)throw Error(q(188));return t!==e?null:e}for(var n=e,s=t;;){var i=n.return;if(i===null)break;var r=i.alternate;if(r===null){if(s=i.return,s!==null){n=s;continue}break}if(i.child===r.child){for(r=i.child;r;){if(r===n)return cc(i),e;if(r===s)return cc(i),t;r=r.sibling}throw Error(q(188))}if(n.return!==s.return)n=i,s=r;else{for(var o=!1,l=i.child;l;){if(l===n){o=!0,n=i,s=r;break}if(l===s){o=!0,s=i,n=r;break}l=l.sibling}if(!o){for(l=r.child;l;){if(l===n){o=!0,n=r,s=i;break}if(l===s){o=!0,s=r,n=i;break}l=l.sibling}if(!o)throw Error(q(189))}}if(n.alternate!==s)throw Error(q(190))}if(n.tag!==3)throw Error(q(188));return n.stateNode.current===n?e:t}function mp(e){return e=uv(e),e!==null?pp(e):null}function pp(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=pp(e);if(t!==null)return t;e=e.sibling}return null}var hp=Oe.unstable_scheduleCallback,dc=Oe.unstable_cancelCallback,cv=Oe.unstable_shouldYield,dv=Oe.unstable_requestPaint,X=Oe.unstable_now,mv=Oe.unstable_getCurrentPriorityLevel,Vl=Oe.unstable_ImmediatePriority,gp=Oe.unstable_UserBlockingPriority,xi=Oe.unstable_NormalPriority,pv=Oe.unstable_LowPriority,fp=Oe.unstable_IdlePriority,Zi=null,mt=null;function hv(e){if(mt&&typeof mt.onCommitFiberRoot=="function")try{mt.onCommitFiberRoot(Zi,e,void 0,(e.current.flags&128)===128)}catch{}}var at=Math.clz32?Math.clz32:vv,gv=Math.log,fv=Math.LN2;function vv(e){return e>>>=0,e===0?32:31-(gv(e)/fv|0)|0}var Na=64,Pa=4194304;function Ps(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function yi(e,t){var n=e.pendingLanes;if(n===0)return 0;var s=0,i=e.suspendedLanes,r=e.pingedLanes,o=n&268435455;if(o!==0){var l=o&~i;l!==0?s=Ps(l):(r&=o,r!==0&&(s=Ps(r)))}else o=n&~i,o!==0?s=Ps(o):r!==0&&(s=Ps(r));if(s===0)return 0;if(t!==0&&t!==s&&!(t&i)&&(i=s&-s,r=t&-t,i>=r||i===16&&(r&4194240)!==0))return t;if(s&4&&(s|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=s;0<t;)n=31-at(t),i=1<<n,s|=e[n],t&=~i;return s}function bv(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function xv(e,t){for(var n=e.suspendedLanes,s=e.pingedLanes,i=e.expirationTimes,r=e.pendingLanes;0<r;){var o=31-at(r),l=1<<o,u=i[o];u===-1?(!(l&n)||l&s)&&(i[o]=bv(l,t)):u<=t&&(e.expiredLanes|=l),r&=~l}}function Do(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function vp(){var e=Na;return Na<<=1,!(Na&4194240)&&(Na=64),e}function Cr(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function ba(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-at(t),e[t]=n}function yv(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var s=e.eventTimes;for(e=e.expirationTimes;0<n;){var i=31-at(n),r=1<<i;t[i]=0,s[i]=-1,e[i]=-1,n&=~r}}function Bl(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var s=31-at(n),i=1<<s;i&t|e[s]&t&&(e[s]|=t),n&=~i}}var G=0;function bp(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var xp,Hl,yp,Ap,wp,Oo=!1,Ta=[],Ft=null,Vt=null,Bt=null,Zs=new Map,Xs=new Map,Ot=[],Av="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function mc(e,t){switch(e){case"focusin":case"focusout":Ft=null;break;case"dragenter":case"dragleave":Vt=null;break;case"mouseover":case"mouseout":Bt=null;break;case"pointerover":case"pointerout":Zs.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Xs.delete(t.pointerId)}}function bs(e,t,n,s,i,r){return e===null||e.nativeEvent!==r?(e={blockedOn:t,domEventName:n,eventSystemFlags:s,nativeEvent:r,targetContainers:[i]},t!==null&&(t=ya(t),t!==null&&Hl(t)),e):(e.eventSystemFlags|=s,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function wv(e,t,n,s,i){switch(t){case"focusin":return Ft=bs(Ft,e,t,n,s,i),!0;case"dragenter":return Vt=bs(Vt,e,t,n,s,i),!0;case"mouseover":return Bt=bs(Bt,e,t,n,s,i),!0;case"pointerover":var r=i.pointerId;return Zs.set(r,bs(Zs.get(r)||null,e,t,n,s,i)),!0;case"gotpointercapture":return r=i.pointerId,Xs.set(r,bs(Xs.get(r)||null,e,t,n,s,i)),!0}return!1}function Sp(e){var t=gn(e.target);if(t!==null){var n=zn(t);if(n!==null){if(t=n.tag,t===13){if(t=dp(n),t!==null){e.blockedOn=t,wp(e.priority,function(){yp(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function ni(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=Ro(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(n===null){n=e.nativeEvent;var s=new n.constructor(n.type,n);Po=s,n.target.dispatchEvent(s),Po=null}else return t=ya(n),t!==null&&Hl(t),e.blockedOn=n,!1;t.shift()}return!0}function pc(e,t,n){ni(e)&&n.delete(t)}function Sv(){Oo=!1,Ft!==null&&ni(Ft)&&(Ft=null),Vt!==null&&ni(Vt)&&(Vt=null),Bt!==null&&ni(Bt)&&(Bt=null),Zs.forEach(pc),Xs.forEach(pc)}function xs(e,t){e.blockedOn===t&&(e.blockedOn=null,Oo||(Oo=!0,Oe.unstable_scheduleCallback(Oe.unstable_NormalPriority,Sv)))}function ea(e){function t(i){return xs(i,e)}if(0<Ta.length){xs(Ta[0],e);for(var n=1;n<Ta.length;n++){var s=Ta[n];s.blockedOn===e&&(s.blockedOn=null)}}for(Ft!==null&&xs(Ft,e),Vt!==null&&xs(Vt,e),Bt!==null&&xs(Bt,e),Zs.forEach(t),Xs.forEach(t),n=0;n<Ot.length;n++)s=Ot[n],s.blockedOn===e&&(s.blockedOn=null);for(;0<Ot.length&&(n=Ot[0],n.blockedOn===null);)Sp(n),n.blockedOn===null&&Ot.shift()}var ts=jt.ReactCurrentBatchConfig,Ai=!0;function Iv(e,t,n,s){var i=G,r=ts.transition;ts.transition=null;try{G=1,Wl(e,t,n,s)}finally{G=i,ts.transition=r}}function kv(e,t,n,s){var i=G,r=ts.transition;ts.transition=null;try{G=4,Wl(e,t,n,s)}finally{G=i,ts.transition=r}}
vendor: 9,745 bytes, line 37
37function Wl(e,t,n,s){if(Ai){var i=Ro(e,t,n,s);if(i===null)Rr(e,t,s,wi,n),mc(e,s);else if(wv(i,e,t,n,s))s.stopPropagation();else if(mc(e,s),t&4&&-1<Av.indexOf(e)){for(;i!==null;){var r=ya(i);if(r!==null&&xp(r),r=Ro(e,t,n,s),r===null&&Rr(e,t,s,wi,n),r===i)break;i=r}i!==null&&s.stopPropagation()}else Rr(e,t,s,null,n)}}var wi=null;function Ro(e,t,n,s){if(wi=null,e=Fl(s),e=gn(e),e!==null)if(t=zn(e),t===null)e=null;else if(n=t.tag,n===13){if(e=dp(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return wi=e,null}function Ip(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(mv()){case Vl:return 1;case gp:return 4;case xi:case pv:return 16;case fp:return 536870912;default:return 16}default:return 16}}var Ut=null,Kl=null,si=null;function kp(){if(si)return si;var e,t=Kl,n=t.length,s,i="value"in Ut?Ut.value:Ut.textContent,r=i.length;for(e=0;e<n&&t[e]===i[e];e++);var o=n-e;for(s=1;s<=o&&t[n-s]===i[r-s];s++);return si=i.slice(e,1<s?1-s:void 0)}function ai(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Ma(){return!0}function hc(){return!1}function Ge(e){function t(n,s,i,r,o){this._reactName=n,this._targetInst=i,this.type=s,this.nativeEvent=r,this.target=o,this.currentTarget=null;for(var l in e)e.hasOwnProperty(l)&&(n=e[l],this[l]=n?n(r):r[l]);return this.isDefaultPrevented=(r.defaultPrevented!=null?r.defaultPrevented:r.returnValue===!1)?Ma:hc,this.isPropagationStopped=hc,this}return Y(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=Ma)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=Ma)},persist:function(){},isPersistent:Ma}),t}var hs={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},_l=Ge(hs),xa=Y({},hs,{view:0,detail:0}),qv=Ge(xa),jr,zr,ys,Xi=Y({},xa,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Ql,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==ys&&(ys&&e.type==="mousemove"?(jr=e.screenX-ys.screenX,zr=e.screenY-ys.screenY):zr=jr=0,ys=e),jr)},movementY:function(e){return"movementY"in e?e.movementY:zr}}),gc=Ge(Xi),Ev=Y({},Xi,{dataTransfer:0}),Cv=Ge(Ev),jv=Y({},xa,{relatedTarget:0}),Nr=Ge(jv),zv=Y({},hs,{animationName:0,elapsedTime:0,pseudoElement:0}),Nv=Ge(zv),Pv=Y({},hs,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Tv=Ge(Pv),Mv=Y({},hs,{data:0}),fc=Ge(Mv),Lv={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Dv={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Ov={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Rv(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Ov[e])?!!t[e]:!1}function Ql(){return Rv}var Uv=Y({},xa,{key:function(e){if(e.key){var t=Lv[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=ai(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?Dv[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Ql,charCode:function(e){return e.type==="keypress"?ai(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?ai(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),Gv=Ge(Uv),Fv=Y({},Xi,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),vc=Ge(Fv),Vv=Y({},xa,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Ql}),Bv=Ge(Vv),Hv=Y({},hs,{propertyName:0,elapsedTime:0,pseudoElement:0}),Wv=Ge(Hv),Kv=Y({},Xi,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),_v=Ge(Kv),Qv=[9,13,27,32],$l=It&&"CompositionEvent"in window,Rs=null;It&&"documentMode"in document&&(Rs=document.documentMode);var $v=It&&"TextEvent"in window&&!Rs,qp=It&&(!$l||Rs&&8<Rs&&11>=Rs),bc=" ",xc=!1;function Ep(e,t){switch(e){case"keyup":return Qv.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Cp(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Rn=!1;function Yv(e,t){switch(e){case"compositionend":return Cp(t);case"keypress":return t.which!==32?null:(xc=!0,bc);case"textInput":return e=t.data,e===bc&&xc?null:e;default:return null}}function Jv(e,t){if(Rn)return e==="compositionend"||!$l&&Ep(e,t)?(e=kp(),si=Kl=Ut=null,Rn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return qp&&t.locale!=="ko"?null:t.data;default:return null}}var Zv={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function yc(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!Zv[e.type]:t==="textarea"}function jp(e,t,n,s){rp(s),t=Si(t,"onChange"),0<t.length&&(n=new _l("onChange","change",null,n,s),e.push({event:n,listeners:t}))}var Us=null,ta=null;function Xv(e){Gp(e,0)}function er(e){var t=Fn(e);if(Xm(t))return e}function eb(e,t){if(e==="change")return t}var zp=!1;if(It){var Pr;if(It){var Tr="oninput"in document;if(!Tr){var Ac=document.createElement("div");Ac.setAttribute("oninput","return;"),Tr=typeof Ac.oninput=="function"}Pr=Tr}else Pr=!1;zp=Pr&&(!document.documentMode||9<document.documentMode)}function wc(){Us&&(Us.detachEvent("onpropertychange",Np),ta=Us=null)}function Np(e){if(e.propertyName==="value"&&er(ta)){var t=[];jp(t,ta,e,Fl(e)),cp(Xv,t)}}function tb(e,t,n){e==="focusin"?(wc(),Us=t,ta=n,Us.attachEvent("onpropertychange",Np)):e==="focusout"&&wc()}function nb(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return er(ta)}function sb(e,t){if(e==="click")return er(t)}function ab(e,t){if(e==="input"||e==="change")return er(t)}function ib(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var rt=typeof Object.is=="function"?Object.is:ib;function na(e,t){if(rt(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),s=Object.keys(t);if(n.length!==s.length)return!1;for(s=0;s<n.length;s++){var i=n[s];if(!yo.call(t,i)||!rt(e[i],t[i]))return!1}return!0}function Sc(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Ic(e,t){var n=Sc(e);e=0;for(var s;n;){if(n.nodeType===3){if(s=e+n.textContent.length,e<=t&&s>=t)return{node:n,offset:t-e};e=s}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Sc(n)}}function Pp(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Pp(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Tp(){for(var e=window,t=fi();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=fi(e.document)}return t}function Yl(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function rb(e){var t=Tp(),n=e.focusedElem,s=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Pp(n.ownerDocument.documentElement,n)){if(s!==null&&Yl(n)){if
vendor: 5,774 bytes, line 37
37(t=s.start,e=s.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,r=Math.min(s.start,i);s=s.end===void 0?r:Math.min(s.end,i),!e.extend&&r>s&&(i=s,s=r,r=i),i=Ic(n,r);var o=Ic(n,s);i&&o&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),r>s?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n<t.length;n++)e=t[n],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var ob=It&&"documentMode"in document&&11>=document.documentMode,Un=null,Uo=null,Gs=null,Go=!1;function kc(e,t,n){var s=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Go||Un==null||Un!==fi(s)||(s=Un,"selectionStart"in s&&Yl(s)?s={start:s.selectionStart,end:s.selectionEnd}:(s=(s.ownerDocument&&s.ownerDocument.defaultView||window).getSelection(),s={anchorNode:s.anchorNode,anchorOffset:s.anchorOffset,focusNode:s.focusNode,focusOffset:s.focusOffset}),Gs&&na(Gs,s)||(Gs=s,s=Si(Uo,"onSelect"),0<s.length&&(t=new _l("onSelect","select",null,t,n),e.push({event:t,listeners:s}),t.target=Un)))}function La(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var Gn={animationend:La("Animation","AnimationEnd"),animationiteration:La("Animation","AnimationIteration"),animationstart:La("Animation","AnimationStart"),transitionend:La("Transition","TransitionEnd")},Mr={},Mp={};It&&(Mp=document.createElement("div").style,"AnimationEvent"in window||(delete Gn.animationend.animation,delete Gn.animationiteration.animation,delete Gn.animationstart.animation),"TransitionEvent"in window||delete Gn.transitionend.transition);function tr(e){if(Mr[e])return Mr[e];if(!Gn[e])return e;var t=Gn[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in Mp)return Mr[e]=t[n];return e}var Lp=tr("animationend"),Dp=tr("animationiteration"),Op=tr("animationstart"),Rp=tr("transitionend"),Up=new Map,qc="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function en(e,t){Up.set(e,t),jn(t,[e])}for(var Lr=0;Lr<qc.length;Lr++){var Dr=qc[Lr],lb=Dr.toLowerCase(),ub=Dr[0].toUpperCase()+Dr.slice(1);en(lb,"on"+ub)}en(Lp,"onAnimationEnd");en(Dp,"onAnimationIteration");en(Op,"onAnimationStart");en("dblclick","onDoubleClick");en("focusin","onFocus");en("focusout","onBlur");en(Rp,"onTransitionEnd");as("onMouseEnter",["mouseout","mouseover"]);as("onMouseLeave",["mouseout","mouseover"]);as("onPointerEnter",["pointerout","pointerover"]);as("onPointerLeave",["pointerout","pointerover"]);jn("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));jn("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));jn("onBeforeInput",["compositionend","keypress","textInput","paste"]);jn("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));jn("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));jn("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Ts="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),cb=new Set("cancel close invalid load scroll toggle".split(" ").concat(Ts));function Ec(e,t,n){var s=e.type||"unknown-event";e.currentTarget=n,lv(s,t,void 0,e),e.currentTarget=null}function Gp(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var s=e[n],i=s.event;s=s.listeners;e:{var r=void 0;if(t)for(var o=s.length-1;0<=o;o--){var l=s[o],u=l.instance,c=l.currentTarget;if(l=l.listener,u!==r&&i.isPropagationStopped())break e;Ec(i,l,c),r=u}else for(o=0;o<s.length;o++){if(l=s[o],u=l.instance,c=l.currentTarget,l=l.listener,u!==r&&i.isPropagationStopped())break e;Ec(i,l,c),r=u}}}if(bi)throw e=Lo,bi=!1,Lo=null,e}function B(e,t){var n=t[Wo];n===void 0&&(n=t[Wo]=new Set);var s=e+"__bubble";n.has(s)||(Fp(t,e,2,!1),n.add(s))}function Or(e,t,n){var s=0;t&&(s|=4),Fp(n,e,s,t)}var Da="_reactListening"+Math.random().toString(36).slice(2);function sa(e){if(!e[Da]){e[Da]=!0,Qm.forEach(function(n){n!=="selectionchange"&&(cb.has(n)||Or(n,!1,e),Or(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Da]||(t[Da]=!0,Or("selectionchange",!1,t))}}function Fp(e,t,n,s){switch(Ip(t)){case 1:var i=Iv;break;case 4:i=kv;break;default:i=Wl}n=i.bind(null,t,n,e),i=void 0,!Mo||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(i=!0),s?i!==void 0?e.addEventListener(t,n,{capture:!0,passive:i}):e.addEventListener(t,n,!0):i!==void 0?e.addEventListener(t,n,{passive:i}):e.addEventListener(t,n,!1)}function Rr(e,t,n,s,i){var r=s;if(!(t&1)&&!(t&2)&&s!==null)e:for(;;){if(s===null)return;var o=s.tag;if(o===3||o===4){var l=s.stateNode.containerInfo;
vendor: 4,093 bytes, line 37
37if(l===i||l.nodeType===8&&l.parentNode===i)break;if(o===4)for(o=s.return;o!==null;){var u=o.tag;if((u===3||u===4)&&(u=o.stateNode.containerInfo,u===i||u.nodeType===8&&u.parentNode===i))return;o=o.return}for(;l!==null;){if(o=gn(l),o===null)return;if(u=o.tag,u===5||u===6){s=r=o;continue e}l=l.parentNode}}s=s.return}cp(function(){var c=r,d=Fl(n),m=[];e:{var p=Up.get(e);if(p!==void 0){var h=_l,v=e;switch(e){case"keypress":if(ai(n)===0)break e;case"keydown":case"keyup":h=Gv;break;case"focusin":v="focus",h=Nr;break;case"focusout":v="blur",h=Nr;break;case"beforeblur":case"afterblur":h=Nr;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":h=gc;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":h=Cv;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":h=Bv;break;case Lp:case Dp:case Op:h=Nv;break;case Rp:h=Wv;break;case"scroll":h=qv;break;case"wheel":h=_v;break;case"copy":case"cut":case"paste":h=Tv;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":h=vc}var x=(t&4)!==0,I=!x&&e==="scroll",b=x?p!==null?p+"Capture":null:p;x=[];for(var g=c,f;g!==null;){f=g;var y=f.stateNode;if(f.tag===5&&y!==null&&(f=y,b!==null&&(y=Js(g,b),y!=null&&x.push(aa(g,y,f)))),I)break;g=g.return}0<x.length&&(p=new h(p,v,null,n,d),m.push({event:p,listeners:x}))}}if(!(t&7)){e:{if(p=e==="mouseover"||e==="pointerover",h=e==="mouseout"||e==="pointerout",p&&n!==Po&&(v=n.relatedTarget||n.fromElement)&&(gn(v)||v[kt]))break e;if((h||p)&&(p=d.window===d?d:(p=d.ownerDocument)?p.defaultView||p.parentWindow:window,h?(v=n.relatedTarget||n.toElement,h=c,v=v?gn(v):null,v!==null&&(I=zn(v),v!==I||v.tag!==5&&v.tag!==6)&&(v=null)):(h=null,v=c),h!==v)){if(x=gc,y="onMouseLeave",b="onMouseEnter",g="mouse",(e==="pointerout"||e==="pointerover")&&(x=vc,y="onPointerLeave",b="onPointerEnter",g="pointer"),I=h==null?p:Fn(h),f=v==null?p:Fn(v),p=new x(y,g+"leave",h,n,d),p.target=I,p.relatedTarget=f,y=null,gn(d)===c&&(x=new x(b,g+"enter",v,n,d),x.target=f,x.relatedTarget=I,y=x),I=y,h&&v)t:{for(x=h,b=v,g=0,f=x;f;f=Mn(f))g++;for(f=0,y=b;y;y=Mn(y))f++;for(;0<g-f;)x=Mn(x),g--;for(;0<f-g;)b=Mn(b),f--;for(;g--;){if(x===b||b!==null&&x===b.alternate)break t;x=Mn(x),b=Mn(b)}x=null}else x=null;h!==null&&Cc(m,p,h,x,!1),v!==null&&I!==null&&Cc(m,I,v,x,!0)}}e:{if(p=c?Fn(c):window,h=p.nodeName&&p.nodeName.toLowerCase(),h==="select"||h==="input"&&p.type==="file")var S=eb;else if(yc(p))if(zp)S=ab;else{S=nb;var C=tb}else(h=p.nodeName)&&h.toLowerCase()==="input"&&(p.type==="checkbox"||p.type==="radio")&&(S=sb);if(S&&(S=S(e,c))){jp(m,S,n,d);break e}C&&C(e,p,c),e==="focusout"&&(C=p._wrapperState)&&C.controlled&&p.type==="number"&&Eo(p,"number",p.value)}switch(C=c?Fn(c):window,e){case"focusin":(yc(C)||C.contentEditable==="true")&&(Un=C,Uo=c,Gs=null);break;case"focusout":Gs=Uo=Un=null;break;case"mousedown":Go=!0;break;case"contextmenu":case"mouseup":case"dragend":Go=!1,kc(m,n,d);break;case"selectionchange":if(ob)break;case"keydown":case"keyup":kc(m,n,d)}var E;if($l)e:{switch(e){case"compositionstart":var k="onCompositionStart";break e;case"compositionend":k="onCompositionEnd";break e;case"compositionupdate":k="onCompositionUpdate";break e}k=void 0}else Rn?Ep(e,n)&&(k="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(k="onCompositionStart");k&&(qp&&n.locale!=="ko"&&(Rn||k!=="onCompositionStart"?k==="onCompositionEnd"&&Rn&&(E=kp()):(Ut=d,Kl="value"in Ut?Ut.value:Ut.textContent,Rn=!0)),C=Si(c,k),0<C.length&&(k=new fc(k,e,null,n,d),m.push({event:k,listeners:C}),E?k.data=E:(E=Cp(n),E!==null&&(k.data=E)))),(E=$v?Yv(e,n):Jv(e,n))&&(c=Si(c,"onBeforeInput"),0<c.length&&(d=new fc("onBeforeInput","beforeinput",null,n,d),m.push({event:d,listeners:c}),d.data=E))}Gp(m,t)})}function aa(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Si(e,t){for(var n=t+"Capture",s=[];e!==null;){var i=e,r=i.stateNode;
vendor: 2,447 bytes, lines 37-38
37i.tag===5&&r!==null&&(i=r,r=Js(e,n),r!=null&&s.unshift(aa(e,r,i)),r=Js(e,t),r!=null&&s.push(aa(e,r,i))),e=e.return}return s}function Mn(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function Cc(e,t,n,s,i){for(var r=t._reactName,o=[];n!==null&&n!==s;){var l=n,u=l.alternate,c=l.stateNode;if(u!==null&&u===s)break;l.tag===5&&c!==null&&(l=c,i?(u=Js(n,r),u!=null&&o.unshift(aa(n,u,l))):i||(u=Js(n,r),u!=null&&o.push(aa(n,u,l)))),n=n.return}o.length!==0&&e.push({event:t,listeners:o})}var db=/\r\n?/g,mb=/\u0000|\uFFFD/g;function jc(e){return(typeof e=="string"?e:""+e).replace(db,` 38`).replace(mb,"")}function Oa(e,t,n){if(t=jc(t),jc(e)!==t&&n)throw Error(q(425))}function Ii(){}var Fo=null,Vo=null;function Bo(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Ho=typeof setTimeout=="function"?setTimeout:void 0,pb=typeof clearTimeout=="function"?clearTimeout:void 0,zc=typeof Promise=="function"?Promise:void 0,hb=typeof queueMicrotask=="function"?queueMicrotask:typeof zc<"u"?function(e){return zc.resolve(null).then(e).catch(gb)}:Ho;function gb(e){setTimeout(function(){throw e})}function Ur(e,t){var n=t,s=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&i.nodeType===8)if(n=i.data,n==="/$"){if(s===0){e.removeChild(i),ea(t);return}s--}else n!=="$"&&n!=="$?"&&n!=="$!"||s++;n=i}while(n);ea(t)}function Ht(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?")break;if(t==="/$")return null}}return e}function Nc(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"){if(t===0)return e;t--}else n==="/$"&&t++}e=e.previousSibling}return null}var gs=Math.random().toString(36).slice(2),dt="__reactFiber$"+gs,ia="__reactProps$"+gs,kt="__reactContainer$"+gs,Wo="__reactEvents$"+gs,fb="__reactListeners$"+gs,vb="__reactHandles$"+gs;function gn(e){var t=e[dt];if(t)return t;for(var n=e.parentNode;n;){if(t=n[kt]||n[dt]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=Nc(e);e!==null;){if(n=e[dt])return n;e=Nc(e)}return t}e=n,n=e.parentNode}return null}function ya(e){return e=e[dt]||e[kt],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function Fn(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(q(33))}
vendor: 16,163 bytes, line 38
38function nr(e){return e[ia]||null}var Ko=[],Vn=-1;function tn(e){return{current:e}}function H(e){0>Vn||(e.current=Ko[Vn],Ko[Vn]=null,Vn--)}function F(e,t){Vn++,Ko[Vn]=e.current,e.current=t}var Jt={},xe=tn(Jt),Ce=tn(!1),Sn=Jt;function is(e,t){var n=e.type.contextTypes;if(!n)return Jt;var s=e.stateNode;if(s&&s.__reactInternalMemoizedUnmaskedChildContext===t)return s.__reactInternalMemoizedMaskedChildContext;var i={},r;for(r in n)i[r]=t[r];return s&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function je(e){return e=e.childContextTypes,e!=null}function ki(){H(Ce),H(xe)}function Pc(e,t,n){if(xe.current!==Jt)throw Error(q(168));F(xe,t),F(Ce,n)}function Vp(e,t,n){var s=e.stateNode;if(t=t.childContextTypes,typeof s.getChildContext!="function")return n;s=s.getChildContext();for(var i in s)if(!(i in t))throw Error(q(108,tv(e)||"Unknown",i));return Y({},n,s)}function qi(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Jt,Sn=xe.current,F(xe,e),F(Ce,Ce.current),!0}function Tc(e,t,n){var s=e.stateNode;if(!s)throw Error(q(169));n?(e=Vp(e,t,Sn),s.__reactInternalMemoizedMergedChildContext=e,H(Ce),H(xe),F(xe,e)):H(Ce),F(Ce,n)}var ft=null,sr=!1,Gr=!1;function Bp(e){ft===null?ft=[e]:ft.push(e)}function bb(e){sr=!0,Bp(e)}function nn(){if(!Gr&&ft!==null){Gr=!0;var e=0,t=G;try{var n=ft;for(G=1;e<n.length;e++){var s=n[e];do s=s(!0);while(s!==null)}ft=null,sr=!1}catch(i){throw ft!==null&&(ft=ft.slice(e+1)),hp(Vl,nn),i}finally{G=t,Gr=!1}}return null}var Bn=[],Hn=0,Ei=null,Ci=0,He=[],We=0,In=null,vt=1,bt="";function cn(e,t){Bn[Hn++]=Ci,Bn[Hn++]=Ei,Ei=e,Ci=t}function Hp(e,t,n){He[We++]=vt,He[We++]=bt,He[We++]=In,In=e;var s=vt;e=bt;var i=32-at(s)-1;s&=~(1<<i),n+=1;var r=32-at(t)+i;if(30<r){var o=i-i%5;r=(s&(1<<o)-1).toString(32),s>>=o,i-=o,vt=1<<32-at(t)+i|n<<i|s,bt=r+e}else vt=1<<r|n<<i|s,bt=e}function Jl(e){e.return!==null&&(cn(e,1),Hp(e,1,0))}function Zl(e){for(;e===Ei;)Ei=Bn[--Hn],Bn[Hn]=null,Ci=Bn[--Hn],Bn[Hn]=null;for(;e===In;)In=He[--We],He[We]=null,bt=He[--We],He[We]=null,vt=He[--We],He[We]=null}var De=null,Le=null,K=!1,nt=null;function Wp(e,t){var n=_e(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,t=e.deletions,t===null?(e.deletions=[n],e.flags|=16):t.push(n)}function Mc(e,t){switch(e.tag){case 5:var n=e.type;return t=t.nodeType!==1||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,De=e,Le=Ht(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,De=e,Le=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(n=In!==null?{id:vt,overflow:bt}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},n=_e(18,null,null,0),n.stateNode=t,n.return=e,e.child=n,De=e,Le=null,!0):!1;default:return!1}}function _o(e){return(e.mode&1)!==0&&(e.flags&128)===0}function Qo(e){if(K){var t=Le;if(t){var n=t;if(!Mc(e,t)){if(_o(e))throw Error(q(418));t=Ht(n.nextSibling);var s=De;t&&Mc(e,t)?Wp(s,n):(e.flags=e.flags&-4097|2,K=!1,De=e)}}else{if(_o(e))throw Error(q(418));e.flags=e.flags&-4097|2,K=!1,De=e}}}function Lc(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;De=e}function Ra(e){if(e!==De)return!1;if(!K)return Lc(e),K=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!Bo(e.type,e.memoizedProps)),t&&(t=Le)){if(_o(e))throw Kp(),Error(q(418));for(;t;)Wp(e,t),t=Ht(t.nextSibling)}if(Lc(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(q(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"){if(t===0){Le=Ht(e.nextSibling);break e}t--}else n!=="$"&&n!=="$!"&&n!=="$?"||t++}e=e.nextSibling}Le=null}}else Le=De?Ht(e.stateNode.nextSibling):null;return!0}function Kp(){for(var e=Le;e;)e=Ht(e.nextSibling)}function rs(){Le=De=null,K=!1}function Xl(e){nt===null?nt=[e]:nt.push(e)}var xb=jt.ReactCurrentBatchConfig;function As(e,t,n){if(e=n.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(n._owner){if(n=n._owner,n){if(n.tag!==1)throw Error(q(309));var s=n.stateNode}if(!s)throw Error(q(147,e));var i=s,r=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===r?t.ref:(t=function(o){var l=i.refs;o===null?delete l[r]:l[r]=o},t._stringRef=r,t)}if(typeof e!="string")throw Error(q(284));if(!n._owner)throw Error(q(290,e))}return e}function Ua(e,t){throw e=Object.prototype.toString.call(t),Error(q(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function Dc(e){var t=e._init;return t(e._payload)}function _p(e){function t(b,g){if(e){var f=b.deletions;f===null?(b.deletions=[g],b.flags|=16):f.push(g)}}function n(b,g){if(!e)return null;for(;g!==null;)t(b,g),g=g.sibling;return null}function s(b,g){for(b=new Map;g!==null;)g.key!==null?b.set(g.key,g):b.set(g.index,g),g=g.sibling;return b}function i(b,g){return b=Qt(b,g),b.index=0,b.sibling=null,b}function r(b,g,f){return b.index=f,e?(f=b.alternate,f!==null?(f=f.index,f<g?(b.flags|=2,g):f):(b.flags|=2,g)):(b.flags|=1048576,g)}function o(b){return e&&b.alternate===null&&(b.flags|=2),b}function l(b,g,f,y){return g===null||g.tag!==6?(g=_r(f,b.mode,y),g.return=b,g):(g=i(g,f),g.return=b,g)}function u(b,g,f,y){var S=f.type;return S===On?d(b,g,f.props.children,y,f.key):g!==null&&(g.elementType===S||typeof S=="object"&&S!==null&&S.$$typeof===Mt&&Dc(S)===g.type)?(y=i(g,f.props),y.ref=As(b,g,f),y.return=b,y):(y=di(f.type,f.key,f.props,null,b.mode,y),y.ref=As(b,g,f),y.return=b,y)}function c(b,g,f,y){return g===null||g.tag!==4||g.stateNode.containerInfo!==f.containerInfo||g.stateNode.implementation!==f.implementation?(g=Qr(f,b.mode,y),g.return=b,g):(g=i(g,f.children||[]),g.return=b,g)}function d(b,g,f,y,S){return g===null||g.tag!==7?(g=yn(f,b.mode,y,S),g.return=b,g):(g=i(g,f),g.return=b,g)}function m(b,g,f){if(typeof g=="string"&&g!==""||typeof g=="number")return g=_r(""+g,b.mode,f),g.return=b,g;if(typeof g=="object"&&g!==null){switch(g.$$typeof){case Ca:return f=di(g.type,g.key,g.props,null,b.mode,f),f.ref=As(b,null,g),f.return=b,f;case Dn:return g=Qr(g,b.mode,f),g.return=b,g;case Mt:var y=g._init;return m(b,y(g._payload),f)}if(Ns(g)||fs(g))return g=yn(g,b.mode,f,null),g.return=b,g;Ua(b,g)}return null}function p(b,g,f,y){var S=g!==null?g.key:null;if(typeof f=="string"&&f!==""||typeof f=="number")return S!==null?null:l(b,g,""+f,y);if(typeof f=="object"&&f!==null){switch(f.$$typeof){case Ca:return f.key===S?u(b,g,f,y):null;case Dn:return f.key===S?c(b,g,f,y):null;case Mt:return S=f._init,p(b,g,S(f._payload),y)}if(Ns(f)||fs(f))return S!==null?null:d(b,g,f,y,null);Ua(b,f)}return null}function h(b,g,f,y,S){if(typeof y=="string"&&y!==""||typeof y=="number")return b=b.get(f)||null,l(g,b,""+y,S);if(typeof y=="object"&&y!==null){switch(y.$$typeof){case Ca:return b=b.get(y.key===null?f:y.key)||null,u(g,b,y,S);case Dn:return b=b.get(y.key===null?f:y.key)||null,c(g,b,y,S);case Mt:var C=y._init;return h(b,g,f,C(y._payload),S)}if(Ns(y)||fs(y))return b=b.get(f)||null,d(g,b,y,S,null);Ua(g,y)}return null}function v(b,g,f,y){for(var S=null,C=null,E=g,k=g=0,N=null;E!==null&&k<f.length;k++){E.index>k?(N=E,E=null):N=E.sibling;var P=p(b,E,f[k],y);if(P===null){E===null&&(E=N);break}e&&E&&P.alternate===null&&t(b,E),g=r(P,g,k),C===null?S=P:C.sibling=P,C=P,E=N}if(k===f.length)return n(b,E),K&&cn(b,k),S;if(E===null){for(;k<f.length;k++)E=m(b,f[k],y),E!==null&&(g=r(E,g,k),C===null?S=E:C.sibling=E,C=E);return K&&cn(b,k),S}for(E=s(b,E);k<f.length;k++)N=h(E,b,k,f[k],y),N!==null&&(e&&N.alternate!==null&&E.delete(N.key===null?k:N.key),g=r(N,g,k),C===null?S=N:C.sibling=N,C=N);return e&&E.forEach(function(te){return t(b,te)}),K&&cn(b,k),S}function x(b,g,f,y){var S=fs(f);if(typeof S!="function")throw Error(q(150));if(f=S.call(f),f==null)throw Error(q(151));for(var C=S=null,E=g,k=g=0,N=null,P=f.next();E!==null&&!P.done;k++,P=f.next()){E.index>k?(N=E,E=null):N=E.sibling;var te=p(b,E,P.value,y);if(te===null){E===null&&(E=N);break}e&&E&&te.alternate===null&&t(b,E),g=r(te,g,k),C===null?S=te:C.sibling=te,C=te,E=N}if(P.done)return n(b,E),K&&cn(b,k),S;if(E===null){for(;!P.done;k++,P=f.next())P=m(b,P.value,y),P!==null&&(g=r(P,g,k),C===null?S=P:C.sibling=P,C=P);return K&&cn(b,k),S}for(E=s(b,E);!P.done;k++,P=f.next())P=h(E,b,k,P.value,y),P!==null&&(e&&P.alternate!==null&&E.delete(P.key===null?k:P.key),g=r(P,g,k),C===null?S=P:C.sibling=P,C=P);return e&&E.forEach(function(ce){return t(b,ce)}),K&&cn(b,k),S}function I(b,g,f,y){if(typeof f=="object"&&f!==null&&f.type===On&&f.key===null&&(f=f.props.children),typeof f=="object"&&f!==null){switch(f.$$typeof){case Ca:e:{for(var S=f.key,C=g;C!==null;){if(C.key===S){if(S=f.type,S===On){if(C.tag===7){n(b,C.sibling),g=i(C,f.props.children),g.return=b,b=g;break e}}else if(C.elementType===S||typeof S=="object"&&S!==null&&S.$$typeof===Mt&&Dc(S)===C.type){n(b,C.sibling),g=i(C,f.props),g.ref=As(b,C,f),g.return=b,b=g;break e}n(b,C);break}else t(b,C);C=C.sibling}f.type===On?(g=yn(f.props.children,b.mode,y,f.key),g.return=b,b=g):(y=di(f.type,f.key,f.props,null,b.mode,y),y.ref=As(b,g,f),y.return=b,b=y)}return o(b);case Dn:e:{for(C=f.key;g!==null;){if(g.key===C)if(g.tag===4&&g.stateNode.containerInfo===f.containerInfo&&g.stateNode.implementation===f.implementation){n(b,g.sibling),g=i(g,f.children||[]),g.return=b,b=g;break e}else{n(b,g);break}else t(b,g);g=g.sibling}g=Qr(f,b.mode,y),g.return=b,b=g}return o(b);case Mt:return C=f._init,I(b,g,C(f._payload),y)}if(Ns(f))return v(b,g,f,y);if(fs(f))return x(b,g,f,y);Ua(b,f)}return typeof f=="string"&&f!==""||typeof f=="number"?(f=""+f,g!==null&&g.tag===6?(n(b,g.sibling),g=i(g,f),g.return=b,b=g):(n(b,g),g=_r(f,b.mode,y),g.return=b,b=g),o(b)):n(b,g)}return I}var os=_p(!0),Qp=_p(!1),ji=tn(null),zi=null,Wn=null,eu=null;function tu(){eu=Wn=zi=null}function nu(e){var t=ji.current;H(ji),e._currentValue=t}function $o(e,t,n){for(;e!==null;){var s=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,s!==null&&(s.childLanes|=t)):s!==null&&(s.childLanes&t)!==t&&(s.childLanes|=t),e===n)break;e=e.return}}function ns(e,t){zi=e,eu=Wn=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(Ee=!0),e.firstContext=null)}function $e(e){var t=e._currentValue;if(eu!==e)if(e={context:e,memoizedValue:t,next:null},Wn===null){if(zi===null)throw Error(q(308));Wn=e,zi.dependencies={lanes:0,firstContext:e}}else Wn=Wn.next=e;return t}var fn=null;function su(e){fn===null?fn=[e]:fn.push(e)}function $p(e,t,n,s){var i=t.interleaved;return i===null?(n.next=n,su(t)):(n.next=i.next,i.next=n),t.interleaved=n,qt(e,s)}function qt(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var Lt=!1;function au(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Yp(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function yt(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Wt(e,t,n){var s=e.updateQueue;if(s===null)return null;if(s=s.shared,R&2){var i=s.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),s.pending=t,qt(e,n)}return i=s.interleaved,i===null?(t.next=t,su(s)):(t.next=i.next,i.next=t),s.interleaved=t,qt(e,n)}function ii(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var s=t.lanes;s&=e.pendingLanes,n|=s,t.lanes=n,Bl(e,n)}}function Oc(e,t){var n=e.updateQueue,s=e.alternate;if(s!==null&&(s=s.updateQueue,n===s)){var i=null,r=null;if(n=n.firstBaseUpdate,n!==null){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};r===null?i=r=o:r=r.next=o,n=n.next}while(n!==null);r===null?i=r=t:r=r.next=t}else i=r=t;n={baseState:s.baseState,firstBaseUpdate:i,lastBaseUpdate:r,shared:s.shared,effects:s.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Ni(e,t,n,s){var i=e.updateQueue;Lt=!1;var r=i.firstBaseUpdate,o=i.lastBaseUpdate,l=i.shared.pending;if(l!==null){i.shared.pending=null;var u=l,c=u.next;u.next=null,o===null?r=c:o.next=c,o=u;var d=e.alternate;d!==null&&(d=d.updateQueue,l=d.lastBaseUpdate,l!==o&&(l===null?d.firstBaseUpdate=c:l.next=c,d.lastBaseUpdate=u))}if(r!==null){var m=i.baseState;o=0,d=c=u=null,l=r;do{var p=l.lane,h=l.eventTime;if((s&p)===p){d!==null&&(d=d.next={eventTime:h,lane:0,tag:l.tag,payload:l.payload,callback:l.callback,next:null});e:{var v=e,x=l;switch(p=t,h=n,x.tag){case 1:if(v=x.payload,typeof v=="function"){m=v.call(h,m,p);break e}m=v;break e;case 3:v.flags=v.flags&-65537|128;case 0:if(v=x.payload,p=typeof v=="function"?v.call(h,m,p):v,p==null)break e;m=Y({},m,p);break e;case 2:Lt=!0}}l.callback!==null&&l.lane!==0&&(e.flags|=64,p=i.effects,p===null?i.effects=[l]:p.push(l))}else h={eventTime:h,lane:p,tag:l.tag,payload:l.payload,callback:l.callback,next:null},d===null?(c=d=h,u=m):d=d.next=h,o|=p;if(l=l.next,l===null){if(l=i.shared.pending,l===null)break;p=l,l=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(!0);if(d===null&&(u=m),i.baseState=u,i.firstBaseUpdate=c,i.lastBaseUpdate=d,t=i.shared.interleaved,t!==null){i=t;do o|=i.lane,i=i.next;while(i!==t)}else r===null&&(i.shared.lanes=0);qn|=o,e.lanes=o,e.memoizedState=m}}function Rc(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var s=e[t],i=s.callback;if(i!==null){if(s.callback=null,s=n,typeof i!="function")throw Error(q(191,i));i.call(s)}}}var Aa={},pt=tn(Aa),ra=tn(Aa),oa=tn(Aa);function vn(e){if(e===Aa)throw Error(q(174));return e}function iu(e,t){switch(F(oa,t),F(ra,e),F(pt,Aa),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:jo(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=jo(t,e)}H(pt),F(pt,t)}function ls(){H(pt),H(ra),H(oa)}function Jp(e){vn(oa.current);var t=vn(pt.current),n=jo(t,e.type);t!==n&&(F(ra,e),F(pt,n))}function ru(e){ra.current===e&&(H(pt),H(ra))}var _=tn(0);function Pi(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Fr=[];function ou(){for(var e=0;e<Fr.length;e++)Fr[e]._workInProgressVersionPrimary=null;Fr.length=0}var ri=jt.ReactCurrentDispatcher,Vr=jt.ReactCurrentBatchConfig,kn=0,$=null,ae=null,le=null,Ti=!1,Fs=!1,la=0,yb=0;function he(){throw Error(q(321))}function lu(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!rt(e[n],t[n]))return!1;return!0}function uu(e,t,n,s,i,r){if(kn=r,$=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,ri.current=e===null||e.memoizedState===null?Ib:kb,e=n(s,i),Fs){r=0;do{if(Fs=!1,la=0,25<=r)throw Error(q(301));r+=1,le=ae=null,t.updateQueue=null,ri.current=qb,e=n(s,i)}while(Fs)}if(ri.current=Mi,t=ae!==null&&ae.next!==null,kn=0,le=ae=$=null,Ti=!1,t)throw Error(q(300));return e}function cu(){var e=la!==0;return la=0,e}function ct(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return le===null?$.memoizedState=le=e:le=le.next=e,le}function Ye(){if(ae===null){var e=$.alternate;e=e!==null?e.memoizedState:null}else e=ae.next;var t=le===null?$.memoizedState:le.next;if(t!==null)le=t,ae=e;else{if(e===null)throw Error(q(310));ae=e,e={memoizedState:ae.memoizedState,baseState:ae.baseState,baseQueue:ae.baseQueue,queue:ae.queue,next:null},le===null?$.memoizedState=le=e:le=le.next=e}return le}function ua(e,t){return typeof t=="function"?t(e):t}function Br(e){var t=Ye(),n=t.queue;if(n===null)throw Error(q(311));n.lastRenderedReducer=e;var s=ae,i=s.baseQueue,r=n.pending;if(r!==null){if(i!==null){var o=i.next;i.next=r.next,r.next=o}s.baseQueue=i=r,n.pending=null}
vendor: 5,543 bytes, line 38
38if(i!==null){r=i.next,s=s.baseState;var l=o=null,u=null,c=r;do{var d=c.lane;if((kn&d)===d)u!==null&&(u=u.next={lane:0,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null}),s=c.hasEagerState?c.eagerState:e(s,c.action);else{var m={lane:d,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null};u===null?(l=u=m,o=s):u=u.next=m,$.lanes|=d,qn|=d}c=c.next}while(c!==null&&c!==r);u===null?o=s:u.next=l,rt(s,t.memoizedState)||(Ee=!0),t.memoizedState=s,t.baseState=o,t.baseQueue=u,n.lastRenderedState=s}if(e=n.interleaved,e!==null){i=e;do r=i.lane,$.lanes|=r,qn|=r,i=i.next;while(i!==e)}else i===null&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function Hr(e){var t=Ye(),n=t.queue;if(n===null)throw Error(q(311));n.lastRenderedReducer=e;var s=n.dispatch,i=n.pending,r=t.memoizedState;if(i!==null){n.pending=null;var o=i=i.next;do r=e(r,o.action),o=o.next;while(o!==i);rt(r,t.memoizedState)||(Ee=!0),t.memoizedState=r,t.baseQueue===null&&(t.baseState=r),n.lastRenderedState=r}return[r,s]}function Zp(){}function Xp(e,t){var n=$,s=Ye(),i=t(),r=!rt(s.memoizedState,i);if(r&&(s.memoizedState=i,Ee=!0),s=s.queue,du(nh.bind(null,n,s,e),[e]),s.getSnapshot!==t||r||le!==null&&le.memoizedState.tag&1){if(n.flags|=2048,ca(9,th.bind(null,n,s,i,t),void 0,null),ue===null)throw Error(q(349));kn&30||eh(n,t,i)}return i}function eh(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=$.updateQueue,t===null?(t={lastEffect:null,stores:null},$.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function th(e,t,n,s){t.value=n,t.getSnapshot=s,sh(t)&&ah(e)}function nh(e,t,n){return n(function(){sh(t)&&ah(e)})}function sh(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!rt(e,n)}catch{return!0}}function ah(e){var t=qt(e,1);t!==null&&it(t,e,1,-1)}function Uc(e){var t=ct();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:ua,lastRenderedState:e},t.queue=e,e=e.dispatch=Sb.bind(null,$,e),[t.memoizedState,e]}function ca(e,t,n,s){return e={tag:e,create:t,destroy:n,deps:s,next:null},t=$.updateQueue,t===null?(t={lastEffect:null,stores:null},$.updateQueue=t,t.lastEffect=e.next=e):(n=t.lastEffect,n===null?t.lastEffect=e.next=e:(s=n.next,n.next=e,e.next=s,t.lastEffect=e)),e}function ih(){return Ye().memoizedState}function oi(e,t,n,s){var i=ct();$.flags|=e,i.memoizedState=ca(1|t,n,void 0,s===void 0?null:s)}function ar(e,t,n,s){var i=Ye();s=s===void 0?null:s;var r=void 0;if(ae!==null){var o=ae.memoizedState;if(r=o.destroy,s!==null&&lu(s,o.deps)){i.memoizedState=ca(t,n,r,s);return}}$.flags|=e,i.memoizedState=ca(1|t,n,r,s)}function Gc(e,t){return oi(8390656,8,e,t)}function du(e,t){return ar(2048,8,e,t)}function rh(e,t){return ar(4,2,e,t)}function oh(e,t){return ar(4,4,e,t)}function lh(e,t){if(typeof t=="function")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function uh(e,t,n){return n=n!=null?n.concat([e]):null,ar(4,4,lh.bind(null,t,e),n)}function mu(){}function ch(e,t){var n=Ye();t=t===void 0?null:t;var s=n.memoizedState;return s!==null&&t!==null&&lu(t,s[1])?s[0]:(n.memoizedState=[e,t],e)}function dh(e,t){var n=Ye();t=t===void 0?null:t;var s=n.memoizedState;return s!==null&&t!==null&&lu(t,s[1])?s[0]:(e=e(),n.memoizedState=[e,t],e)}function mh(e,t,n){return kn&21?(rt(n,t)||(n=vp(),$.lanes|=n,qn|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,Ee=!0),e.memoizedState=n)}function Ab(e,t){var n=G;G=n!==0&&4>n?n:4,e(!0);var s=Vr.transition;Vr.transition={};try{e(!1),t()}finally{G=n,Vr.transition=s}}function ph(){return Ye().memoizedState}function wb(e,t,n){var s=_t(e);if(n={lane:s,action:n,hasEagerState:!1,eagerState:null,next:null},hh(e))gh(t,n);else if(n=$p(e,t,n,s),n!==null){var i=Se();it(n,e,s,i),fh(n,t,s)}}function Sb(e,t,n){var s=_t(e),i={lane:s,action:n,hasEagerState:!1,eagerState:null,next:null};if(hh(e))gh(t,i);else{var r=e.alternate;if(e.lanes===0&&(r===null||r.lanes===0)&&(r=t.lastRenderedReducer,r!==null))try{var o=t.lastRenderedState,l=r(o,n);if(i.hasEagerState=!0,i.eagerState=l,rt(l,o)){var u=t.interleaved;u===null?(i.next=i,su(t)):(i.next=u.next,u.next=i),t.interleaved=i;return}}catch{}finally{}n=$p(e,t,i,s),n!==null&&(i=Se(),it(n,e,s,i),fh(n,t,s))}}function hh(e){var t=e.alternate;return e===$||t!==null&&t===$}function gh(e,t){Fs=Ti=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function fh(e,t,n){if(n&4194240){var s=t.lanes;s&=e.pendingLanes,n|=s,t.lanes=n,Bl(e,n)}}var Mi={readContext:$e,useCallback:he,useContext:he,useEffect:he,useImperativeHandle:he,useInsertionEffect:he,useLayoutEffect:he,useMemo:he,useReducer:he,useRef:he,useState:he,useDebugValue:he,useDeferredValue:he,useTransition:he,useMutableSource:he,useSyncExternalStore:he,useId:he,unstable_isNewReconciler:!1},Ib={readContext:$e,useCallback:function(e,t){return ct().memoizedState=[e,t===void 0?null:t],e},useContext:$e,useEffect:Gc,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,oi(4194308,4,lh.bind(null,t,e),n)},useLayoutEffect:function(e,t){return oi(4194308,4,e,t)},useInsertionEffect:function(e,t){return oi(4,2,e,t)},useMemo:function(e,t){var n=ct();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var s=ct();return t=n!==void 0?n(t):t,s.memoizedState=s.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},s.queue=e,e=e.dispatch=wb.bind(null,$,e),[s.memoizedState,e]}
vendor: 5,085 bytes, lines 38-40
38,useRef:function(e){var t=ct();return e={current:e},t.memoizedState=e},useState:Uc,useDebugValue:mu,useDeferredValue:function(e){return ct().memoizedState=e},useTransition:function(){var e=Uc(!1),t=e[0];return e=Ab.bind(null,e[1]),ct().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var s=$,i=ct();if(K){if(n===void 0)throw Error(q(407));n=n()}else{if(n=t(),ue===null)throw Error(q(349));kn&30||eh(s,t,n)}i.memoizedState=n;var r={value:n,getSnapshot:t};return i.queue=r,Gc(nh.bind(null,s,r,e),[e]),s.flags|=2048,ca(9,th.bind(null,s,r,n,t),void 0,null),n},useId:function(){var e=ct(),t=ue.identifierPrefix;if(K){var n=bt,s=vt;n=(s&~(1<<32-at(s)-1)).toString(32)+n,t=":"+t+"R"+n,n=la++,0<n&&(t+="H"+n.toString(32)),t+=":"}else n=yb++,t=":"+t+"r"+n.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},kb={readContext:$e,useCallback:ch,useContext:$e,useEffect:du,useImperativeHandle:uh,useInsertionEffect:rh,useLayoutEffect:oh,useMemo:dh,useReducer:Br,useRef:ih,useState:function(){return Br(ua)},useDebugValue:mu,useDeferredValue:function(e){var t=Ye();return mh(t,ae.memoizedState,e)},useTransition:function(){var e=Br(ua)[0],t=Ye().memoizedState;return[e,t]},useMutableSource:Zp,useSyncExternalStore:Xp,useId:ph,unstable_isNewReconciler:!1},qb={readContext:$e,useCallback:ch,useContext:$e,useEffect:du,useImperativeHandle:uh,useInsertionEffect:rh,useLayoutEffect:oh,useMemo:dh,useReducer:Hr,useRef:ih,useState:function(){return Hr(ua)},useDebugValue:mu,useDeferredValue:function(e){var t=Ye();return ae===null?t.memoizedState=e:mh(t,ae.memoizedState,e)},useTransition:function(){var e=Hr(ua)[0],t=Ye().memoizedState;return[e,t]},useMutableSource:Zp,useSyncExternalStore:Xp,useId:ph,unstable_isNewReconciler:!1};function Xe(e,t){if(e&&e.defaultProps){t=Y({},t),e=e.defaultProps;for(var n in e)t[n]===void 0&&(t[n]=e[n]);return t}return t}function Yo(e,t,n,s){t=e.memoizedState,n=n(s,t),n=n==null?t:Y({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var ir={isMounted:function(e){return(e=e._reactInternals)?zn(e)===e:!1},enqueueSetState:function(e,t,n){e=e._reactInternals;var s=Se(),i=_t(e),r=yt(s,i);r.payload=t,n!=null&&(r.callback=n),t=Wt(e,r,i),t!==null&&(it(t,e,i,s),ii(t,e,i))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var s=Se(),i=_t(e),r=yt(s,i);r.tag=1,r.payload=t,n!=null&&(r.callback=n),t=Wt(e,r,i),t!==null&&(it(t,e,i,s),ii(t,e,i))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=Se(),s=_t(e),i=yt(n,s);i.tag=2,t!=null&&(i.callback=t),t=Wt(e,i,s),t!==null&&(it(t,e,s,n),ii(t,e,s))}};function Fc(e,t,n,s,i,r,o){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(s,r,o):t.prototype&&t.prototype.isPureReactComponent?!na(n,s)||!na(i,r):!0}function vh(e,t,n){var s=!1,i=Jt,r=t.contextType;return typeof r=="object"&&r!==null?r=$e(r):(i=je(t)?Sn:xe.current,s=t.contextTypes,r=(s=s!=null)?is(e,i):Jt),t=new t(n,r),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=ir,e.stateNode=t,t._reactInternals=e,s&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=i,e.__reactInternalMemoizedMaskedChildContext=r),t}function Vc(e,t,n,s){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,s),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,s),t.state!==e&&ir.enqueueReplaceState(t,t.state,null)}function Jo(e,t,n,s){var i=e.stateNode;i.props=n,i.state=e.memoizedState,i.refs={},au(e);var r=t.contextType;typeof r=="object"&&r!==null?i.context=$e(r):(r=je(t)?Sn:xe.current,i.context=is(e,r)),i.state=e.memoizedState,r=t.getDerivedStateFromProps,typeof r=="function"&&(Yo(e,t,r,n),i.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof i.getSnapshotBeforeUpdate=="function"||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(t=i.state,typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount(),t!==i.state&&ir.enqueueReplaceState(i,i.state,null),Ni(e,n,i,s),i.state=e.memoizedState),typeof i.componentDidMount=="function"&&(e.flags|=4194308)}function us(e,t){try{var n="",s=t;do n+=ev(s),s=s.return;while(s);var i=n}catch(r){i=` 39Error generating stack: `+r.message+` 40`+r.stack}return{value:e,source:t,stack:i,digest:null}}function Wr(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function Zo(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var Eb=typeof WeakMap=="function"?WeakMap:Map;function bh(e,t,n){n=yt(-1,n),n.tag=3,n.payload={element:null};var s=t.value;return n.callback=function(){Di||(Di=!0,ll=s),Zo(e,t)},n}function xh(e,t,n){n=yt(-1,n),n.tag=3;var s=e.type.getDerivedStateFromError;if(typeof s=="function"){var i=t.value;n.payload=function(){return s(i)},n.callback=function(){Zo(e,t)}}var r=e.stateNode;return r!==null&&typeof r.componentDidCatch=="function"&&(n.callback=function(){Zo(e,t),typeof s!="function"&&(Kt===null?Kt=ne
vendor: 11,217 bytes, line 40
40w Set([this]):Kt.add(this));var o=t.stack;this.componentDidCatch(t.value,{componentStack:o!==null?o:""})}),n}function Bc(e,t,n){var s=e.pingCache;if(s===null){s=e.pingCache=new Eb;var i=new Set;s.set(t,i)}else i=s.get(t),i===void 0&&(i=new Set,s.set(t,i));i.has(n)||(i.add(n),e=Fb.bind(null,e,t,n),t.then(e,e))}function Hc(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function Wc(e,t,n,s,i){return e.mode&1?(e.flags|=65536,e.lanes=i,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=yt(-1,1),t.tag=2,Wt(n,t,1))),n.lanes|=1),e)}var Cb=jt.ReactCurrentOwner,Ee=!1;function we(e,t,n,s){t.child=e===null?Qp(t,null,n,s):os(t,e.child,n,s)}function Kc(e,t,n,s,i){n=n.render;var r=t.ref;return ns(t,i),s=uu(e,t,n,s,r,i),n=cu(),e!==null&&!Ee?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,Et(e,t,i)):(K&&n&&Jl(t),t.flags|=1,we(e,t,s,i),t.child)}function _c(e,t,n,s,i){if(e===null){var r=n.type;return typeof r=="function"&&!yu(r)&&r.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=r,yh(e,t,r,s,i)):(e=di(n.type,null,s,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(r=e.child,!(e.lanes&i)){var o=r.memoizedProps;if(n=n.compare,n=n!==null?n:na,n(o,s)&&e.ref===t.ref)return Et(e,t,i)}return t.flags|=1,e=Qt(r,s),e.ref=t.ref,e.return=t,t.child=e}function yh(e,t,n,s,i){if(e!==null){var r=e.memoizedProps;if(na(r,s)&&e.ref===t.ref)if(Ee=!1,t.pendingProps=s=r,(e.lanes&i)!==0)e.flags&131072&&(Ee=!0);else return t.lanes=e.lanes,Et(e,t,i)}return Xo(e,t,n,s,i)}function Ah(e,t,n){var s=t.pendingProps,i=s.children,r=e!==null?e.memoizedState:null;if(s.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},F(_n,Me),Me|=n;else{if(!(n&1073741824))return e=r!==null?r.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,F(_n,Me),Me|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},s=r!==null?r.baseLanes:n,F(_n,Me),Me|=s}else r!==null?(s=r.baseLanes|n,t.memoizedState=null):s=n,F(_n,Me),Me|=s;return we(e,t,i,n),t.child}function wh(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Xo(e,t,n,s,i){var r=je(n)?Sn:xe.current;return r=is(t,r),ns(t,i),n=uu(e,t,n,s,r,i),s=cu(),e!==null&&!Ee?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,Et(e,t,i)):(K&&s&&Jl(t),t.flags|=1,we(e,t,n,i),t.child)}function Qc(e,t,n,s,i){if(je(n)){var r=!0;qi(t)}else r=!1;if(ns(t,i),t.stateNode===null)li(e,t),vh(t,n,s),Jo(t,n,s,i),s=!0;else if(e===null){var o=t.stateNode,l=t.memoizedProps;o.props=l;var u=o.context,c=n.contextType;typeof c=="object"&&c!==null?c=$e(c):(c=je(n)?Sn:xe.current,c=is(t,c));var d=n.getDerivedStateFromProps,m=typeof d=="function"||typeof o.getSnapshotBeforeUpdate=="function";m||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(l!==s||u!==c)&&Vc(t,o,s,c),Lt=!1;var p=t.memoizedState;o.state=p,Ni(t,s,o,i),u=t.memoizedState,l!==s||p!==u||Ce.current||Lt?(typeof d=="function"&&(Yo(t,n,d,s),u=t.memoizedState),(l=Lt||Fc(t,n,l,s,p,u,c))?(m||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(t.flags|=4194308)):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=s,t.memoizedState=u),o.props=s,o.state=u,o.context=c,s=l):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),s=!1)}else{o=t.stateNode,Yp(e,t),l=t.memoizedProps,c=t.type===t.elementType?l:Xe(t.type,l),o.props=c,m=t.pendingProps,p=o.context,u=n.contextType,typeof u=="object"&&u!==null?u=$e(u):(u=je(n)?Sn:xe.current,u=is(t,u));var h=n.getDerivedStateFromProps;(d=typeof h=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(l!==m||p!==u)&&Vc(t,o,s,u),Lt=!1,p=t.memoizedState,o.state=p,Ni(t,s,o,i);var v=t.memoizedState;l!==m||p!==v||Ce.current||Lt?(typeof h=="function"&&(Yo(t,n,h,s),v=t.memoizedState),(c=Lt||Fc(t,n,c,s,p,v,u)||!1)?(d||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(s,v,u),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(s,v,u)),typeof o.componentDidUpdate=="function"&&(t.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof o.componentDidUpdate!="function"||l===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||l===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),t.memoizedProps=s,t.memoizedState=v),o.props=s,o.state=v,o.context=u,s=c):(typeof o.componentDidUpdate!="function"||l===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||l===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),s=!1)}return el(e,t,n,s,r,i)}function el(e,t,n,s,i,r){wh(e,t);var o=(t.flags&128)!==0;if(!s&&!o)return i&&Tc(t,n,!1),Et(e,t,r);s=t.stateNode,Cb.current=t;var l=o&&typeof n.getDerivedStateFromError!="function"?null:s.render();return t.flags|=1,e!==null&&o?(t.child=os(t,e.child,null,r),t.child=os(t,null,l,r)):we(e,t,l,r),t.memoizedState=s.state,i&&Tc(t,n,!0),t.child}function Sh(e){var t=e.stateNode;t.pendingContext?Pc(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Pc(e,t.context,!1),iu(e,t.containerInfo)}function $c(e,t,n,s,i){return rs(),Xl(i),t.flags|=256,we(e,t,n,s),t.child}var tl={dehydrated:null,treeContext:null,retryLane:0};function nl(e){return{baseLanes:e,cachePool:null,transitions:null}}function Ih(e,t,n){var s=t.pendingProps,i=_.current,r=!1,o=(t.flags&128)!==0,l;if((l=o)||(l=e!==null&&e.memoizedState===null?!1:(i&2)!==0),l?(r=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(i|=1),F(_,i&1),e===null)return Qo(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(o=s.children,e=s.fallback,r?(s=t.mode,r=t.child,o={mode:"hidden",children:o},!(s&1)&&r!==null?(r.childLanes=0,r.pendingProps=o):r=lr(o,s,0,null),e=yn(e,s,n,null),r.return=t,e.return=t,r.sibling=e,t.child=r,t.child.memoizedState=nl(n),t.memoizedState=tl,e):pu(t,o));if(i=e.memoizedState,i!==null&&(l=i.dehydrated,l!==null))return jb(e,t,o,s,l,i,n);if(r){r=s.fallback,o=t.mode,i=e.child,l=i.sibling;var u={mode:"hidden",children:s.children};return!(o&1)&&t.child!==i?(s=t.child,s.childLanes=0,s.pendingProps=u,t.deletions=null):(s=Qt(i,u),s.subtreeFlags=i.subtreeFlags&14680064),l!==null?r=Qt(l,r):(r=yn(r,o,n,null),r.flags|=2),r.return=t,s.return=t,s.sibling=r,t.child=s,s=r,r=t.child,o=e.child.memoizedState,o=o===null?nl(n):{baseLanes:o.baseLanes|n,cachePool:null,transitions:o.transitions},r.memoizedState=o,r.childLanes=e.childLanes&~n,t.memoizedState=tl,s}return r=e.child,e=r.sibling,s=Qt(r,{mode:"visible",children:s.children}),!(t.mode&1)&&(s.lanes=n),s.return=t,s.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=s,t.memoizedState=null,s}function pu(e,t){return t=lr({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function Ga(e,t,n,s){return s!==null&&Xl(s),os(t,e.child,null,n),e=pu(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function jb(e,t,n,s,i,r,o){if(n)return t.flags&256?(t.flags&=-257,s=Wr(Error(q(422))),Ga(e,t,o,s)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(r=s.fallback,i=t.mode,s=lr({mode:"visible",children:s.children},i,0,null),r=yn(r,i,o,null),r.flags|=2,s.return=t,r.return=t,s.sibling=r,t.child=s,t.mode&1&&os(t,e.child,null,o),t.child.memoizedState=nl(o),t.memoizedState=tl,r);if(!(t.mode&1))return Ga(e,t,o,null);if(i.data==="$!"){if(s=i.nextSibling&&i.nextSibling.dataset,s)var l=s.dgst;return s=l,r=Error(q(419)),s=Wr(r,s,void 0),Ga(e,t,o,s)}if(l=(o&e.childLanes)!==0,Ee||l){if(s=ue,s!==null){switch(o&-o){case 4:i=2;break;case 16:i=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:i=32;break;case 536870912:i=268435456;break;default:i=0}i=i&(s.suspendedLanes|o)?0:i,i!==0&&i!==r.retryLane&&(r.retryLane=i,qt(e,i),it(s,e,i,-1))}return xu(),s=Wr(Error(q(421))),Ga(e,t,o,s)}return i.data==="$?"?(t.flags|=128,t.child=e.child,t=Vb.bind(null,e),i._reactRetry=t,null):(e=r.treeContext,Le=Ht(i.nextSibling),De=t,K=!0,nt=null,e!==null&&(He[We++]=vt,He[We++]=bt,He[We++]=In,vt=e.id,bt=e.overflow,In=t),t=pu(t,s.children),t.flags|=4096,t)}function Yc(e,t,n){e.lanes|=t;var s=e.alternate;s!==null&&(s.lanes|=t),$o(e.return,t,n)}function Kr(e,t,n,s,i){var r=e.memoizedState;r===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:s,tail:n,tailMode:i}:(r.isBackwards=t,r.rendering=null,r.renderingStartTime=0,r.last=s,r.tail=n,r.tailMode=i)}function kh(e,t,n){var s=t.pendingProps,i=s.revealOrder,r=s.tail;if(we(e,t,s.children,n),s=_.current,s&2)s=s&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Yc(e,n,t);else if(e.tag===19)Yc(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}s&=1}if(F(_,s),!(t.mode&1))t.memoizedState=null;else switch(i){case"forwards":for(n=t.child,i=null;n!==null;)e=n.alternate,e!==null&&Pi(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),Kr(t,!1,i,n,r);break;case"backwards":for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&Pi(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}Kr(t,!0,n,null,r);break;case"together":Kr(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function li(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Et(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),qn|=t.lanes,!(n&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(q(153));if(t.child!==null){for(e=t.child,n=Qt(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Qt(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function zb(e,t,n){switch(t.tag){case 3:Sh(t),rs();break;case 5:Jp(t);break;case 1:je(t.type)&&qi(t);break;case 4:iu(t,t.stateNode.containerInfo);break;case 10:var s=t.type._context,i=t.memoizedProps.value;F(ji,s._currentValue),s._currentValue=i;break;case 13:if(s=t.memoizedState,s!==null)return s.dehydrated!==null?(F(_,_.current&1),t.flags|=128,null):n&t.child.childLanes?Ih(e,t,n):(F(_,_.current&1),e=Et(e,t,n),e!==null?e.sibling:null);F(_,_.current&1);break;case 19:if(s=(n&t.childLanes)!==0,e.flags&128){if(s)return kh(e,t,n
vendor: 4,709 bytes, line 40
40);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),F(_,_.current),s)break;return null;case 22:case 23:return t.lanes=0,Ah(e,t,n)}return Et(e,t,n)}var qh,sl,Eh,Ch;qh=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};sl=function(){};Eh=function(e,t,n,s){var i=e.memoizedProps;if(i!==s){e=t.stateNode,vn(pt.current);var r=null;switch(n){case"input":i=ko(e,i),s=ko(e,s),r=[];break;case"select":i=Y({},i,{value:void 0}),s=Y({},s,{value:void 0}),r=[];break;case"textarea":i=Co(e,i),s=Co(e,s),r=[];break;default:typeof i.onClick!="function"&&typeof s.onClick=="function"&&(e.onclick=Ii)}zo(n,s);var o;n=null;for(c in i)if(!s.hasOwnProperty(c)&&i.hasOwnProperty(c)&&i[c]!=null)if(c==="style"){var l=i[c];for(o in l)l.hasOwnProperty(o)&&(n||(n={}),n[o]="")}else c!=="dangerouslySetInnerHTML"&&c!=="children"&&c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&c!=="autoFocus"&&($s.hasOwnProperty(c)?r||(r=[]):(r=r||[]).push(c,null));for(c in s){var u=s[c];if(l=i!=null?i[c]:void 0,s.hasOwnProperty(c)&&u!==l&&(u!=null||l!=null))if(c==="style")if(l){for(o in l)!l.hasOwnProperty(o)||u&&u.hasOwnProperty(o)||(n||(n={}),n[o]="");for(o in u)u.hasOwnProperty(o)&&l[o]!==u[o]&&(n||(n={}),n[o]=u[o])}else n||(r||(r=[]),r.push(c,n)),n=u;else c==="dangerouslySetInnerHTML"?(u=u?u.__html:void 0,l=l?l.__html:void 0,u!=null&&l!==u&&(r=r||[]).push(c,u)):c==="children"?typeof u!="string"&&typeof u!="number"||(r=r||[]).push(c,""+u):c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&($s.hasOwnProperty(c)?(u!=null&&c==="onScroll"&&B("scroll",e),r||l===u||(r=[])):(r=r||[]).push(c,u))}n&&(r=r||[]).push("style",n);var c=r;(t.updateQueue=c)&&(t.flags|=4)}};Ch=function(e,t,n,s){n!==s&&(t.flags|=4)};function ws(e,t){if(!K)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var s=null;n!==null;)n.alternate!==null&&(s=n),n=n.sibling;s===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:s.sibling=null}}function ge(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,s=0;if(t)for(var i=e.child;i!==null;)n|=i.lanes|i.childLanes,s|=i.subtreeFlags&14680064,s|=i.flags&14680064,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,s|=i.subtreeFlags,s|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=s,e.childLanes=n,t}function Nb(e,t,n){var s=t.pendingProps;switch(Zl(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ge(t),null;case 1:return je(t.type)&&ki(),ge(t),null;case 3:return s=t.stateNode,ls(),H(Ce),H(xe),ou(),s.pendingContext&&(s.context=s.pendingContext,s.pendingContext=null),(e===null||e.child===null)&&(Ra(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,nt!==null&&(dl(nt),nt=null))),sl(e,t),ge(t),null;case 5:ru(t);var i=vn(oa.current);if(n=t.type,e!==null&&t.stateNode!=null)Eh(e,t,n,s,i),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!s){if(t.stateNode===null)throw Error(q(166));return ge(t),null}if(e=vn(pt.current),Ra(t)){s=t.stateNode,n=t.type;var r=t.memoizedProps;switch(s[dt]=t,s[ia]=r,e=(t.mode&1)!==0,n){case"dialog":B("cancel",s),B("close",s);break;case"iframe":case"object":case"embed":B("load",s);break;case"video":case"audio":for(i=0;i<Ts.length;i++)B(Ts[i],s);break;case"source":B("error",s);break;case"img":case"image":case"link":B("error",s),B("load",s);break;case"details":B("toggle",s);break;case"input":ic(s,r),B("invalid",s);break;case"select":s._wrapperState={wasMultiple:!!r.multiple},B("invalid",s);break;case"textarea":oc(s,r),B("invalid",s)}zo(n,r),i=null;for(var o in r)if(r.hasOwnProperty(o)){var l=r[o];o==="children"?typeof l=="string"?s.textContent!==l&&(r.suppressHydrationWarning!==!0&&Oa(s.textContent,l,e),i=["children",l]):typeof l=="number"&&s.textContent!==""+l&&(r.suppressHydrationWarning!==!0&&Oa(s.textContent,l,e),i=["children",""+l]):$s.hasOwnProperty(o)&&l!=null&&o==="onScroll"&&B("scroll",s)}switch(n){case"input":ja(s),rc(s,r,!0);break;case"textarea":ja(s),lc(s);break;case"select":case"option":break;default:typeof r.onClick=="function"&&(s.onclick=Ii)}s=i,t.updateQueue=s,s!==null&&(t.flags|=4)}else{o=i.nodeType===9?i:i.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=np(n)),e==="http://www.w3.org/1999/xhtml"?n==="script"?(e=o.createElement("div"),e.innerHTML="<script><\/script>
40",e=e.removeChild(e.firstChild)):typeof s.is=="string"?e=o.createElement(n,{is:s.is}):(e=o.createElement(n),n==="select"&&(o=e,s.multiple?o.multiple=!0:s.size&&(o.size=s.size))):e=o.createElementNS(e,n),e[dt]=t,e[ia]=s,qh(e,t,!1,!1),t.stateNode=e;e:{switch(o=No(n,s),n){case"dialog":B("cancel",e),B("close",e),i=s;break;case"iframe":case"object":case"embed":B("load",e),i=s;break;case"video":case"audio":for(i=0;i<Ts.length;i++)B(Ts[i],e);i=s;break;case"source":B("error",e),i=s;break;case"img":case"image":case"link":B("error",e),B("load",e),i=s;break;case"details":B("toggle",e),i=s;break;case"input":ic(e,s),i=ko(e,s),B("invalid",e);break;case"option":i=s;break;case"select":e._wrapperState={wasMultiple:!!s.multiple},i=Y({},s,{value:void 0}),B("invalid",e);break;case"textarea":oc(e,s),i=Co(e,s),B("invalid",e);break;default:i=s}zo(n,i),l=i;for(r in l)if(l.hasOwnProperty(r)){var u=l[r];r==="style"?ip(e,u):r==="dangerouslySetInnerHTML"?(u=u?u.__html:void 0,u!=null&&sp(e,u)):r==="children"?typeof u=="string"?(n!=="textarea"||u!=="")&&Ys(e,u):typeof u=="number"&&Ys(e,""+u):r!=="suppressContentEditableWarning"&&r!=="suppressHydrationWarning"&&r!=="autoFocus"&&($s.hasOwnProperty(r)?u!=null&&r==="onScroll"&&B("scroll",e):u!=null&&Ol(e,r,u,o))}switch(n){case"input":ja(e),rc(e,s,!1);break;case"textarea":ja(e),lc(e);break;case"option":s.value!=null&&e.setAttribute("value",""+Yt(s.value));break;case"select":e.multiple=!!s.multiple,r=s.value,r!=null?Zn(e,!!s.multiple,r,!1):s.defaultValue!=null&&Zn(e,!!s.multiple,s.defaultValue,!0);break;default:typeof i.onClick=="function"&&(e.onclick=Ii)}switch(n){case"button":case"input":case"select":case"textarea":s=!!s.autoFocus;break e;case"img":s=!0;break e;default:s=!1}}s&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return ge(t),null;case 6:if(e&&t.stateNode!=null)Ch(e,t,e.memoizedProps,s);else{if(typeof s!="string"&&t.stateNode===null)throw Error(q(166));if(n=vn(oa.current),vn(pt.current),Ra(t)){if(s=t.stateNode,n=t.memoizedProps,s[dt]=t,(r=s.nodeValue!==n)&&(e=De,e!==null))switch(e.tag){case 3:Oa(s.nodeValue,n,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&Oa(s.nodeValue,n,(e.mode&1)!==0)}r&&(t.flags|=4)}else s=(n.nodeType===9?n:n.ownerDocument).createTextNode(s),s[dt]=t,t.stateNode=s}return ge(t),null;case 13:if(H(_),s=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(K&&Le!==null&&t.mode&1&&!(t.flags&128))Kp(),rs(),t.flags|=98560,r=!1;else if(r=Ra(t),s!==null&&s.dehydrated!==null){if(e===null){if(!r)throw Error(q(318));if(r=t.memoizedState,r=r!==null?r.dehydrated:null,!r)throw Error(q(317));r[dt]=t}else rs(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;ge(t),r=!1}else nt!==null&&(dl(nt),nt=null),r=!0;if(!r)return t.flags&65536?t:null}return t.flags&128?(t.lanes=n,t):(s=s!==null,s!==(e!==null&&e.memoizedState!==null)&&s&&(t.child.flags|=8192,t.mode&1&&(e===null||_.current&1?ie===0&&(ie=3):xu())),t.updateQueue!==null&&(t.flags|=4),ge(t),null);case 4:return ls(),sl(e,t),e===null&&sa(t.stateNode.containerInfo),ge(t),null;case 10:return nu(t.type._context),ge(t),null;case 17:return je(t.type)&&ki(),ge(t),null;case 19:if(H(_),r=t.memoizedState,r===null)return ge(t),null;if(s=(t.flags&128)!==0,o=r.rendering,o===null)if(s)ws(r,!1);else{if(ie!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=Pi(e),o!==null){for(t.flags|=128,ws(r,!1),s=o.updateQueue,s!==null&&(t.updateQueue=s,t.flags|=4),t.subtreeFlags=0,s=n,n=t.child;n!==null;)r=n,e=s,r.flags&=14680066,o=r.alternate,o===null?(r.childLanes=0,r.lanes=e,r.child=null,r.subtreeFlags=0,r.memoizedProps=null,r.memoizedState=null,r.updateQueue=null,r.dependencies=null,r.stateNode=null):(r.childLanes=o.childLanes,r.lanes=o.lanes,r.child=o.child,r.subtreeFlags=0,r.deletions=null,r.memoizedProps=o.memoizedProps,r.memoizedState=o.memoizedState,r.updateQueue=o.updateQueue,r.type=o.type,e=o.dependencies,r.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return F(_,_.current&1|2),t.child}e=e.sibling}r.tail!==null&&X()>cs&&(t.flags|=128,s=!0,ws(r,!1),t.lanes=4194304)}else{if(!s)if(e=Pi(o),e!==null){if(t.flags|=128,s=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),ws(r,!0),r.tail===null&&r.tailMode==="hidden"&&!o.alternate&&!K)return ge(t),null}else 2*X()-r.renderingStartTime>cs&&n!==1073741824&&(t.flags|=128,s=!0,ws(r,!1),t.lanes=4194304);r.isBackwards?(o.sibling=t.child,t.child=o):(n=r.last,n!==null?n.sibling=o:t.child=o,r.last=o
vendor: 26,148 bytes, line 40
40)}return r.tail!==null?(t=r.tail,r.rendering=t,r.tail=t.sibling,r.renderingStartTime=X(),t.sibling=null,n=_.current,F(_,s?n&1|2:n&1),t):(ge(t),null);case 22:case 23:return bu(),s=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==s&&(t.flags|=8192),s&&t.mode&1?Me&1073741824&&(ge(t),t.subtreeFlags&6&&(t.flags|=8192)):ge(t),null;case 24:return null;case 25:return null}throw Error(q(156,t.tag))}function Pb(e,t){switch(Zl(t),t.tag){case 1:return je(t.type)&&ki(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ls(),H(Ce),H(xe),ou(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return ru(t),null;case 13:if(H(_),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(q(340));rs()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return H(_),null;case 4:return ls(),null;case 10:return nu(t.type._context),null;case 22:case 23:return bu(),null;case 24:return null;default:return null}}var Fa=!1,ve=!1,Tb=typeof WeakSet=="function"?WeakSet:Set,z=null;function Kn(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(s){J(e,t,s)}else n.current=null}function al(e,t,n){try{n()}catch(s){J(e,t,s)}}var Jc=!1;function Mb(e,t){if(Fo=Ai,e=Tp(),Yl(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var s=n.getSelection&&n.getSelection();if(s&&s.rangeCount!==0){n=s.anchorNode;var i=s.anchorOffset,r=s.focusNode;s=s.focusOffset;try{n.nodeType,r.nodeType}catch{n=null;break e}var o=0,l=-1,u=-1,c=0,d=0,m=e,p=null;t:for(;;){for(var h;m!==n||i!==0&&m.nodeType!==3||(l=o+i),m!==r||s!==0&&m.nodeType!==3||(u=o+s),m.nodeType===3&&(o+=m.nodeValue.length),(h=m.firstChild)!==null;)p=m,m=h;for(;;){if(m===e)break t;if(p===n&&++c===i&&(l=o),p===r&&++d===s&&(u=o),(h=m.nextSibling)!==null)break;m=p,p=m.parentNode}m=h}n=l===-1||u===-1?null:{start:l,end:u}}else n=null}n=n||{start:0,end:0}}else n=null;for(Vo={focusedElem:e,selectionRange:n},Ai=!1,z=t;z!==null;)if(t=z,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,z=e;else for(;z!==null;){t=z;try{var v=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(v!==null){var x=v.memoizedProps,I=v.memoizedState,b=t.stateNode,g=b.getSnapshotBeforeUpdate(t.elementType===t.type?x:Xe(t.type,x),I);b.__reactInternalSnapshotBeforeUpdate=g}break;case 3:var f=t.stateNode.containerInfo;f.nodeType===1?f.textContent="":f.nodeType===9&&f.documentElement&&f.removeChild(f.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(q(163))}}catch(y){J(t,t.return,y)}if(e=t.sibling,e!==null){e.return=t.return,z=e;break}z=t.return}return v=Jc,Jc=!1,v}function Vs(e,t,n){var s=t.updateQueue;if(s=s!==null?s.lastEffect:null,s!==null){var i=s=s.next;do{if((i.tag&e)===e){var r=i.destroy;i.destroy=void 0,r!==void 0&&al(t,n,r)}i=i.next}while(i!==s)}}function rr(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var s=n.create;n.destroy=s()}n=n.next}while(n!==t)}}function il(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function jh(e){var t=e.alternate;t!==null&&(e.alternate=null,jh(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[dt],delete t[ia],delete t[Wo],delete t[fb],delete t[vb])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function zh(e){return e.tag===5||e.tag===3||e.tag===4}function Zc(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||zh(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function rl(e,t,n){var s=e.tag;if(s===5||s===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Ii));else if(s!==4&&(e=e.child,e!==null))for(rl(e,t,n),e=e.sibling;e!==null;)rl(e,t,n),e=e.sibling}function ol(e,t,n){var s=e.tag;if(s===5||s===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(s!==4&&(e=e.child,e!==null))for(ol(e,t,n),e=e.sibling;e!==null;)ol(e,t,n),e=e.sibling}var de=null,et=!1;function Nt(e,t,n){for(n=n.child;n!==null;)Nh(e,t,n),n=n.sibling}function Nh(e,t,n){if(mt&&typeof mt.onCommitFiberUnmount=="function")try{mt.onCommitFiberUnmount(Zi,n)}catch{}switch(n.tag){case 5:ve||Kn(n,t);case 6:var s=de,i=et;de=null,Nt(e,t,n),de=s,et=i,de!==null&&(et?(e=de,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):de.removeChild(n.stateNode));break;case 18:de!==null&&(et?(e=de,n=n.stateNode,e.nodeType===8?Ur(e.parentNode,n):e.nodeType===1&&Ur(e,n),ea(e)):Ur(de,n.stateNode));break;case 4:s=de,i=et,de=n.stateNode.containerInfo,et=!0,Nt(e,t,n),de=s,et=i;break;case 0:case 11:case 14:case 15:if(!ve&&(s=n.updateQueue,s!==null&&(s=s.lastEffect,s!==null))){i=s=s.next;do{var r=i,o=r.destroy;r=r.tag,o!==void 0&&(r&2||r&4)&&al(n,t,o),i=i.next}while(i!==s)}Nt(e,t,n);break;case 1:if(!ve&&(Kn(n,t),s=n.stateNode,typeof s.componentWillUnmount=="function"))try{s.props=n.memoizedProps,s.state=n.memoizedState,s.componentWillUnmount()}catch(l){J(n,t,l)}Nt(e,t,n);break;case 21:Nt(e,t,n);break;case 22:n.mode&1?(ve=(s=ve)||n.memoizedState!==null,Nt(e,t,n),ve=s):Nt(e,t,n);break;default:Nt(e,t,n)}}function Xc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Tb),t.forEach(function(s){var i=Bb.bind(null,e,s);n.has(s)||(n.add(s),s.then(i,i))})}}function Je(e,t){var n=t.deletions;if(n!==null)for(var s=0;s<n.length;s++){var i=n[s];try{var r=e,o=t,l=o;e:for(;l!==null;){switch(l.tag){case 5:de=l.stateNode,et=!1;break e;case 3:de=l.stateNode.containerInfo,et=!0;break e;case 4:de=l.stateNode.containerInfo,et=!0;break e}l=l.return}if(de===null)throw Error(q(160));Nh(r,o,i),de=null,et=!1;var u=i.alternate;u!==null&&(u.return=null),i.return=null}catch(c){J(i,t,c)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)Ph(t,e),t=t.sibling}function Ph(e,t){var n=e.alternate,s=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(Je(t,e),lt(e),s&4){try{Vs(3,e,e.return),rr(3,e)}catch(x){J(e,e.return,x)}try{Vs(5,e,e.return)}catch(x){J(e,e.return,x)}}break;case 1:Je(t,e),lt(e),s&512&&n!==null&&Kn(n,n.return);break;case 5:if(Je(t,e),lt(e),s&512&&n!==null&&Kn(n,n.return),e.flags&32){var i=e.stateNode;try{Ys(i,"")}catch(x){J(e,e.return,x)}}if(s&4&&(i=e.stateNode,i!=null)){var r=e.memoizedProps,o=n!==null?n.memoizedProps:r,l=e.type,u=e.updateQueue;if(e.updateQueue=null,u!==null)try{l==="input"&&r.type==="radio"&&r.name!=null&&ep(i,r),No(l,o);var c=No(l,r);for(o=0;o<u.length;o+=2){var d=u[o],m=u[o+1];d==="style"?ip(i,m):d==="dangerouslySetInnerHTML"?sp(i,m):d==="children"?Ys(i,m):Ol(i,d,m,c)}switch(l){case"input":qo(i,r);break;case"textarea":tp(i,r);break;case"select":var p=i._wrapperState.wasMultiple;i._wrapperState.wasMultiple=!!r.multiple;var h=r.value;h!=null?Zn(i,!!r.multiple,h,!1):p!==!!r.multiple&&(r.defaultValue!=null?Zn(i,!!r.multiple,r.defaultValue,!0):Zn(i,!!r.multiple,r.multiple?[]:"",!1))}i[ia]=r}catch(x){J(e,e.return,x)}}break;case 6:if(Je(t,e),lt(e),s&4){if(e.stateNode===null)throw Error(q(162));i=e.stateNode,r=e.memoizedProps;try{i.nodeValue=r}catch(x){J(e,e.return,x)}}break;case 3:if(Je(t,e),lt(e),s&4&&n!==null&&n.memoizedState.isDehydrated)try{ea(t.containerInfo)}catch(x){J(e,e.return,x)}break;case 4:Je(t,e),lt(e);break;case 13:Je(t,e),lt(e),i=e.child,i.flags&8192&&(r=i.memoizedState!==null,i.stateNode.isHidden=r,!r||i.alternate!==null&&i.alternate.memoizedState!==null||(fu=X())),s&4&&Xc(e);break;case 22:if(d=n!==null&&n.memoizedState!==null,e.mode&1?(ve=(c=ve)||d,Je(t,e),ve=c):Je(t,e),lt(e),s&8192){if(c=e.memoizedState!==null,(e.stateNode.isHidden=c)&&!d&&e.mode&1)for(z=e,d=e.child;d!==null;){for(m=z=d;z!==null;){switch(p=z,h=p.child,p.tag){case 0:case 11:case 14:case 15:Vs(4,p,p.return);break;case 1:Kn(p,p.return);var v=p.stateNode;if(typeof v.componentWillUnmount=="function"){s=p,n=p.return;try{t=s,v.props=t.memoizedProps,v.state=t.memoizedState,v.componentWillUnmount()}catch(x){J(s,n,x)}}break;case 5:Kn(p,p.return);break;case 22:if(p.memoizedState!==null){td(m);continue}}h!==null?(h.return=p,z=h):td(m)}d=d.sibling}e:for(d=null,m=e;;){if(m.tag===5){if(d===null){d=m;try{i=m.stateNode,c?(r=i.style,typeof r.setProperty=="function"?r.setProperty("display","none","important"):r.display="none"):(l=m.stateNode,u=m.memoizedProps.style,o=u!=null&&u.hasOwnProperty("display")?u.display:null,l.style.display=ap("display",o))}catch(x){J(e,e.return,x)}}}else if(m.tag===6){if(d===null)try{m.stateNode.nodeValue=c?"":m.memoizedProps}catch(x){J(e,e.return,x)}}else if((m.tag!==22&&m.tag!==23||m.memoizedState===null||m===e)&&m.child!==null){m.child.return=m,m=m.child;continue}if(m===e)break e;for(;m.sibling===null;){if(m.return===null||m.return===e)break e;d===m&&(d=null),m=m.return}d===m&&(d=null),m.sibling.return=m.return,m=m.sibling}}break;case 19:Je(t,e),lt(e),s&4&&Xc(e);break;case 21:break;default:Je(t,e),lt(e)}}function lt(e){var t=e.flags;if(t&2){try{e:{for(var n=e.return;n!==null;){if(zh(n)){var s=n;break e}n=n.return}throw Error(q(160))}switch(s.tag){case 5:var i=s.stateNode;s.flags&32&&(Ys(i,""),s.flags&=-33);var r=Zc(e);ol(e,r,i);break;case 3:case 4:var o=s.stateNode.containerInfo,l=Zc(e);rl(e,l,o);break;default:throw Error(q(161))}}catch(u){J(e,e.return,u)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function Lb(e,t,n){z=e,Th(e)}function Th(e,t,n){for(var s=(e.mode&1)!==0;z!==null;){var i=z,r=i.child;if(i.tag===22&&s){var o=i.memoizedState!==null||Fa;if(!o){var l=i.alternate,u=l!==null&&l.memoizedState!==null||ve;l=Fa;var c=ve;if(Fa=o,(ve=u)&&!c)for(z=i;z!==null;)o=z,u=o.child,o.tag===22&&o.memoizedState!==null?nd(i):u!==null?(u.return=o,z=u):nd(i);for(;r!==null;)z=r,Th(r),r=r.sibling;z=i,Fa=l,ve=c}ed(e)}else i.subtreeFlags&8772&&r!==null?(r.return=i,z=r):ed(e)}}function ed(e){for(;z!==null;){var t=z;if(t.flags&8772){var n=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:ve||rr(5,t);break;case 1:var s=t.stateNode;if(t.flags&4&&!ve)if(n===null)s.componentDidMount();else{var i=t.elementType===t.type?n.memoizedProps:Xe(t.type,n.memoizedProps);s.componentDidUpdate(i,n.memoizedState,s.__reactInternalSnapshotBeforeUpdate)}var r=t.updateQueue;r!==null&&Rc(t,r,s);break;case 3:var o=t.updateQueue;if(o!==null){if(n=null,t.child!==null)switch(t.child.tag){case 5:n=t.child.stateNode;break;case 1:n=t.child.stateNode}Rc(t,o,n)}break;case 5:var l=t.stateNode;if(n===null&&t.flags&4){n=l;var u=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":u.autoFocus&&n.focus();break;case"img":u.src&&(n.src=u.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var c=t.alternate;if(c!==null){var d=c.memoizedState;if(d!==null){var m=d.dehydrated;m!==null&&ea(m)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(q(163))}ve||t.flags&512&&il(t)}catch(p){J(t,t.return,p)}}if(t===e){z=null;break}if(n=t.sibling,n!==null){n.return=t.return,z=n;break}z=t.return}}function td(e){for(;z!==null;){var t=z;if(t===e){z=null;break}var n=t.sibling;if(n!==null){n.return=t.return,z=n;break}z=t.return}}function nd(e){for(;z!==null;){var t=z;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{rr(4,t)}catch(u){J(t,n,u)}break;case 1:var s=t.stateNode;if(typeof s.componentDidMount=="function"){var i=t.return;try{s.componentDidMount()}catch(u){J(t,i,u)}}var r=t.return;try{il(t)}catch(u){J(t,r,u)}break;case 5:var o=t.return;try{il(t)}catch(u){J(t,o,u)}}}catch(u){J(t,t.return,u)}if(t===e){z=null;break}var l=t.sibling;if(l!==null){l.return=t.return,z=l;break}z=t.return}}var Db=Math.ceil,Li=jt.ReactCurrentDispatcher,hu=jt.ReactCurrentOwner,Qe=jt.ReactCurrentBatchConfig,R=0,ue=null,se=null,me=0,Me=0,_n=tn(0),ie=0,da=null,qn=0,or=0,gu=0,Bs=null,qe=null,fu=0,cs=1/0,gt=null,Di=!1,ll=null,Kt=null,Va=!1,Gt=null,Oi=0,Hs=0,ul=null,ui=-1,ci=0;function Se(){return R&6?X():ui!==-1?ui:ui=X()}function _t(e){return e.mode&1?R&2&&me!==0?me&-me:xb.transition!==null?(ci===0&&(ci=vp()),ci):(e=G,e!==0||(e=window.event,e=e===void 0?16:Ip(e.type)),e):1}function it(e,t,n,s){if(50<Hs)throw Hs=0,ul=null,Error(q(185));ba(e,n,s),(!(R&2)||e!==ue)&&(e===ue&&(!(R&2)&&(or|=n),ie===4&&Rt(e,me)),ze(e,s),n===1&&R===0&&!(t.mode&1)&&(cs=X()+500,sr&&nn()))}function ze(e,t){var n=e.callbackNode;xv(e,t);var s=yi(e,e===ue?me:0);if(s===0)n!==null&&dc(n),e.callbackNode=null,e.callbackPriority=0;else if(t=s&-s,e.callbackPriority!==t){if(n!=null&&dc(n),t===1)e.tag===0?bb(sd.bind(null,e)):Bp(sd.bind(null,e)),hb(function(){!(R&6)&&nn()}),n=null;else{switch(bp(s)){case 1:n=Vl;break;case 4:n=gp;break;case 16:n=xi;break;case 536870912:n=fp;break;default:n=xi}n=Fh(n,Mh.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function Mh(e,t){if(ui=-1,ci=0,R&6)throw Error(q(327));var n=e.callbackNode;if(ss()&&e.callbackNode!==n)return null;var s=yi(e,e===ue?me:0);if(s===0)return null;if(s&30||s&e.expiredLanes||t)t=Ri(e,s);else{t=s;var i=R;R|=2;var r=Dh();(ue!==e||me!==t)&&(gt=null,cs=X()+500,xn(e,t));do try{Ub();break}catch(l){Lh(e,l)}while(!0);tu(),Li.current=r,R=i,se!==null?t=0:(ue=null,me=0,t=ie)}if(t!==0){if(t===2&&(i=Do(e),i!==0&&(s=i,t=cl(e,i))),t===1)throw n=da,xn(e,0),Rt(e,s),ze(e,X()),n;if(t===6)Rt(e,s);else{if(i=e.current.alternate,!(s&30)&&!Ob(i)&&(t=Ri(e,s),t===2&&(r=Do(e),r!==0&&(s=r,t=cl(e,r))),t===1))throw n=da,xn(e,0),Rt(e,s),ze(e,X()),n;switch(e.finishedWork=i,e.finishedLanes=s,t){case 0:case 1:throw Error(q(345));case 2:dn(e,qe,gt);break;case 3:if(Rt(e,s),(s&130023424)===s&&(t=fu+500-X(),10<t)){if(yi(e,0)!==0)break;if(i=e.suspendedLanes,(i&s)!==s){Se(),e.pingedLanes|=e.suspendedLanes&i;break}e.timeoutHandle=Ho(dn.bind(null,e,qe,gt),t);break}dn(e,qe,gt);break;case 4:if(Rt(e,s),(s&4194240)===s)break;for(t=e.eventTimes,i=-1;0<s;){var o=31-at(s);r=1<<o,o=t[o],o>i&&(i=o),s&=~r}if(s=i,s=X()-s,s=(120>s?120:480>s?480:1080>s?1080:1920>s?1920:3e3>s?3e3:4320>s?4320:1960*Db(s/1960))-s,10<s){e.timeoutHandle=Ho(dn.bind(null,e,qe,gt),s);break}dn(e,qe,gt);break;case 5:dn(e,qe,gt);break;default:throw Error(q(329))}}}return ze(e,X()),e.callbackNode===n?Mh.bind(null,e):null}function cl(e,t){var n=Bs;return e.current.memoizedState.isDehydrated&&(xn(e,t).flags|=256),e=Ri(e,t),e!==2&&(t=qe,qe=n,t!==null&&dl(t)),e}function dl(e){qe===null?qe=e:qe.push.apply(qe,e)}function Ob(e){for(var t=e;;){if(t.flags&16384){var n=t.updateQueue;if(n!==null&&(n=n.stores,n!==null))for(var s=0;s<n.length;s++){var i=n[s],r=i.getSnapshot;i=i.value;try{if(!rt(r(),i))return!1}catch{return!1}}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function Rt(e,t){for(t&=~gu,t&=~or,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-at(t),s=1<<n;e[n]=-1,t&=~s}}function sd(e){if(R&6)throw Error(q(327));ss();var t=yi(e,0);if(!(t&1))return ze(e,X()),null;var n=Ri(e,t);if(e.tag!==0&&n===2){var s=Do(e);s!==0&&(t=s,n=cl(e,s))}if(n===1)throw n=da,xn(e,0),Rt(e,t),ze(e,X()),n;if(n===6)throw Error(q(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,dn(e,qe,gt),ze(e,X()),null}function vu(e,t){var n=R;R|=1;try{return e(t)}finally{R=n,R===0&&(cs=X()+500,sr&&nn())}}function En(e){Gt!==null&&Gt.tag===0&&!(R&6)&&ss();var t=R;R|=1;var n=Qe.transition,s=G;try{if(Qe.transition=null,G=1,e)return e()}finally{G=s,Qe.transition=n,R=t,!(R&6)&&nn()}}function bu(){Me=_n.current,H(_n)}function xn(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(n!==-1&&(e.timeoutHandle=-1,pb(n)),se!==null)for(n=se.return;n!==null;){var s=n;switch(Zl(s),s.tag){case 1:s=s.type.childContextTypes,s!=null&&ki();break;case 3:ls(),H(Ce),H(xe),ou();break;case 5:ru(s);break;case 4:ls();break;case 13:H(_);break;case 19:H(_);break;case 10:nu(s.type._context);break;case 22:case 23:bu()}n=n.return}if(ue=e,se=e=Qt(e.current,null),me=Me=t,ie=0,da=null,gu=or=qn=0,qe=Bs=null,fn!==null){for(t=0;t<fn.length;t++)if(n=fn[t],s=n.interleaved,s!==null){n.interleaved=null;var i=s.next,r=n.pending;if(r!==null){var o=r.next;r.next=i,s.next=o}n.pending=s}fn=null}return e}function Lh(e,t){do{var n=se;try{if(tu(),ri.current=Mi,Ti){for(var s=$.memoizedState;s!==null;){var i=s.queue;i!==null&&(i.pending=null),s=s.next}Ti=!1}if(kn=0,le=ae=$=null,Fs=!1,la=0,hu.current=null,n===null||n.return===null){ie=1,da=t,se=null;break}e:{var r=e,o=n.return,l=n,u=t;if(t=me,l.flags|=32768,u!==null&&typeof u=="object"&&typeof u.then=="function"){var c=u,d=l,m=d.tag;if(!(d.mode&1)&&(m===0||m===11||m===15)){var p=d.alternate;p?(d.updateQueue=p.updateQueue,d.memoizedState=p.memoizedState,d.lanes=p.lanes):(d.updateQueue=null,d.memoizedState=null)}var h=Hc(o);if(h!==null){h.flags&=-257,Wc(h,o,l,r,t),h.mode&1&&Bc(r,c,t),t=h,u=c;var v=t.updateQueue;if(v===null){var x=new Set;x.add(u),t.updateQueue=x}else v.add(u);break e}else{if(!(t&1)){Bc(r,c,t),xu();break e}u=Error(q(426))}}else if(K&&l.mode&1){var I=Hc(o);if(I!==null){!(I.flags&65536)&&(I.flags|=256),Wc(I,o,l,r,t),Xl(us(u,l));break e}}r=u=us(u,l),ie!==4&&(ie=2),Bs===null?Bs=[r]:Bs.push(r),r=o;do{switch(r.tag){case 3:r.flags|=65536,t&=-t,r.lanes|=t;var b=bh(r,u,t);Oc(r,b);break e;case 1:l=u;var g=r.type,f=r.stateNode;if(!(r.flags&128)&&(typeof g.getDerivedStateFromError=="function"||f!==null&&typeof f.componentDidCatch=="function"&&(Kt===null||!Kt.has(f)))){r.flags|=65536,t&=-t,r.lanes|=t;var y=xh(r,l,t);Oc(r,y);break e}}r=r.return}while(r!==null)}Rh(n)}catch(S){t=S,se===n&&n!==null&&(se=n=n.return);continue}break}while(!0)}function Dh(){var e=Li.current;return Li.current=Mi,e===null?Mi:e}function xu(){(ie===0||ie===3||ie===2)&&(ie=4),ue===null||!(qn&268435455)&&!(or&268435455)||Rt(ue,me)}function Ri(e,t){var n=R;R|=2;var s=Dh();(ue!==e||me!==t)&&(gt=null,xn(e,t));do try{Rb();break}catch(i){Lh(e,i)}while(!0);if(tu(),R=n,Li.current=s,se!==null)throw Error(q(261));return ue=null,me=0,ie}function Rb(){for(;se!==null;)Oh(se)}function Ub(){for(;se!==null&&!cv();)Oh(se)}function Oh(e){var t=Gh(e.alternate,e,Me);e.memoizedProps=e.pendingProps,t===null?Rh(e):se=t,hu.current=null}function Rh(e){var t=e;do{var n=t.alternate;if(e=t.return,t.flags&32768){if(n=Pb(n,t),n!==null){n.flags&=32767,se=n;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{ie=6,se=null;return}}else if(n=Nb(n,t,Me),n!==null){se=n;return}if(t=t.sibling,t!==null){se=t;return}se=t=e}while(t!==null);ie===0&&(ie=5)}function dn(e,t,n){var s=G,i=Qe.transition;try{Qe.transition=null,G=1,Gb(e,t,n,s)}finally{Qe.transition=i,G=s}return null}function Gb(e,t,n,s){do ss();while(Gt!==null);if(R&6)throw Error(q(327));n=e.finishedWork;var i=e.finishedLanes;if(n===null)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(q(177));e.callbackNode=null,e.callbackPriority=0;var r=n.lanes|n.childLanes;if(yv(e,r),e===ue&&(se=ue=null,me=0),!(n.subtreeFlags&2064)&&!(n.flags&2064)||Va||(Va=!0,Fh(xi,function(){return ss(),null})),r=(n.flags&15990)!==0,n.subtreeFlags&15990||r){r=Qe.transition,Qe.transition=null;var o=G;G=1;var l=R;R|=4,hu.current=null,Mb(e,n),Ph(n,e),rb(Vo),Ai=!!Fo,Vo=Fo=null,e.current=n,Lb(n),dv(),R=l,G=o,Qe.transition=r}else e.current=n;if(Va&&(Va=!1,Gt=e,Oi=i),r=e.pendingLanes,r===0&&(Kt=null),hv(n.stateNode),ze(e,X()),t!==null)for(s=e.onRecoverableError,n=0;n<t.length;n++)i=t[n],s(i.value,{componentStack:i.stack,digest:i.digest});if(Di)throw Di=!1,e=ll,ll=null,e;return Oi&1&&e.tag!==0&&ss(),r=e.pendingLanes,r&1?e===ul?Hs++:(Hs=0,ul=e):Hs=0,nn(),null}function ss(){if(Gt!==null){var e=bp(Oi),t=Qe.transition,n=G;try{if(Qe.transition=null,G=16>e?16:e,Gt===null)var s=!1;else{if(e=Gt,Gt=null,Oi=0,R&6)throw Error(q(331));var i=R;for(R|=4,z=e.current;z!==null;){var r=z,o=r.child;if(z.flags&16){var l=r.deletions;if(l!==null){for(var u=0;u<l.length;u++){var c=l[u];for(z=c;z!==null;){var d=z;switch(d.tag){case 0:case 11:case 15:Vs(8,d,r)}var m=d.child;if(m!==null)m.return=d,z=m;else for(;z!==null;){d=z;var p=d.sibling,h=d.return;if(jh(d),d===c){z=null;break}if(p!==null){p.return=h,z=p;break}z=h}}}var v=r.alternate;if(v!==null){var x=v.child;if(x!==null){v.child=null;do{var I=x.sibling;x.sibling=null,x=I}while(x!==null)}}z=r}}if(r.subtreeFlags&2064&&o!==null)o.return=r,z=o;else e:for(;z!==null;){if(r=z,r.flags&2048)switch(r.tag){case 0:case 11:case 15:Vs(9,r,r.return)}var b=r.sibling;if(b!==null){b.return=r.return,z=b;break e}z=r.return}}var g=e.current;for(z=g;z!==null;){o=z;var f=o.child;if(o.subtreeFlags&2064&&f!==null)f.return=o,z=f;else e:for(o=g;z!==null;){if(l=z,l.flags&2048)try{switch(l.tag){case 0:case 11:case 15:rr(9,l)}}catch(S){J(l,l.return,S)}if(l===o){z=null;break e}var y=l.sibling;if(y!==null){y.return=l.return,z=y;break e}z=l.return}}if(R=i,nn(),mt&&typeof mt.onPostCommitFiberRoot=="function")try{mt.onPostCommitFiberRoot(Zi,e)}catch{}s=!0}return s}finally{G=n,Qe.transition=t}}return!1}function ad(e,t,n){t=us(n,t),t=bh(e,t,1),e=Wt(e,t,1),t=Se(),e!==null&&(ba(e,1,t),ze(e,t))}function J(e,t,n){if(e.tag===3)ad(e,e,n);else for(;t!==null;){if(t.tag===3){ad(t,e,n);break}else if(t.tag===1){var s=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof s.componentDidCatch=="function"&&(Kt===null||!Kt.has(s))){e=us(n,e),e=xh(t,e,1),t=Wt(t,e,1),e=Se(),t!==null&&(ba(t,1,e),ze(t,e));break}}t=t.return}}function Fb(e,t,n){var s=e.pingCache;s!==null&&s.delete(t),t=Se(),e.pingedLanes|=e.suspendedLanes&n,ue===e&&(me&n)===n&&(ie===4||ie===3&&(me&130023424)===me&&500>X()-fu?xn(e,0):gu|=n),ze(e,t)}function Uh(e,t){t===0&&(e.mode&1?(t=Pa,Pa<<=1,!(Pa&130023424)&&(Pa=4194304)):t=1);var n=Se();e=qt(e,t),e!==null&&(ba(e,t,n),ze(e,n))}function Vb(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Uh(e,n)}function Bb(e,t){var n=0;switch(e.tag){case 13:var s=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:s=e.stateNode;break;default:throw Error(q(314))}s!==null&&s.delete(t),Uh(e,n)}var Gh;Gh=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Ce.current)Ee=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Ee=!1,zb(e,t,n);Ee=!!(e.flags&131072)}else Ee=!1,K&&t.flags&1048576&&Hp(t,Ci,t.index);switch(t.lanes=0,t.tag){case 2:var s=t.type;li(e,t),e=t.pendingProps;var i=is(t,xe.current);ns(t,n),i=uu(null,t,s,e,i,n);var r=cu();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,je(s)?(r=!0,qi(t)):r=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,au(t),i.updater=ir,t.stateNode=i,i._reactInternals=t,Jo(t,s,e,n),t=el(null,t,s,!0,r,n)):(t.tag=0,K&&r&&Jl(t),we(null,t,i,n),t=t.child),t;case 16:s=t.elementType;e:{switch(li(e,t),e=t.pendingProps,i=s._init,s=i(s._payload),t.type=s,i=t.tag=Wb(s),e=Xe(s,e),i){case 0:t=Xo(null,t,s,e,n);break e;case 1:t=Qc(null,t,s,e,n);break e;case 11:t=Kc(null,t,s,e,n);break e;case 14:t=_c(null,t,s,Xe(s.type,e),n);break e}throw Error(q(306,s,""))}return t;case 0:return s=t.type,i=t.pendingProps,i=t.elementType===s?i:Xe(s,i),Xo(e,t,s,i,n);case 1:return s=t.type,i=t.pendingProps,i=t.elementType===s?i:Xe(s,i),Qc(e,t,s,i,n);case 3:e:{if(Sh(t),e===null)throw Error(q(387));s=t.pendingProps,r=t.memoizedState,i=r.element,Yp(e,t),Ni(t,s,null,n);var o=t.memoizedState;if(s=o.element,r.isDehydrated)if(r={element:s,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=r,t.memoizedState=r,t.flags&256){i=us(Error(q(423)),t),t=$c(e,t,s,n,i);break e}else if(s!==i){i=us(Error(q(424)),t),t=$c(e,t,s,n,i);break e}else for(Le=Ht(t.stateNode.containerInfo.firstChild),De=t,K=!0,nt=null,n=Qp(t,null,s,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(rs(),s===i){t=Et(e,t,n);break e}we(e,t,s,n)}t=t.child}return t;case 5:return Jp(t),e===null&&Qo(t),s=t.type,i=t.pendingProps,r=e!==null?e.memoizedProps:null,o=i.children,Bo(s,i)?o=null:r!==null&&Bo(s,r)&&(t.flags|=32),wh(e,t),we(e,t,o,n),t.child;case 6:return e===null&&Qo(t),null;case 13:return Ih(e,t,n);case 4:return iu(t,t.stateNode.containerInfo),s=t.pendingProps,e===null?t.child=os(t,null,s,n):we(e,t,s,n),t.child;case 11:return s=t.type,i=t.pendingProps,i=t.elementType===s?i:Xe(s,i),Kc(e,t,s,i,n);case 7:return we(e,t,t.pendingProps,n),t.child;case 8:return we(e,t,t.pendingProps.children,n),t.child;case 12:return we(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(s=t.type._context,i=t.pendingProps,r=t.memoizedProps,o=i.value,F(ji,s._currentValue),s._currentValue=o,r!==null)if(rt(r.value,o)){if(r.children===i.children&&!Ce.current){t=Et(e,t,n);break e}}else for(r=t.child,r!==null&&(r.return=t);r!==null;){var l=r.dependencies;if(l!==null){o=r.child;for(var u=l.firstContext;u!==null;){if(u.context===s){if(r.tag===1){u=yt(-1,n&-n),u.tag=2;var c=r.updateQueue;if(c!==null){c=c.shared;var d=c.pending;d===null?u.next=u:(u.next=d.next,d.next=u),c.pending=u}}r.lanes|=n,u=r.alternate,u!==null&&(u.lanes|=n),$o(r.return,n,t),l.lanes|=n;break}u=u.next}}else if(r.tag===10)o=r.type===t.type?null:r.child;else if(r.tag===18){if(o=r.return,o===null)throw Error(q(341));o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),$o(o,n,t),o=r.sibling}else o=r.child;if(o!==null)o.return=r;else for(o=r;o!==null;){if(o===t){o=null;break}if(r=o.sibling,r!==null){r.return=o.return,o=r;break}o=o.return}r=o}we(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,s=t.pendingProps.children,ns(t,n),i=$e(i),s=s(i),t.flags|=1,we(e,t,s,n),t.child;case 14:return s=t.type,i=Xe(s,t.pendingProps),i=Xe(s.type,i),_c(e,t,s,i,n);case 15:return yh(e,t,t.type,t.pendingProps,n);case 17:return s=t.type,i=t.pendingProps,i=t.elementType===s?i:Xe(s,i),li(e,t),t.tag=1,je(s)?(e=!0,qi(t)):e=!1,ns(t,n),vh(t,s,i),Jo(t,s,i,n),el(null,t,s,!0,e,n);
vendor: 5,847 bytes, line 40
40case 19:return kh(e,t,n);case 22:return Ah(e,t,n)}throw Error(q(156,t.tag))};function Fh(e,t){return hp(e,t)}function Hb(e,t,n,s){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=s,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function _e(e,t,n,s){return new Hb(e,t,n,s)}function yu(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Wb(e){if(typeof e=="function")return yu(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Ul)return 11;if(e===Gl)return 14}return 2}function Qt(e,t){var n=e.alternate;return n===null?(n=_e(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function di(e,t,n,s,i,r){var o=2;if(s=e,typeof e=="function")yu(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case On:return yn(n.children,i,r,t);case Rl:o=8,i|=8;break;case Ao:return e=_e(12,n,t,i|2),e.elementType=Ao,e.lanes=r,e;case wo:return e=_e(13,n,t,i),e.elementType=wo,e.lanes=r,e;case So:return e=_e(19,n,t,i),e.elementType=So,e.lanes=r,e;case Jm:return lr(n,i,r,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case $m:o=10;break e;case Ym:o=9;break e;case Ul:o=11;break e;case Gl:o=14;break e;case Mt:o=16,s=null;break e}throw Error(q(130,e==null?e:typeof e,""))}return t=_e(o,n,t,i),t.elementType=e,t.type=s,t.lanes=r,t}function yn(e,t,n,s){return e=_e(7,e,s,t),e.lanes=n,e}function lr(e,t,n,s){return e=_e(22,e,s,t),e.elementType=Jm,e.lanes=n,e.stateNode={isHidden:!1},e}function _r(e,t,n){return e=_e(6,e,null,t),e.lanes=n,e}function Qr(e,t,n){return t=_e(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Kb(e,t,n,s,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Cr(0),this.expirationTimes=Cr(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Cr(0),this.identifierPrefix=s,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function Au(e,t,n,s,i,r,o,l,u){return e=new Kb(e,t,n,l,u),t===1?(t=1,r===!0&&(t|=8)):t=0,r=_e(3,null,null,t),e.current=r,r.stateNode=e,r.memoizedState={element:s,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},au(r),e}function _b(e,t,n){var s=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:Dn,key:s==null?null:""+s,children:e,containerInfo:t,implementation:n}}function Vh(e){if(!e)return Jt;e=e._reactInternals;e:{if(zn(e)!==e||e.tag!==1)throw Error(q(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(je(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(q(171))}if(e.tag===1){var n=e.type;if(je(n))return Vp(e,n,t)}return t}function Bh(e,t,n,s,i,r,o,l,u){return e=Au(n,s,!0,e,i,r,o,l,u),e.context=Vh(null),n=e.current,s=Se(),i=_t(n),r=yt(s,i),r.callback=t??null,Wt(n,r,i),e.current.lanes=i,ba(e,i,s),ze(e,s),e}function ur(e,t,n,s){var i=t.current,r=Se(),o=_t(i);return n=Vh(n),t.context===null?t.context=n:t.pendingContext=n,t=yt(r,o),t.payload={element:e},s=s===void 0?null:s,s!==null&&(t.callback=s),e=Wt(i,t,o),e!==null&&(it(e,i,o,r),ii(e,i,o)),o}function Ui(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function id(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function wu(e,t){id(e,t),(e=e.alternate)&&id(e,t)}function Qb(){return null}var Hh=typeof reportError=="function"?reportError:function(e){console.error(e)};function Su(e){this._internalRoot=e}cr.prototype.render=Su.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(q(409));ur(e,t,null,null)};cr.prototype.unmount=Su.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;En(function(){ur(null,e,null,null)}),t[kt]=null}};function cr(e){this._internalRoot=e}cr.prototype.unstable_scheduleHydration=function(e){if(e){var t=Ap();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Ot.length&&t!==0&&t<Ot[n].priority;n++);Ot.splice(n,0,e),n===0&&Sp(e)}};function Iu(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function dr(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function rd(){}function $b(e,t,n,s,i){if(i){if(typeof s=="function"){var r=s;s=function(){var c=Ui(o);r.call(c)}}var o=Bh(t,s,e,0,null,!1,!1,"",rd);return e._reactRootContainer=o,e[kt]=o.current,sa(e.nodeType===8?e.parentNode:e),En(),o}for(;i=e.lastChild;)e.removeChild(i);if(typeof s=="function"){var l=s;s=function(){var c=Ui(u);l.call(c)}}var u=Au(e,0,!1,null,null,!1,!1,"",rd);return e._reactRootContainer=u,e[kt]=u.current,sa(e.nodeType===8?e.parentNode:e),En(function(){ur(t,u,n,s)}),u}function mr(e,t,n,s,i){var r=n._reactRootContainer;if(r){var o=r;if(typeof i=="function"){var l=i;
vendor: 8,903 bytes, line 40
40i=function(){var u=Ui(o);l.call(u)}}ur(t,o,e,i)}else o=$b(n,t,e,i,s);return Ui(o)}xp=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=Ps(t.pendingLanes);n!==0&&(Bl(t,n|1),ze(t,X()),!(R&6)&&(cs=X()+500,nn()))}break;case 13:En(function(){var s=qt(e,1);if(s!==null){var i=Se();it(s,e,1,i)}}),wu(e,1)}};Hl=function(e){if(e.tag===13){var t=qt(e,134217728);if(t!==null){var n=Se();it(t,e,134217728,n)}wu(e,134217728)}};yp=function(e){if(e.tag===13){var t=_t(e),n=qt(e,t);if(n!==null){var s=Se();it(n,e,t,s)}wu(e,t)}};Ap=function(){return G};wp=function(e,t){var n=G;try{return G=e,t()}finally{G=n}};To=function(e,t,n){switch(t){case"input":if(qo(e,n),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var s=n[t];if(s!==e&&s.form===e.form){var i=nr(s);if(!i)throw Error(q(90));Xm(s),qo(s,i)}}}break;case"textarea":tp(e,n);break;case"select":t=n.value,t!=null&&Zn(e,!!n.multiple,t,!1)}};lp=vu;up=En;var Yb={usingClientEntryPoint:!1,Events:[ya,Fn,nr,rp,op,vu]},Ss={findFiberByHostInstance:gn,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},Jb={bundleType:Ss.bundleType,version:Ss.version,rendererPackageName:Ss.rendererPackageName,rendererConfig:Ss.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:jt.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=mp(e),e===null?null:e.stateNode},findFiberByHostInstance:Ss.findFiberByHostInstance||Qb,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Ba=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Ba.isDisabled&&Ba.supportsFiber)try{Zi=Ba.inject(Jb),mt=Ba}catch{}}Ue.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Yb;Ue.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Iu(t))throw Error(q(200));return _b(e,t,null,n)};Ue.createRoot=function(e,t){if(!Iu(e))throw Error(q(299));var n=!1,s="",i=Hh;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(s=t.identifierPrefix),t.onRecoverableError!==void 0&&(i=t.onRecoverableError)),t=Au(e,1,!1,null,null,n,!1,s,i),e[kt]=t.current,sa(e.nodeType===8?e.parentNode:e),new Su(t)};Ue.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(q(188)):(e=Object.keys(e).join(","),Error(q(268,e)));return e=mp(t),e=e===null?null:e.stateNode,e};Ue.flushSync=function(e){return En(e)};Ue.hydrate=function(e,t,n){if(!dr(t))throw Error(q(200));return mr(null,e,t,!0,n)};Ue.hydrateRoot=function(e,t,n){if(!Iu(e))throw Error(q(405));var s=n!=null&&n.hydratedSources||null,i=!1,r="",o=Hh;if(n!=null&&(n.unstable_strictMode===!0&&(i=!0),n.identifierPrefix!==void 0&&(r=n.identifierPrefix),n.onRecoverableError!==void 0&&(o=n.onRecoverableError)),t=Bh(t,null,e,1,n??null,i,!1,r,o),e[kt]=t.current,sa(e),s)for(e=0;e<s.length;e++)n=s[e],i=n._getVersion,i=i(n._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[n,i]:t.mutableSourceEagerHydrationData.push(n,i);return new cr(t)};Ue.render=function(e,t,n){if(!dr(t))throw Error(q(200));return mr(null,e,t,!1,n)};Ue.unmountComponentAtNode=function(e){if(!dr(e))throw Error(q(40));return e._reactRootContainer?(En(function(){mr(null,null,e,!1,function(){e._reactRootContainer=null,e[kt]=null})}),!0):!1};Ue.unstable_batchedUpdates=vu;Ue.unstable_renderSubtreeIntoContainer=function(e,t,n,s){if(!dr(n))throw Error(q(200));if(e==null||e._reactInternals===void 0)throw Error(q(38));return mr(e,t,n,!1,s)};Ue.version="18.3.1-next-f1338f8080-20240426";function Wh(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Wh)}catch(e){console.error(e)}}Wh(),Wm.exports=Ue;var Kh=Wm.exports,od=Kh;xo.createRoot=od.createRoot,xo.hydrateRoot=od.hydrateRoot;const _h=w.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"}),pr=w.createContext({}),hr=w.createContext(null),gr=typeof document<"u",ku=gr?w.useLayoutEffect:w.useEffect,Qh=w.createContext({strict:!1}),qu=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),Zb="framerAppearId",$h="data-"+qu(Zb);function Xb(e,t,n,s){const{visualElement:i}=w.useContext(pr),r=w.useContext(Qh),o=w.useContext(hr),l=w.useContext(_h).reducedMotion,u=w.useRef();s=s||r.renderer,!u.current&&s&&(u.current=s(e,{visualState:t,parent:i,props:n,presenceContext:o,blockInitialAnimation:o?o.initial===!1:!1,reducedMotionConfig:l}));const c=u.current;w.useInsertionEffect(()=>{c&&c.update(n,o)});const d=w.useRef(!!(n[$h]&&!window.HandoffComplete));return ku(()=>{c&&(c.render(),d.current&&c.animationState&&c.animationState.animateChanges())}),w.useEffect(()=>{c&&(c.updateFeatures(),!d.current&&c.animationState&&c.animationState.animateChanges(),d.current&&(d.current=!1,window.HandoffComplete=!0))}),c}function Qn(e){return e&&typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function ex(e,t,n){return w.useCallback(s=>{s&&e.mount&&e.mount(s),t&&(s?t.mount(s):t.unmount()),n&&(typeof n=="function"?n(s):Qn(n)&&(n.current=s))},[t])}function ma(e){return typeof e=="string"||Array.isArray(e)}function fr(e){return e!==null&&typeof e=="object"&&typeof e.start=="function"}const Eu=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],Cu=["initial",...Eu];function vr(e){return fr(e.animate)||Cu.some(t=>ma(e[t]))}function Yh(e){return!!(vr(e)||e.variants)}function tx(e,t){if(vr(e)){const{initial:n,animate:s}=e;return{initial:n===!1||ma(n)?n:void 0,animate:ma(s)?s:void 0}}return e.inherit!==!1?t:{}}function nx(e){const{initial:t,animate:n}=tx(e,w.useContext(pr));return w.useMemo(()=>({initial:t,animate:n}),[ld(t),ld(n)])}function ld(e){return Array.isArray(e)?e.join(" "):e}const ud={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},pa={};for(const e in ud)pa[e]={isEnabled:t=>ud[e].some(n=>!!t[n])};function sx(e){for(const t in e)pa[t]={...pa[t],...e[t]}}const ju=w.createContext({}),Jh=w.createContext({}),ax=Symbol.for("motionComponentSymbol");function ix({preloadedFeatures:e,createVisualElement:t,useRender:n,useVisualState:s,Component:i}){e&&sx(e);function r(l,u){let c;const d={...w.useContext(_h),...l,layoutId:rx(l)},{isStatic:m}=d,p=nx(l),h=s(l,m);if(!m&&gr){p.visualElement=Xb(i,h,d,t);const v=w.useContext(Jh),x=w.useContext(Qh).strict;p.visualElement&&(c=p.visualElement.loadFeatures(d,x,e,v))}return w.createElement(pr.Provider,{value:p},c&&p.visualElement?w.createElement(c,{visualElement:p.visualElement,...d}):null,n(i,l,ex(h,p.visualElement,u),h,m,p.visualElement))}const o=w.forwardRef(r);return o[ax]=i,o}function rx({layoutId:e}){const t=w.useContext(ju).id;return t&&e!==void 0?t+"-"+e:e}function ox(e){function t(s,i={}){return ix(e(s,i))}if(typeof Proxy>"u")return t;const n=new Map;return new Proxy(t,{get:(s,i)=>(n.has(i)||n.set(i,t(i)),n.get(i))})}const lx=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function zu(e){return typeof e!="string"||e.includes("-")?!1:!!(lx.indexOf(e)>-1||/[A-Z]/.test(e))}const Gi={};function ux(e){Object.assign(Gi,e)}const wa=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],Nn=new Set(wa);function Zh(e,{layout:t,layoutId:n}){return Nn.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!Gi[e]||e==="opacity")}const Ne=e=>!!(e&&e.getVelocity),cx={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},dx=wa.length;function mx(e,{enableHardwareAcceleration:t=!0,allowTransformNone:n=!0},s,i){let r="";for(let o=0;o<dx;o++){const l=wa[o];if(e[l]!==void 0){const u=cx[l]||l;r+=`${u}(${e[l]}) `}}return t&&!e.z&&(r+="translateZ(0)"),r=r.trim(),i?r=i(e,s?"":r):n&&s&&(r="none"),r}const Xh=e=>t=>typeof t=="string"&&t.startsWith(e),eg=Xh("--"),ml=Xh("var(--"),px=/var\s*\(\s*--[\w-]+(\s*,\s*(?:(?
40:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)+)?\s*\)/g,hx=(e,t)=>t&&typeof e=="number"?t.transform(e):e,Zt=(e,t,n)=>Math.min(Math.max(n,e),t),Pn={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},Ws={...Pn,transform:e=>Zt(0,1,e)},Ha={...Pn,default:1},Ks=e=>Math.round(e*1e5)/1e5,br=/(-)?([\d]*\.?[\d])+/g,tg=/(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi,gx=/^(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;function Sa(e){return typeof e=="string"}const Ia=e=>({test:t=>Sa(t)&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),Tt=Ia("deg"),ht=Ia("%"),T=Ia("px"),fx=Ia("vh"),vx=Ia("vw"),cd={...ht,parse:e=>ht.parse(e)/100,transform:e=>ht.transform(e*100)},dd={...Pn,transform:Math.round},ng={borderWidth:T,borderTopWidth:T,borderRightWidth:T,borderBottomWidth:T,borderLeftWidth:T,borderRadius:T,radius:T,borderTopLeftRadius:T,borderTopRightRadius:T,borderBottomRightRadius:T,borderBottomLeftRadius:T,width:T,maxWidth:T,height:T,maxHeight:T,size:T,top:T,right:T,bottom:T,left:T,padding:T,paddingTop:T,paddingRight:T,paddingBottom:T,paddingLeft:T,margin:T,marginTop:T,marginRight:T,marginBottom:T,marginLeft:T,rotate:Tt,rotateX:Tt,rotateY:Tt,rotateZ:Tt,scale:Ha,scaleX:Ha,scaleY:Ha,scaleZ:Ha,skew:Tt,skewX:Tt,skewY:Tt,distance:T,translateX:T,translateY:T,translateZ:T,x:T,y:T,z:T,perspective:T,transformPerspective:T,opacity:Ws,originX:cd,originY:cd,originZ:T,zIndex:dd,fillOpacity:Ws,strokeOpacity:Ws,numOctaves:dd};function Nu(e,t,n,s){const{style:i,vars:r,transform:o,transformOrigin:l}=e;let u=!1,c=!1,d=!0;for(const m in t){const p=t[m];if(eg(m)){r[m]=p;continue}const h=ng[m],v=hx(p,h);if(Nn.has(m)){if(u=!0,o[m]=v,!d)continue;p!==(h.default||0)&&(d=!1)}else m.startsWith("origin")?(c=!0,l[m]=v):i[m]=v}if(t.transform||(u||s?i.transform=mx(e.transform,n,d,s):i.transform&&(i.transform="none")),c){const{originX:m="50%",originY:p="50%",originZ:h=0}=l;i.transformOrigin=`${m} ${p} ${h}`}}const Pu=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function sg(e,t,n){for(const s in t)!Ne(t[s])&&!Zh(s,n)&&(e[s]=t[s])}function bx({transformTemplate:e},t,n){return w.useMemo(()=>{const s=Pu();return Nu(s,t,{enableHardwareAcceleration:!n},e),Object.assign({},s.vars,s.style)},[t])}function xx(e,t,n){const s=e.style||{},i={};return sg(i,s,e),Object.assign(i,bx(e,t,n)),e.transformValues?e.transformValues(i):i}function yx(e,t,n){const s={},i=xx(e,t,n);return e.drag&&e.dragListener!==!1&&(s.draggable=!1,i.userSelect=i.WebkitUserSelect=i.WebkitTouchCallout="none",i.touchAction=e.drag===!0?"none":`pan-${e.drag==="x"?"y":"x"}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(s.tabIndex=0),s.style=i,s}const Ax=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","transformValues","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","ignoreStrict","viewport"]);function Fi(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||e.startsWith("onLayout")||Ax.has(e)}let ag=e=>!Fi(e);function wx(e){e&&(ag=t=>t.startsWith("on")?!Fi(t):e(t))}try{wx(require("@emotion/is-prop-valid").default)}catch{}function Sx(e,t,n){const s={};for(const i in e)i==="values"&&typeof e.values=="object"||(ag(i)||n===!0&&Fi(i)||!t&&!Fi(i)||e.draggable&&i.startsWith("onDrag"))&&(s[i]=e[i]);return s}function md(e,t,n){return typeof e=="string"?e:T.transform(t+n*e)}function Ix(e,t,n){const s=md(t,e.x,e.width),i=md(n,e.y,e.height);return`${s} ${i}`}const kx={offset:"stroke-dashoffset",array:"stroke-dasharray"},qx={offset:"strokeDashoffset",array:"strokeDasharray"};function Ex(e,t,n=1,s=0,i=!0){e.pathLength=1;const r=i?kx:qx;e[r.offset]=T.transform(-s);const o=T.transform(t),l=T.transform(n);e[r.array]=`${o} ${l}`}function Tu(e,{attrX:t,attrY:n,attrScale:s,originX:i,originY:r,pathLength:o,pathSpacing:l=1,pathOffset:u=0,...c}
40,d,m,p){if(Nu(e,c,d,p),m){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:h,style:v,dimensions:x}=e;h.transform&&(x&&(v.transform=h.transform),delete h.transform),x&&(i!==void 0||r!==void 0||v.transform)&&(v.transformOrigin=Ix(x,i!==void 0?i:.5,r!==void 0?r:.5)),t!==void 0&&(h.x=t),n!==void 0&&(h.y=n),s!==void 0&&(h.scale=s),o!==void 0&&Ex(h,o,l,u,!1)}const ig=()=>({...Pu(),attrs:{}}),Mu=e=>typeof e=="string"&&e.toLowerCase()==="svg";function Cx(e,t,n,s){const i=w.useMemo(()=>{const r=ig();return Tu(r,t,{enableHardwareAcceleration:!1},Mu(s),e.transformTemplate),{...r.attrs,style:{...r.style}}},[t]);if(e.style){const r={};sg(r,e.style,e),i.style={...r,...i.style}}return i}function jx(e=!1){return(n,s,i,{latestValues:r},o)=>{const u=(zu(n)?Cx:yx)(s,r,o,n),d={...Sx(s,typeof n=="string",e),...u,ref:i},{children:m}=s,p=w.useMemo(()=>Ne(m)?m.get():m,[m]);return w.createElement(n,{...d,children:p})}}function rg(e,{style:t,vars:n},s,i){Object.assign(e.style,t,i&&i.getProjectionStyles(s));for(const r in n)e.style.setProperty(r,n[r])}const og=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function lg(e,t,n,s){rg(e,t,void 0,s);for(const i in t.attrs)e.setAttribute(og.has(i)?i:qu(i),t.attrs[i])}function Lu(e,t){const{style:n}=e,s={};for(const i in n)(Ne(n[i])||t.style&&Ne(t.style[i])||Zh(i,e))&&(s[i]=n[i]);return s}function ug(e,t){const n=Lu(e,t);for(const s in e)if(Ne(e[s])||Ne(t[s])){const i=wa.indexOf(s)!==-1?"attr"+s.charAt(0).toUpperCase()+s.substring(1):s;n[i]=e[s]}return n}function Du(e,t,n,s={},i={}){return typeof t=="function"&&(t=t(n!==void 0?n:e.custom,s,i)),typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"&&(t=t(n!==void 0?n:e.custom,s,i)),t}function cg(e){const t=w.useRef(null);return t.current===null&&(t.current=e()),t.current}const Vi=e=>Array.isArray(e),zx=e=>!!(e&&typeof e=="object"&&e.mix&&e.toValue),Nx=e=>Vi(e)?e[e.length-1]||0:e;function mi(e){const t=Ne(e)?e.get():e;return zx(t)?t.toValue():t}function Px({scrapeMotionValuesFromProps:e,createRenderState:t,onMount:n},s,i,r){const o={latestValues:Tx(s,i,r,e),renderState:t()};return n&&(o.mount=l=>n(s,l,o)),o}const dg=e=>(t,n)=>{const s=w.useContext(pr),i=w.useContext(hr),r=()=>Px(e,t,s,i);return n?r():cg(r)};function Tx(e,t,n,s){const i={},r=s(e,{});for(const p in r)i[p]=mi(r[p]);let{initial:o,animate:l}=e;const u=vr(e),c=Yh(e);t&&c&&!u&&e.inherit!==!1&&(o===void 0&&(o=t.initial),l===void 0&&(l=t.animate));let d=n?n.initial===!1:!1;d=d||o===!1;const m=d?l:o;return m&&typeof m!="boolean"&&!fr(m)&&(Array.isArray(m)?m:[m]).forEach(h=>{const v=Du(e,h);if(!v)return;const{transitionEnd:x,transition:I,...b}=v;for(const g in b){let f=b[g];if(Array.isArray(f)){const y=d?f.length-1:0;f=f[y]}f!==null&&(i[g]=f)}for(const g in x)i[g]=x[g]}),i}const ee=e=>e;class pd{constructor(){this.order=[],this.scheduled=new Set}add(t){if(!this.scheduled.has(t))return this.scheduled.add(t),this.order.push(t),!0}remove(t){const n=this.order.indexOf(t);n!==-1&&(this.order.splice(n,1),this.scheduled.delete(t))}clear(){this.order.length=0,this.scheduled.clear()}}function Mx(e){let t=new pd,n=new pd,s=0,i=!1,r=!1;const o=new WeakSet,l={schedule:(u,c=!1,d=!1)=>{const m=d&&i,p=m?t:n;return c&&o.add(u),p.add(u)&&m&&i&&(s=t.order.length),u},cancel:u=>{n.remove(u),o.delete(u)},process:u=>{if(i){r=!0;return}if(i=!0,[t,n]=[n,t],n.clear(),s=t.order.length,s)for(let c=0;c<s;c++){const d=t.order[c];d(u),o.has(d)&&(l.schedule(d),e())}i=!1,r&&(r=!1,l.process(u))}};return l}const Wa=["prepare","read","update","preRender","render","postRender"],Lx=40;function Dx(e,t){let n=!1,s=!0;const i={delta:0,timestamp:0,isProcessing:!1},r=Wa.reduce((m,p)=>(m[p]=Mx(()=>n=!0),m),{}),o=m=>r[m].process(i),l=()=>{const m=performance.now();n=!1,i.delta=s?1e3/60:Math.max(Math.min(m-i.timestamp,Lx),1),i.timestamp=m,i.isProcessing=!0,Wa.forEach(o),i.isProcessing=!1,n&&t&&(s=!1,e(l))},u=()=>{n=!0,s=!0,i.isProcessing||e(l)};return{schedule:Wa.reduce((m,p)=>{const h=r[p];return m[p]=(v,x=!1,I=!1)=>(n||u(),h.schedule(v,x,I)),m},{}),cancel:m=>Wa.forEach(p=>r[p].cancel(m)),state:i,steps:r}}
40const{schedule:V,cancel:Ct,state:fe,steps:$r}=Dx(typeof requestAnimationFrame<"u"?requestAnimationFrame:ee,!0),Ox={useVisualState:dg({scrapeMotionValuesFromProps:ug,createRenderState:ig,onMount:(e,t,{renderState:n,latestValues:s})=>{V.read(()=>{try{n.dimensions=typeof t.getBBox=="function"?t.getBBox():t.getBoundingClientRect()}catch{n.dimensions={x:0,y:0,width:0,height:0}}}),V.render(()=>{Tu(n,s,{enableHardwareAcceleration:!1},Mu(t.tagName),e.transformTemplate),lg(t,n)})}})},Rx={useVisualState:dg({scrapeMotionValuesFromProps:Lu,createRenderState:Pu})};function Ux(e,{forwardMotionProps:t=!1},n,s){return{...zu(e)?Ox:Rx,preloadedFeatures:n,useRender:jx(t),createVisualElement:s,Component:e}}function xt(e,t,n,s={passive:!0}){return e.addEventListener(t,n,s),()=>e.removeEventListener(t,n)}const mg=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1;function xr(e,t="page"){return{point:{x:e[t+"X"],y:e[t+"Y"]}}}const Gx=e=>t=>mg(t)&&e(t,xr(t));function At(e,t,n,s){return xt(e,t,Gx(n),s)}const Fx=(e,t)=>n=>t(e(n)),$t=(...e)=>e.reduce(Fx);function pg(e){let t=null;return()=>{const n=()=>{t=null};return t===null?(t=e,n):!1}}const hd=pg("dragHorizontal"),gd=pg("dragVertical");function hg(e){let t=!1;if(e==="y")t=gd();else if(e==="x")t=hd();else{const n=hd(),s=gd();n&&s?t=()=>{n(),s()}:(n&&n(),s&&s())}return t}function gg(){const e=hg(!0);return e?(e(),!1):!0}class sn{constructor(t){this.isMounted=!1,this.node=t}update(){}}function fd(e,t){const n="pointer"+(t?"enter":"leave"),s="onHover"+(t?"Start":"End"),i=(r,o)=>{if(r.pointerType==="touch"||gg())return;const l=e.getProps();e.animationState&&l.whileHover&&e.animationState.setActive("whileHover",t),l[s]&&V.update(()=>l[s](r,o))};return At(e.current,n,i,{passive:!e.getProps()[s]})}class Vx extends sn{mount(){this.unmount=$t(fd(this.node,!0),fd(this.node,!1))}unmount(){}}class Bx extends sn{constructor(){super(...arguments),this.isActive=!1}onFocus(){let t=!1;try{t=this.node.current.matches(":focus-visible")}catch{t=!0}!t||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=$t(xt(this.node.current,"focus",()=>this.onFocus()),xt(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}const fg=(e,t)=>t?e===t?!0:fg(e,t.parentElement):!1;function Yr(e,t){if(!t)return;const n=new PointerEvent("pointer"+e);t(n,xr(n))}class Hx extends sn{constructor(){super(...arguments),this.removeStartListeners=ee,this.removeEndListeners=ee,this.removeAccessibleListeners=ee,this.startPointerPress=(t,n)=>{if(this.isPressing)return;this.removeEndListeners();const s=this.node.getProps(),r=At(window,"pointerup",(l,u)=>{if(!this.checkPressEnd())return;const{onTap:c,onTapCancel:d,globalTapTarget:m}=this.node.getProps();V.update(()=>{!m&&!fg(this.node.current,l.target)?d&&d(l,u):c&&c(l,u)})},{passive:!(s.onTap||s.onPointerUp)}),o=At(window,"pointercancel",(l,u)=>this.cancelPress(l,u),{passive:!(s.onTapCancel||s.onPointerCancel)});this.removeEndListeners=$t(r,o),this.startPress(t,n)},this.startAccessiblePress=()=>{const t=r=>{if(r.key!=="Enter"||this.isPressing)return;const o=l=>{l.key!=="Enter"||!this.checkPressEnd()||Yr("up",(u,c)=>{const{onTap:d}=this.node.getProps();d&&V.update(()=>d(u,c))})};this.removeEndListeners(),this.removeEndListeners=xt(this.node.current,"keyup",o),Yr("down",(l,u)=>{this.startPress(l,u)})},n=xt(this.node.current,"keydown",t),s=()=>{this.isPressing&&Yr("cancel",(r,o)=>this.cancelPress(r,o))},i=xt(this.node.current,"blur",s);this.removeAccessibleListeners=$t(n,i)}}startPress(t,n){this.isPressing=!0;const{onTapStart:s,whileTap:i}=this.node.getProps();i&&this.node.animationState&&this.node.animationState.setActive("whileTap",!0),s&&V.update(()=>s(t,n))}checkPressEnd(){return this.removeEndListeners(),this.isPressing=!1,this.node.getProps().whileTap&&this.node.animationState&&this.node.animationState.setActive("whileTap",!1),!gg()}cancelPress(t,n){if(!this.checkPressEnd())return;const{onTapCancel:s}=this.node.getProps();s&&V.update(()=>s(t,n))}mount(){const t=this.node.getProps(),n=At(t.globalTapTarget?window:this.node.current,"pointerdown",this.startPointerPress,{passive:!(t.onTapStart||t.onPointerStart)}),s=xt(this.node.current,"focus",this.startAccessiblePress);this.removeStartListeners=$t(n,s)}unmount(){this.removeStartListeners(),this.removeEndListeners(),this.removeAccessibleListeners()}}
40const pl=new WeakMap,Jr=new WeakMap,Wx=e=>{const t=pl.get(e.target);t&&t(e)},Kx=e=>{e.forEach(Wx)};function _x({root:e,...t}){const n=e||document;Jr.has(n)||Jr.set(n,{});const s=Jr.get(n),i=JSON.stringify(t);return s[i]||(s[i]=new IntersectionObserver(Kx,{root:e,...t})),s[i]}function Qx(e,t,n){const s=_x(t);return pl.set(e,n),s.observe(e),()=>{pl.delete(e),s.unobserve(e)}}const $x={some:0,all:1};class Yx extends sn{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:t={}}=this.node.getProps(),{root:n,margin:s,amount:i="some",once:r}=t,o={root:n?n.current:void 0,rootMargin:s,threshold:typeof i=="number"?i:$x[i]},l=u=>{const{isIntersecting:c}=u;if(this.isInView===c||(this.isInView=c,r&&!c&&this.hasEnteredView))return;c&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",c);const{onViewportEnter:d,onViewportLeave:m}=this.node.getProps(),p=c?d:m;p&&p(u)};return Qx(this.node.current,o,l)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(Jx(t,n))&&this.startObserver()}unmount(){}}function Jx({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const Zx={inView:{Feature:Yx},tap:{Feature:Hx},focus:{Feature:Bx},hover:{Feature:Vx}};function vg(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let s=0;s<n;s++)if(t[s]!==e[s])return!1;return!0}function Xx(e){const t={};return e.values.forEach((n,s)=>t[s]=n.get()),t}function ey(e){const t={};return e.values.forEach((n,s)=>t[s]=n.getVelocity()),t}function yr(e,t,n){const s=e.getProps();return Du(s,t,n!==void 0?n:s.custom,Xx(e),ey(e))}let Ou=ee;const An=e=>e*1e3,wt=e=>e/1e3,ty={current:!1},bg=e=>Array.isArray(e)&&typeof e[0]=="number";function xg(e){return!!(!e||typeof e=="string"&&yg[e]||bg(e)||Array.isArray(e)&&e.every(xg))}const Ms=([e,t,n,s])=>`cubic-bezier(${e}, ${t}, ${n}, ${s})`,yg={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:Ms([0,.65,.55,1]),circOut:Ms([.55,0,1,.45]),backIn:Ms([.31,.01,.66,-.59]),backOut:Ms([.33,1.53,.69,.99])};function Ag(e){if(e)return bg(e)?Ms(e):Array.isArray(e)?e.map(Ag):yg[e]}function ny(e,t,n,{delay:s=0,duration:i,repeat:r=0,repeatType:o="loop",ease:l,times:u}={}){const c={[t]:n};u&&(c.offset=u);const d=Ag(l);return Array.isArray(d)&&(c.easing=d),e.animate(c,{delay:s,duration:i,easing:Array.isArray(d)?"linear":d,fill:"both",iterations:r+1,direction:o==="reverse"?"alternate":"normal"})}function sy(e,{repeat:t,repeatType:n="loop"}){const s=t&&n!=="loop"&&t%2===1?0:e.length-1;return e[s]}const wg=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,ay=1e-7,iy=12;function ry(e,t,n,s,i){let r,o,l=0;do o=t+(n-t)/2,r=wg(o,s,i)-e,r>0?n=o:t=o;while(Math.abs(r)>ay&&++l<iy);return o}function ka(e,t,n,s){if(e===t&&n===s)return ee;const i=r=>ry(r,0,1,e,n);return r=>r===0||r===1?r:wg(i(r),t,s)}const oy=ka(.42,0,1,1),ly=ka(0,0,.58,1),Sg=ka(.42,0,.58,1),uy=e=>Array.isArray(e)&&typeof e[0]!="number",Ig=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,kg=e=>t=>1-e(1-t),Ru=e=>1-Math.sin(Math.acos(e)),qg=kg(Ru),cy=Ig(Ru),Eg=ka(.33,1.53,.69,.99),Uu=kg(Eg),dy=Ig(Uu),my=e=>(e*=2)<1?.5*Uu(e):.5*(2-Math.pow(2,-10*(e-1))),py={linear:ee,easeIn:oy,easeInOut:Sg,easeOut:ly,circIn:Ru,circInOut:cy,circOut:qg,backIn:Uu,backInOut:dy,backOut:Eg,anticipate:my},vd=e=>{if(Array.isArray(e)){Ou(e.length===4);const[t,n,s,i]=e;return ka(t,n,s,i)}else if(typeof e=="string")return py[e];return e},Gu=(e,t)=>n=>!!(Sa(n)&&gx.test(n)&&n.startsWith(e)||t&&Object.prototype.hasOwnProperty.call(n,t)),Cg=(e,t,n)=>s=>{if(!Sa(s))return s;const[i,r,o,l]=s.match(br);return{[e]:parseFloat(i),[t]:parseFloat(r),[n]:parseFloat(o),alpha:l!==void 0?parseFloat(l):1}},hy=e=>Zt(0,255,e),Zr={...Pn,transform:e=>Math.round(hy(e))},bn={test:Gu("rgb","red"),parse:Cg("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:s=1})=>"rgba("+Zr.transform(e)+", "+Zr.transform(t)+", "+Zr.transform(n)+", "+Ks(Ws.transform(s))+")"};function gy(e){let t="",n="",s="",i="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),s=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),s=e.substring(3,4),i=e.substring(4,5),t+=t,n+=n,s+=s,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(s,16),alph
40a:i?parseInt(i,16)/255:1}}const hl={test:Gu("#"),parse:gy,transform:bn.transform},$n={test:Gu("hsl","hue"),parse:Cg("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:s=1})=>"hsla("+Math.round(e)+", "+ht.transform(Ks(t))+", "+ht.transform(Ks(n))+", "+Ks(Ws.transform(s))+")"},Ae={test:e=>bn.test(e)||hl.test(e)||$n.test(e),parse:e=>bn.test(e)?bn.parse(e):$n.test(e)?$n.parse(e):hl.parse(e),transform:e=>Sa(e)?e:e.hasOwnProperty("red")?bn.transform(e):$n.transform(e)},Q=(e,t,n)=>-n*e+n*t+e;function Xr(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function fy({hue:e,saturation:t,lightness:n,alpha:s}){e/=360,t/=100,n/=100;let i=0,r=0,o=0;if(!t)i=r=o=n;else{const l=n<.5?n*(1+t):n+t-n*t,u=2*n-l;i=Xr(u,l,e+1/3),r=Xr(u,l,e),o=Xr(u,l,e-1/3)}return{red:Math.round(i*255),green:Math.round(r*255),blue:Math.round(o*255),alpha:s}}const eo=(e,t,n)=>{const s=e*e;return Math.sqrt(Math.max(0,n*(t*t-s)+s))},vy=[hl,bn,$n],by=e=>vy.find(t=>t.test(e));function bd(e){const t=by(e);let n=t.parse(e);return t===$n&&(n=fy(n)),n}const jg=(e,t)=>{const n=bd(e),s=bd(t),i={...n};return r=>(i.red=eo(n.red,s.red,r),i.green=eo(n.green,s.green,r),i.blue=eo(n.blue,s.blue,r),i.alpha=Q(n.alpha,s.alpha,r),bn.transform(i))};function xy(e){var t,n;return isNaN(e)&&Sa(e)&&(((t=e.match(br))===null||t===void 0?void 0:t.length)||0)+(((n=e.match(tg))===null||n===void 0?void 0:n.length)||0)>0}const zg={regex:px,countKey:"Vars",token:"${v}",parse:ee},Ng={regex:tg,countKey:"Colors",token:"${c}",parse:Ae.parse},Pg={regex:br,countKey:"Numbers",token:"${n}",parse:Pn.parse};function to(e,{regex:t,countKey:n,token:s,parse:i}){const r=e.tokenised.match(t);r&&(e["num"+n]=r.length,e.tokenised=e.tokenised.replace(t,s),e.values.push(...r.map(i)))}function Bi(e){const t=e.toString(),n={value:t,tokenised:t,values:[],numVars:0,numColors:0,numNumbers:0};return n.value.includes("var(--")&&to(n,zg),to(n,Ng),to(n,Pg),n}function Tg(e){return Bi(e).values}function Mg(e){const{values:t,numColors:n,numVars:s,tokenised:i}=Bi(e),r=t.length;return o=>{let l=i;for(let u=0;u<r;u++)u<s?l=l.replace(zg.token,o[u]):u<s+n?l=l.replace(Ng.token,Ae.transform(o[u])):l=l.replace(Pg.token,Ks(o[u]));return l}}const yy=e=>typeof e=="number"?0:e;function Ay(e){const t=Tg(e);return Mg(e)(t.map(yy))}const Xt={test:xy,parse:Tg,createTransformer:Mg,getAnimatableNone:Ay},Lg=(e,t)=>n=>`${n>0?t:e}`;function Dg(e,t){return typeof e=="number"?n=>Q(e,t,n):Ae.test(e)?jg(e,t):e.startsWith("var(")?Lg(e,t):Rg(e,t)}const Og=(e,t)=>{const n=[...e],s=n.length,i=e.map((r,o)=>Dg(r,t[o]));return r=>{for(let o=0;o<s;o++)n[o]=i[o](r);return n}},wy=(e,t)=>{const n={...e,...t},s={};for(const i in n)e[i]!==void 0&&t[i]!==void 0&&(s[i]=Dg(e[i],t[i]));return i=>{for(const r in s)n[r]=s[r](i);return n}},Rg=(e,t)=>{const n=Xt.createTransformer(t),s=Bi(e),i=Bi(t);return s.numVars===i.numVars&&s.numColors===i.numColors&&s.numNumbers>=i.numNumbers?$t(Og(s.values,i.values),n):Lg(e,t)},ha=(e,t,n)=>{const s=t-e;return s===0?1:(n-e)/s},xd=(e,t)=>n=>Q(e,t,n);function Sy(e){return typeof e=="number"?xd:typeof e=="string"?Ae.test(e)?jg:Rg:Array.isArray(e)?Og:typeof e=="object"?wy:xd}function Iy(e,t,n){const s=[],i=n||Sy(e[0]),r=e.length-1;for(let o=0;o<r;o++){let l=i(e[o],e[o+1]);if(t){const u=Array.isArray(t)?t[o]||ee:t;l=$t(u,l)}s.push(l)}return s}function Ug(e,t,{clamp:n=!0,ease:s,mixer:i}={}){const r=e.length;if(Ou(r===t.length),r===1)return()=>t[0];e[0]>e[r-1]&&(e=[...e].reverse(),t=[...t].reverse());const o=Iy(t,s,i),l=o.length,u=c=>{let d=0;if(l>1)for(;d<e.length-2&&!(c<e[d+1]);d++);const m=ha(e[d],e[d+1],c);return o[d](m)};return n?c=>u(Zt(e[0],e[r-1],c)):u}function ky(e,t){const n=e[e.length-1];for(let s=1;s<=t;s++){const i=ha(0,t,s);e.push(Q(n,1,i))}}function qy(e){const t=[0];return ky(t,e.length-1),t}function Ey(e,t){return e.map(n=>n*t)}function Cy(e,t){return e.map(()=>t||Sg).splice(0,e.length-1)}function Hi({duration:e=300,keyframes:t,times:n,ease:s="easeInOut"}){const i=uy(s)?s.map(vd):vd(s),r={done:!1,value:t[0]},o=Ey(n&&n.length===t.length?n:qy(t),e),l=Ug(o,t,{ease:Array.isArray(i)?i:Cy(t,i)});return{calculatedDuration:e,next:u=>(r.value=l(u),r.done=u>=e,r)}}function Gg(e,t){return t?e*(1e3/t):0}const jy=5;function Fg(e,t,n){const s=Math.max(t-jy,0);return Gg(n-e(s),t-s)}const no=.001,zy=.01,Ny=10,Py=.05,Ty=1;function My({duration:e=800,bounce:t=.25,velocity:n=0,mass:s=1}){let i,r,o=1-t;o=Zt(Py,Ty,o),e=Zt(zy,Ny,wt(e)),o<1?(i=c=>{const d=c*o,m=d*e,p=d-n,h=gl(c,o),v=Math.exp(-m);return no-p/h*v},r=c=>{const m=c*o*e,p=m*n+n,h=Math.pow(o,2)*Math.pow(c,2)*e,v=Math.exp(-m),x=gl(Math.pow(c,2),o);return(-i(c)+no>0?-1:1)*((p-h)*v)/x}):(i=c=>{const d=Math.exp(-c*e),m=(c-n)*e+1;return-no+d*m},r=c=>{const d=Math.exp(-c*e),m=(n-c)*(e*e);return d*m});const l=5/e,u=Dy(i,r,l);if(e=An(e),isNaN(u))return{stiffness:100,damping:10,duration:e};{const c=Math.pow(u,2)*s;return{stiffness:c,damping:o*2*Math.sqrt(s*c),duration:e}}}const Ly=12;function Dy(e,t,n){let s=n;for(let i=1;i<Ly;i++)s=s-e(s)/t(s);return s}function gl(e,t){return e*Math.sqrt(1-t*t)}const Oy=["duration","bounce"],Ry=["stiffness","damping","mass"];function yd(e,t){return t.some(n=>e[n]!==void 0)}function Uy(e){let t={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...e};if(!yd(e,Ry)&&yd(e,Oy)){const n=My(e);t={...t,...n,mass:1},t.isResolvedFromDuration=!0}return t}function Vg({keyframes:e,restDelta:t,restSpeed:n,...s}){const i=e[0],r=e[e.length-1],o={done:!1,value:i},{stiffness:l,damping:u,mass:c,duration:d,velocity:m,isResolvedFromDuration:p}=Uy({...s,velocity:-wt(s.velocity||0)}),h=m||0,v=u/(2*Math.sqrt(l*c)),x=r-i,I=wt(Math.sqrt(l/c)),b=Math.abs(x)<5;n||(n=b?.01:2),t||(t=b?.005:.5);let g;if(v<1){const f=gl(I,v);g=y=>{const S=Math.exp(-v*I*y);return r-S*((h+v*I*x)/f*Math.sin(f*y)+x*Math.cos(f*y))}}else if(v===1)g=f=>r-Math.exp(-I*f)*(x+(h+I*x)*f);else{const f=I*Math.sqrt(v*v-1);g=y=>{const S=Math.exp(-v*I*y),C=Math.min(f*y,300);return r-S*((h+v*I*x)*Math.sinh(C)+f*x*Math.cosh(C))/f}}
40return{calculatedDuration:p&&d||null,next:f=>{const y=g(f);if(p)o.done=f>=d;else{let S=h;f!==0&&(v<1?S=Fg(g,f,y):S=0);const C=Math.abs(S)<=n,E=Math.abs(r-y)<=t;o.done=C&&E}return o.value=o.done?r:y,o}}}function Ad({keyframes:e,velocity:t=0,power:n=.8,timeConstant:s=325,bounceDamping:i=10,bounceStiffness:r=500,modifyTarget:o,min:l,max:u,restDelta:c=.5,restSpeed:d}){const m=e[0],p={done:!1,value:m},h=k=>l!==void 0&&k<l||u!==void 0&&k>u,v=k=>l===void 0?u:u===void 0||Math.abs(l-k)<Math.abs(u-k)?l:u;let x=n*t;const I=m+x,b=o===void 0?I:o(I);b!==I&&(x=b-m);const g=k=>-x*Math.exp(-k/s),f=k=>b+g(k),y=k=>{const N=g(k),P=f(k);p.done=Math.abs(N)<=c,p.value=p.done?b:P};let S,C;const E=k=>{h(p.value)&&(S=k,C=Vg({keyframes:[p.value,v(p.value)],velocity:Fg(f,k,p.value),damping:i,stiffness:r,restDelta:c,restSpeed:d}))};return E(0),{calculatedDuration:null,next:k=>{let N=!1;return!C&&S===void 0&&(N=!0,y(k),E(k)),S!==void 0&&k>S?C.next(k-S):(!N&&y(k),p)}}}const Gy=e=>{const t=({timestamp:n})=>e(n);return{start:()=>V.update(t,!0),stop:()=>Ct(t),now:()=>fe.isProcessing?fe.timestamp:performance.now()}},wd=2e4;function Sd(e){let t=0;const n=50;let s=e.next(t);for(;!s.done&&t<wd;)t+=n,s=e.next(t);return t>=wd?1/0:t}const Fy={decay:Ad,inertia:Ad,tween:Hi,keyframes:Hi,spring:Vg};function Wi({autoplay:e=!0,delay:t=0,driver:n=Gy,keyframes:s,type:i="keyframes",repeat:r=0,repeatDelay:o=0,repeatType:l="loop",onPlay:u,onStop:c,onComplete:d,onUpdate:m,...p}){let h=1,v=!1,x,I;const b=()=>{I=new Promise(L=>{x=L})};b();let g;const f=Fy[i]||Hi;let y;f!==Hi&&typeof s[0]!="number"&&(y=Ug([0,100],s,{clamp:!1}),s=[0,100]);const S=f({...p,keyframes:s});let C;l==="mirror"&&(C=f({...p,keyframes:[...s].reverse(),velocity:-(p.velocity||0)}));let E="idle",k=null,N=null,P=null;S.calculatedDuration===null&&r&&(S.calculatedDuration=Sd(S));const{calculatedDuration:te}=S;let ce=1/0,ye=1/0;te!==null&&(ce=te+o,ye=ce*(r+1)-o);let oe=0;const zt=L=>{if(N===null)return;h>0&&(N=Math.min(N,L)),h<0&&(N=Math.min(L-ye/h,N)),k!==null?oe=k:oe=Math.round(L-N)*h;const W=oe-t*(h>=0?1:-1),an=h>=0?W<0:W>ye;oe=Math.max(W,0),E==="finished"&&k===null&&(oe=ye);let ot=oe,Tn=S;if(r){const wr=Math.min(oe,ye)/ce;let qa=Math.floor(wr),on=wr%1;!on&&wr>=1&&(on=1),on===1&&qa--,qa=Math.min(qa,r+1),!!(qa%2)&&(l==="reverse"?(on=1-on,o&&(on-=o/ce)):l==="mirror"&&(Tn=C)),ot=Zt(0,1,on)*ce}const Pe=an?{done:!1,value:s[0]}:Tn.next(ot);y&&(Pe.value=y(Pe.value));let{done:rn}=Pe;!an&&te!==null&&(rn=h>=0?oe>=ye:oe<=0);const kf=k===null&&(E==="finished"||E==="running"&&rn);return m&&m(Pe.value),kf&&j(),Pe},Z=()=>{g&&g.stop(),g=void 0},Fe=()=>{E="idle",Z(),x(),b(),N=P=null},j=()=>{E="finished",d&&d(),Z(),x()},M=()=>{if(v)return;g||(g=n(zt));const L=g.now();u&&u(),k!==null?N=L-k:(!N||E==="finished")&&(N=L),E==="finished"&&b(),P=N,k=null,E="running",g.start()};e&&M();const D={then(L,W){return I.then(L,W)},get time(){return wt(oe)},set time(L){L=An(L),oe=L,k!==null||!g||h===0?k=L:N=g.now()-L/h},get duration(){const L=S.calculatedDuration===null?Sd(S):S.calculatedDuration;return wt(L)},get speed(){return h},set speed(L){L===h||!g||(h=L,D.time=wt(oe))},get state(){return E},play:M,pause:()=>{E="paused",k=oe},stop:()=>
40{v=!0,E!=="idle"&&(E="idle",c&&c(),Fe())},cancel:()=>{P!==null&&zt(P),Fe()},complete:()=>{E="finished"},sample:L=>(N=0,zt(L))};return D}function Vy(e){let t;return()=>(t===void 0&&(t=e()),t)}const By=Vy(()=>Object.hasOwnProperty.call(Element.prototype,"animate")),Hy=new Set(["opacity","clipPath","filter","transform","backgroundColor"]),Ka=10,Wy=2e4,Ky=(e,t)=>t.type==="spring"||e==="backgroundColor"||!xg(t.ease);function _y(e,t,{onUpdate:n,onComplete:s,...i}){if(!(By()&&Hy.has(t)&&!i.repeatDelay&&i.repeatType!=="mirror"&&i.damping!==0&&i.type!=="inertia"))return!1;let o=!1,l,u,c=!1;const d=()=>{u=new Promise(f=>{l=f})};d();let{keyframes:m,duration:p=300,ease:h,times:v}=i;if(Ky(t,i)){const f=Wi({...i,repeat:0,delay:0});let y={done:!1,value:m[0]};const S=[];let C=0;for(;!y.done&&C<Wy;)y=f.sample(C),S.push(y.value),C+=Ka;v=void 0,m=S,p=C-Ka,h="linear"}const x=ny(e.owner.current,t,m,{...i,duration:p,ease:h,times:v}),I=()=>{c=!1,x.cancel()},b=()=>{c=!0,V.update(I),l(),d()};return x.onfinish=()=>{c||(e.set(sy(m,i)),s&&s(),b())},{then(f,y){return u.then(f,y)},attachTimeline(f){return x.timeline=f,x.onfinish=null,ee},get time(){return wt(x.currentTime||0)},set time(f){x.currentTime=An(f)},get speed(){return x.playbackRate},set speed(f){x.playbackRate=f},get duration(){return wt(p)},play:()=>{o||(x.play(),Ct(I))},pause:()=>x.pause(),stop:()=>{if(o=!0,x.playState==="idle")return;const{currentTime:f}=x;if(f){const y=Wi({...i,autoplay:!1});e.setWithVelocity(y.sample(f-Ka).value,y.sample(f).value,Ka)}b()},complete:()=>{c||x.finish()},cancel:b}}function Qy({keyframes:e,delay:t,onUpdate:n,onComplete:s}){const i=()=>(n&&n(e[e.length-1]),s&&s(),{time:0,speed:1,duration:0,play:ee,pause:ee,stop:ee,then:r=>(r(),Promise.resolve()),cancel:ee,complete:ee});return t?Wi({keyframes:[0,1],duration:0,delay:t,onComplete:i}):i()}const $y={type:"spring",stiffness:500,damping:25,restSpeed:10},Yy=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),Jy={type:"keyframes",duration:.8},Zy={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},Xy=(e,{keyframes:t})=>t.length>2?Jy:Nn.has(e)?e.startsWith("scale")?Yy(t[1]):$y:Zy,fl=(e,t)=>e==="zIndex"?!1:!!(typeof t=="number"||Array.isArray(t)||typeof t=="string"&&(Xt.test(t)||t==="0")&&!t.startsWith("url(")),eA=new Set(["brightness","contrast","saturate","opacity"]);function tA(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[s]=n.match(br)||[];if(!s)return e;const i=n.replace(s,"");let r=eA.has(t)?1:0;return s!==n&&(r*=100),t+"("+r+i+")"}const nA=/([a-z-]*)\(.*?\)/g,vl={...Xt,getAnimatableNone:e=>{const t=e.match(nA);return t?t.map(tA).join(" "):e}},sA={...ng,color:Ae,backgroundColor:Ae,outlineColor:Ae,fill:Ae,stroke:Ae,borderColor:Ae,borderTopColor:Ae,borderRightColor:Ae,borderBottomColor:Ae,borderLeftColor:Ae,filter:vl,WebkitFilter:vl},Fu=e=>sA[e];function Bg(e,t){let n=Fu(e);return n!==vl&&(n=Xt),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const Hg=e=>/^0[^.\s]+$/.test(e);function aA(e){if(typeof e=="number")return e===0;if(e!==null)return e==="none"||e==="0"||Hg(e)}function iA(e,t,n,s){const i=fl(t,n);let r;Array.isArray(n)?r=[...n]:r=[null,n];const o=s.from!==void 0?s.from:e.get();let l;const u=[];for(let c=0;c<r.length;c++)r[c]===null&&(r[c]=c===0?o:r[c-1]),aA(r[c])&&u.push(c),typeof r[c]=="string"&&r[c]!=="none"&&r[c]!=="0"&&(l=r[c]);if(i&&u.length&&l)for(let c=0;c<u.length;c++){const d=u[c];r[d]=Bg(t,l)}return r}function rA({when:e,delay:t,delayChildren:n,staggerChildren:s,staggerDirection:i,repeat:r,repeatType:o,repeatDelay:l,from:u,elapsed:c,...d}){return!!Object.keys(d).length}function Vu(e,t){return e[t]||e.default||e}const oA={skipAnimations:!1},Bu=(e,t,n,s={})=>i=>{const r=Vu(s,e)||{},o=r.delay||s.delay||0;let{elapsed:l=0}=s;l=l-An(o);const u=iA(t,e,n,r),c=u[0],d=u[u.length-1],m=fl(e,c),p=fl(e,d);let h={keyframes:u,velocity:t.getVelocity(),ease:"easeOut",...r,delay:-l,onUpdate:v=>{t.set(v),r.onUpdate&&r.onUpdate(v)},onComplete:()=>{i(),r.onComplete&&r.onComplete()}};if(rA(r)||(h={...h,...Xy(e,h)}),h.duration&&(h.duration=An(h.duration)),h.repeatDelay&&(h.repeatDelay=An(h.repeatDelay)),!m||!p||ty.current||r.type===!1||oA.skipAnimations)return Qy(h);if(!s.isHandoff&&t.owner&&t.owner.current instanceof HTMLElement&&!t.owner.getProps().onUp
40date){const v=_y(t,e,h);if(v)return v}return Wi(h)};function Ki(e){return!!(Ne(e)&&e.add)}const Wg=e=>/^\-?\d*\.?\d+$/.test(e);function Hu(e,t){e.indexOf(t)===-1&&e.push(t)}function Wu(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}class Ku{constructor(){this.subscriptions=[]}add(t){return Hu(this.subscriptions,t),()=>Wu(this.subscriptions,t)}notify(t,n,s){const i=this.subscriptions.length;if(i)if(i===1)this.subscriptions[0](t,n,s);else for(let r=0;r<i;r++){const o=this.subscriptions[r];o&&o(t,n,s)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}const lA=e=>!isNaN(parseFloat(e));class uA{constructor(t,n={}){this.version="10.18.0",this.timeDelta=0,this.lastUpdated=0,this.canTrackVelocity=!1,this.events={},this.updateAndNotify=(s,i=!0)=>{this.prev=this.current,this.current=s;const{delta:r,timestamp:o}=fe;this.lastUpdated!==o&&(this.timeDelta=r,this.lastUpdated=o,V.postRender(this.scheduleVelocityCheck)),this.prev!==this.current&&this.events.change&&this.events.change.notify(this.current),this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()),i&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.scheduleVelocityCheck=()=>V.postRender(this.velocityCheck),this.velocityCheck=({timestamp:s})=>{s!==this.lastUpdated&&(this.prev=this.current,this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()))},this.hasAnimated=!1,this.prev=this.current=t,this.canTrackVelocity=lA(this.current),this.owner=n.owner}onChange(t){return this.on("change",t)}on(t,n){this.events[t]||(this.events[t]=new Ku);const s=this.events[t].add(n);return t==="change"?()=>{s(),V.read(()=>{this.events.change.getSize()||this.stop()})}:s}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,n){this.passiveEffect=t,this.stopPassiveEffect=n}set(t,n=!0){!n||!this.passiveEffect?this.updateAndNotify(t,n):this.passiveEffect(t,this.updateAndNotify)}setWithVelocity(t,n,s){this.set(n),this.prev=t,this.timeDelta=s}jump(t){this.updateAndNotify(t),this.prev=t,this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return this.current}getPrevious(){return this.prev}getVelocity(){return this.canTrackVelocity?Gg(parseFloat(this.current)-parseFloat(this.prev),this.timeDelta):0}start(t){return this.stop(),new Promise(n=>{this.hasAnimated=!0,this.animation=t(n),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function ds(e,t){return new uA(e,t)}const Kg=e=>t=>t.test(e),cA={test:e=>e==="auto",parse:e=>e},_g=[Pn,T,ht,Tt,vx,fx,cA],Is=e=>_g.find(Kg(e)),dA=[..._g,Ae,Xt],mA=e=>dA.find(Kg(e));function pA(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,ds(n))}function hA(e,t){const n=yr(e,t);let{transitionEnd:s={},transition:i={},...r}=n?e.makeTargetAnimatable(n,!1):{};r={...r,...s};for(const o in r){const l=Nx(r[o]);pA(e,o,l)}}function gA(e,t,n){var s,i;const r=Object.keys(t).filter(l=>!e.hasValue(l)),o=r.length;if(o)for(let l=0;l<o;l++){const u=r[l],c=t[u];let d=null;Array.isArray(c)&&(d=c[0]),d===null&&(d=(i=(s=n[u])!==null&&s!==void 0?s:e.readValue(u))!==null&&i!==void 0?i:t[u]),d!=null&&(typeof d=="string"&&(Wg(d)||Hg(d))?d=parseFloat(d):!mA(d)&&Xt.test(c)&&(d=Bg(u,c)),e.addValue(u,ds(d,{owner:e})),n[u]===void 0&&(n[u]=d),d!==null&&e.setBaseTarget(u,d))}}function fA(e,t){return t?(t[e]||t.default||t).from:void 0}function vA(e,t,n){const s={};for(const i in e){const r=fA(i,t);if(r!==void 0)s[i]=r;else{const o=n.getValue(i);o&&(s[i]=o.get())}}return s}function bA({protectedKeys:e,needsAnimating:t},n){const s=e.hasOwnProperty(n)&&t[n]!==!0;return t[n]=!1,s}function xA(e,t){const n=e.get();if(Array.isArray(t)){for(let s=0;s<t.length;s++)if(t[s]!==n)return!0}else return n!==t}
40function Qg(e,t,{delay:n=0,transitionOverride:s,type:i}={}){let{transition:r=e.getDefaultTransition(),transitionEnd:o,...l}=e.makeTargetAnimatable(t);const u=e.getValue("willChange");s&&(r=s);const c=[],d=i&&e.animationState&&e.animationState.getState()[i];for(const m in l){const p=e.getValue(m),h=l[m];if(!p||h===void 0||d&&bA(d,m))continue;const v={delay:n,elapsed:0,...Vu(r||{},m)};if(window.HandoffAppearAnimations){const b=e.getProps()[$h];if(b){const g=window.HandoffAppearAnimations(b,m,p,V);g!==null&&(v.elapsed=g,v.isHandoff=!0)}}let x=!v.isHandoff&&!xA(p,h);if(v.type==="spring"&&(p.getVelocity()||v.velocity)&&(x=!1),p.animation&&(x=!1),x)continue;p.start(Bu(m,p,h,e.shouldReduceMotion&&Nn.has(m)?{type:!1}:v));const I=p.animation;Ki(u)&&(u.add(m),I.then(()=>u.remove(m))),c.push(I)}return o&&Promise.all(c).then(()=>{o&&hA(e,o)}),c}function bl(e,t,n={}){const s=yr(e,t,n.custom);let{transition:i=e.getDefaultTransition()||{}}=s||{};n.transitionOverride&&(i=n.transitionOverride);const r=s?()=>Promise.all(Qg(e,s,n)):()=>Promise.resolve(),o=e.variantChildren&&e.variantChildren.size?(u=0)=>{const{delayChildren:c=0,staggerChildren:d,staggerDirection:m}=i;return yA(e,t,c+u,d,m,n)}:()=>Promise.resolve(),{when:l}=i;if(l){const[u,c]=l==="beforeChildren"?[r,o]:[o,r];return u().then(()=>c())}else return Promise.all([r(),o(n.delay)])}function yA(e,t,n=0,s=0,i=1,r){const o=[],l=(e.variantChildren.size-1)*s,u=i===1?(c=0)=>c*s:(c=0)=>l-c*s;return Array.from(e.variantChildren).sort(AA).forEach((c,d)=>{c.notify("AnimationStart",t),o.push(bl(c,t,{...r,delay:n+u(d)}).then(()=>c.notify("AnimationComplete",t)))}),Promise.all(o)}function AA(e,t){return e.sortNodePosition(t)}function wA(e,t,n={}){e.notify("AnimationStart",t);let s;if(Array.isArray(t)){const i=t.map(r=>bl(e,r,n));s=Promise.all(i)}else if(typeof t=="string")s=bl(e,t,n);else{const i=typeof t=="function"?yr(e,t,n.custom):t;s=Promise.all(Qg(e,i,n))}return s.then(()=>e.notify("AnimationComplete",t))}const SA=[...Eu].reverse(),IA=Eu.length;function kA(e){return t=>Promise.all(t.map(({animation:n,options:s})=>wA(e,n,s)))}function qA(e){let t=kA(e);const n=CA();let s=!0;const i=(u,c)=>{const d=yr(e,c);if(d){const{transition:m,transitionEnd:p,...h}=d;u={...u,...h,...p}}return u};function r(u){t=u(e)}function o(u,c){const d=e.getProps(),m=e.getVariantContext(!0)||{},p=[],h=new Set;let v={},x=1/0;for(let b=0;b<IA;b++){const g=SA[b],f=n[g],y=d[g]!==void 0?d[g]:m[g],S=ma(y),C=g===c?f.isActive:null;C===!1&&(x=b);let E=y===m[g]&&y!==d[g]&&S;if(E&&s&&e.manuallyAnimateOnMount&&(E=!1),f.protectedKeys={...v},!f.isActive&&C===null||!y&&!f.prevProp||fr(y)||typeof y=="boolean")continue;let N=EA(f.prevProp,y)||g===c&&f.isActive&&!E&&S||b>x&&S,P=!1;const te=Array.isArray(y)?y:[y];let ce=te.reduce(i,{});C===!1&&(ce={});const{prevResolvedValues:ye={}}=f,oe={...ye,...ce},zt=Z=>{N=!0,h.has(Z)&&(P=!0,h.delete(Z)),f.needsAnimating[Z]=!0};for(const Z in oe){const Fe=ce[Z],j=ye[Z];if(v.hasOwnProperty(Z))continue;let M=!1;Vi(Fe)&&Vi(j)?M=!vg(Fe,j):M=Fe!==j,M?Fe!==void 0?zt(Z):h.add(Z):Fe!==void 0&&h.has(Z)?zt(Z):f.protectedKeys[Z]=!0}f.prevProp=y,f.prevResolvedValues=ce,f.isActive&&(v={...v,...ce}),s&&e.blockInitialAnimation&&(N=!1),N&&(!E||P)&&p.push(...te.map(Z=>({animation:Z,options:{type:g,...u}})))}if(h.size){const b={};h.forEach(g=>{const f=e.getBaseTarget(g);f!==void 0&&(b[g]=f)}),p.push({animation:b})}let I=!!p.length;return s&&(d.initial===!1||d.initial===d.animate)&&!e.manuallyAnimateOnMount&&(I=!1),s=!1,I?t(p):Promise.resolve()}function l(u,c,d){var m;if(n[u].isActive===c)return Promise.resolve();(m=e.variantChildren)===null||m===void 0||m.forEach(h=>{var v;return(v=h.animationState)===null||v===void 0?void 0:v.setActive(u,c)}),n[u].isActive=c;const p=o(d,u);for(const h in n)n[h].protectedKeys={};return p}return{animateChanges:o,setActive:l,setAnimateFunction:r,getState:()=>n}}function EA(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!vg(t,e):!1}function ln(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function CA(){return{animate:ln(!0),whileInView:ln(),whileHover:ln(),whileTap:ln(),whileDrag:ln(),whileFocus:ln(),exit:ln()}}class jA extends sn{constructor(t){super(t),t.animationState||(t.animationState=qA(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();
vendor: 24,626 bytes, line 40
40this.unmount(),fr(t)&&(this.unmount=t.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:t}=this.node.getProps(),{animate:n}=this.node.prevProps||{};t!==n&&this.updateAnimationControlsSubscription()}unmount(){}}let zA=0;class NA extends sn{constructor(){super(...arguments),this.id=zA++}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:n,custom:s}=this.node.presenceContext,{isPresent:i}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===i)return;const r=this.node.animationState.setActive("exit",!t,{custom:s??this.node.getProps().custom});n&&!t&&r.then(()=>n(this.id))}mount(){const{register:t}=this.node.presenceContext||{};t&&(this.unmount=t(this.id))}unmount(){}}const PA={animation:{Feature:jA},exit:{Feature:NA}},Id=(e,t)=>Math.abs(e-t);function TA(e,t){const n=Id(e.x,t.x),s=Id(e.y,t.y);return Math.sqrt(n**2+s**2)}class $g{constructor(t,n,{transformPagePoint:s,contextWindow:i,dragSnapToOrigin:r=!1}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const m=ao(this.lastMoveEventInfo,this.history),p=this.startEvent!==null,h=TA(m.offset,{x:0,y:0})>=3;if(!p&&!h)return;const{point:v}=m,{timestamp:x}=fe;this.history.push({...v,timestamp:x});const{onStart:I,onMove:b}=this.handlers;p||(I&&I(this.lastMoveEvent,m),this.startEvent=this.lastMoveEvent),b&&b(this.lastMoveEvent,m)},this.handlePointerMove=(m,p)=>{this.lastMoveEvent=m,this.lastMoveEventInfo=so(p,this.transformPagePoint),V.update(this.updatePoint,!0)},this.handlePointerUp=(m,p)=>{this.end();const{onEnd:h,onSessionEnd:v,resumeAnimation:x}=this.handlers;if(this.dragSnapToOrigin&&x&&x(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const I=ao(m.type==="pointercancel"?this.lastMoveEventInfo:so(p,this.transformPagePoint),this.history);this.startEvent&&h&&h(m,I),v&&v(m,I)},!mg(t))return;this.dragSnapToOrigin=r,this.handlers=n,this.transformPagePoint=s,this.contextWindow=i||window;const o=xr(t),l=so(o,this.transformPagePoint),{point:u}=l,{timestamp:c}=fe;this.history=[{...u,timestamp:c}];const{onSessionStart:d}=n;d&&d(t,ao(l,this.history)),this.removeListeners=$t(At(this.contextWindow,"pointermove",this.handlePointerMove),At(this.contextWindow,"pointerup",this.handlePointerUp),At(this.contextWindow,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),Ct(this.updatePoint)}}function so(e,t){return t?{point:t(e.point)}:e}function kd(e,t){return{x:e.x-t.x,y:e.y-t.y}}function ao({point:e},t){return{point:e,delta:kd(e,Yg(t)),offset:kd(e,MA(t)),velocity:LA(t,.1)}}function MA(e){return e[0]}function Yg(e){return e[e.length-1]}function LA(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,s=null;const i=Yg(e);for(;n>=0&&(s=e[n],!(i.timestamp-s.timestamp>An(t)));)n--;if(!s)return{x:0,y:0};const r=wt(i.timestamp-s.timestamp);if(r===0)return{x:0,y:0};const o={x:(i.x-s.x)/r,y:(i.y-s.y)/r};return o.x===1/0&&(o.x=0),o.y===1/0&&(o.y=0),o}function Re(e){return e.max-e.min}function xl(e,t=0,n=.01){return Math.abs(e-t)<=n}function qd(e,t,n,s=.5){e.origin=s,e.originPoint=Q(t.min,t.max,e.origin),e.scale=Re(n)/Re(t),(xl(e.scale,1,1e-4)||isNaN(e.scale))&&(e.scale=1),e.translate=Q(n.min,n.max,e.origin)-e.originPoint,(xl(e.translate)||isNaN(e.translate))&&(e.translate=0)}function _s(e,t,n,s){qd(e.x,t.x,n.x,s?s.originX:void 0),qd(e.y,t.y,n.y,s?s.originY:void 0)}function Ed(e,t,n){e.min=n.min+t.min,e.max=e.min+Re(t)}function DA(e,t,n){Ed(e.x,t.x,n.x),Ed(e.y,t.y,n.y)}function Cd(e,t,n){e.min=t.min-n.min,e.max=e.min+Re(t)}function Qs(e,t,n){Cd(e.x,t.x,n.x),Cd(e.y,t.y,n.y)}function OA(e,{min:t,max:n},s){return t!==void 0&&e<t?e=s?Q(t,e,s.min):Math.max(e,t):n!==void 0&&e>n&&(e=s?Q(n,e,s.max):Math.min(e,n)),e}function jd(e,t,n){return{min:t!==void 0?e.min+t:void 0,max:n!==void 0?e.max+n-(e.max-e.min):void 0}}function RA(e,{top:t,left:n,bottom:s,right:i}){return{x:jd(e.x,n,i),y:jd(e.y,t,s)}}function zd(e,t){let n=t.min-e.min,s=t.max-e.max;return t.max-t.min<e.max-e.min&&([n,s]=[s,n]),{min:n,max:s}}function UA(e,t){return{x:zd(e.x,t.x),y:zd(e.y,t.y)}}function GA(e,t){let n=.5;const s=Re(e),i=Re(t);return i>s?n=ha(t.min,t.max-s,e.min):s>i&&(n=ha(e.min,e.max-i,t.min)),Zt(0,1,n)}function FA(e,t){const n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}const yl=.35;function VA(e=yl){return e===!1?e=0:e===!0&&(e=yl),{x:Nd(e,"left","right"),y:Nd(e,"top","bottom")}}function Nd(e,t,n){return{min:Pd(e,t),max:Pd(e,n)}}function Pd(e,t){return typeof e=="number"?e:e[t]||0}const Td=()=>({translate:0,scale:1,origin:0,originPoint:0}),Yn=()=>({x:Td(),y:Td()}),Md=()=>({min:0,max:0}),ne=()=>({x:Md(),y:Md()});function Be(e){return[e("x"),e("y")]}function Jg({top:e,left:t,right:n,bottom:s}){return{x:{min:t,max:n},y:{min:e,max:s}}}function BA({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function HA(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),s=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:s.y,right:s.x}}function io(e){return e===void 0||e===1}function Al({scale:e,scaleX:t,scaleY:n}){return!io(e)||!io(t)||!io(n)}function mn(e){return Al(e)||Zg(e)||e.z||e.rotate||e.rotateX||e.rotateY}function Zg(e){return Ld(e.x)||Ld(e.y)}function Ld(e){return e&&e!=="0%"}function _i(e,t,n){const s=e-n,i=t*s;return n+i}function Dd(e,t,n,s,i){return i!==void 0&&(e=_i(e,i,s)),_i(e,n,s)+t}function wl(e,t=0,n=1,s,i){e.min=Dd(e.min,t,n,s,i),e.max=Dd(e.max,t,n,s,i)}function Xg(e,{x:t,y:n}){wl(e.x,t.translate,t.scale,t.originPoint),wl(e.y,n.translate,n.scale,n.originPoint)}function WA(e,t,n,s=!1){const i=n.length;if(!i)return;t.x=t.y=1;let r,o;for(let l=0;l<i;l++){r=n[l],o=r.projectionDelta;const u=r.instance;u&&u.style&&u.style.display==="contents"||(s&&r.options.layoutScroll&&r.scroll&&r!==r.root&&Jn(e,{x:-r.scroll.offset.x,y:-r.scroll.offset.y}),o&&(t.x*=o.x.scale,t.y*=o.y.scale,Xg(e,o)),s&&mn(r.latestValues)&&Jn(e,r.latestValues))}t.x=Od(t.x),t.y=Od(t.y)}function Od(e){return Number.isInteger(e)||e>1.0000000000001||e<.999999999999?e:1}function Dt(e,t){e.min=e.min+t,e.max=e.max+t}function Rd(e,t,[n,s,i]){const r=t[i]!==void 0?t[i]:.5,o=Q(e.min,e.max,r);wl(e,t[n],t[s],o,t.scale)}const KA=["x","scaleX","originX"],_A=["y","scaleY","originY"];function Jn(e,t){Rd(e.x,t,KA),Rd(e.y,t,_A)}function ef(e,t){return Jg(HA(e.getBoundingClientRect(),t))}function QA(e,t,n){const s=ef(e,n),{scroll:i}=t;return i&&(Dt(s.x,i.offset.x),Dt(s.y,i.offset.y)),s}const tf=({current:e})=>e?e.ownerDocument.defaultView:null,$A=new WeakMap;class YA{constructor(t){this.openGlobalLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=ne(),this.visualElement=t}start(t,{snapToCursor:n=!1}={}){const{presenceContext:s}=this.visualElement;if(s&&s.isPresent===!1)return;const i=d=>{const{dragSnapToOrigin:m}=this.getProps();m?this.pauseAnimation():this.stopAnimation(),n&&this.snapToCursor(xr(d,"page").point)},r=(d,m)=>{const{drag:p,dragPropagation:h,onDragStart:v}=this.getProps();if(p&&!h&&(this.openGlobalLock&&this.openGlobalLock(),this.openGlobalLock=hg(p),!this.openGlobalLock))return;this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),Be(I=>{let b=this.getAxisMotionValue(I).get()||0;if(ht.test(b)){const{projection:g}=this.visualElement;if(g&&g.layout){const f=g.layout.layoutBox[I];f&&(b=Re(f)*(parseFloat(b)/100))}}this.originPoint[I]=b}),v&&V.update(()=>v(d,m),!1,!0);const{animationState:x}=this.visualElement;x&&x.setActive("whileDrag",!0)},o=(d,m)=>{const{dragPropagation:p,dragDirectionLock:h,onDirectionLock:v,onDrag:x}=this.getProps();if(!p&&!this.openGlobalLock)return;const{offset:I}=m;if(h&&this.currentDirection===null){this.currentDirection=JA(I),this.currentDirection!==null&&v&&v(this.currentDirection);return}this.updateAxis("x",m.point,I),this.updateAxis("y",m.point,I),this.visualElement.render(),x&&x(d,m)},l=(d,m)=>this.stop(d,m),u=()=>Be(d=>{var m;return this.getAnimationState(d)==="paused"&&((m=this.getAxisMotionValue(d).animation)===null||m===void 0?void 0:m.play())}),{dragSnapToOrigin:c}=this.getProps();this.panSession=new $g(t,{onSessionStart:i,onStart:r,onMove:o,onSessionEnd:l,resumeAnimation:u},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:c,contextWindow:tf(this.visualElement)})}stop(t,n){const s=this.isDragging;if(this.cancel(),!s)return;const{velocity:i}=n;this.startAnimation(i);const{onDragEnd:r}=this.getProps();r&&V.update(()=>r(t,n))}cancel(){this.isDragging=!1;const{projection:t,animationState:n}=this.visualElement;t&&(t.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:s}=this.getProps();!s&&this.openGlobalLock&&(this.openGlobalLock(),this.openGlobalLock=null),n&&n.setActive("whileDrag",!1)}updateAxis(t,n,s){const{drag:i}=this.getProps();if(!s||!_a(t,i,this.currentDirection))return;const r=this.getAxisMotionValue(t);let o=this.originPoint[t]+s[t];this.constraints&&this.constraints[t]&&(o=OA(o,this.constraints[t],this.elastic[t])),r.set(o)}resolveConstraints(){var t;const{dragConstraints:n,dragElastic:s}=this.getProps(),i=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):(t=this.visualElement.projection)===null||t===void 0?void 0:t.layout,r=this.constraints;n&&Qn(n)?this.constraints||(this.constraints=this.resolveRefConstraints()):n&&i?this.constraints=RA(i.layoutBox,n):this.constraints=!1,this.elastic=VA(s),r!==this.constraints&&i&&this.constraints&&!this.hasMutatedConstraints&&Be(o=>{this.getAxisMotionValue(o)&&(this.constraints[o]=FA(i.layoutBox[o],this.constraints[o]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!Qn(t))return!1;const s=t.current,{projection:i}=this.visualElement;if(!i||!i.layout)return!1;const r=QA(s,i.root,this.visualElement.getTransformPagePoint());let o=UA(i.layout.layoutBox,r);if(n){const l=n(BA(o));this.hasMutatedConstraints=!!l,l&&(o=Jg(l))}return o}startAnimation(t){const{drag:n,dragMomentum:s,dragElastic:i,dragTransition:r,dragSnapToOrigin:o,onDragTransitionEnd:l}=this.getProps(),u=this.constraints||{},c=Be(d=>{if(!_a(d,n,this.currentDirection))return;let m=u&&u[d]||{};o&&(m={min:0,max:0});const p=i?200:1e6,h=i?40:1e7,v={type:"inertia",velocity:s?t[d]:0,bounceStiffness:p,bounceDamping:h,timeConstant:750,restDelta:1,restSpeed:10,...r,...m};return this.startAxisValueAnimation(d,v)});return Promise.all(c).then(l)}startAxisValueAnimation(t,n){const s=this.getAxisMotionValue(t);return s.start(Bu(t,s,0,n))}stopAnimation(){Be(t=>this.getAxisMotionValue(t).stop())}pauseAnimation(){Be(t=>{var n;return(n=this.getAxisMotionValue(t).animation)===null||n===void 0?void 0:n.pause()})}getAnimationState(t){var n;return(n=this.getAxisMotionValue(t).animation)===null||n===void 0?void 0:n.state}getAxisMotionValue(t){const n="_drag"+t.toUpperCase(),s=this.visualElement.getProps(),i=s[n];return i||this.visualElement.getValue(t,(s.initial?s.initial[t]:void 0)||0)}snapToCursor(t){Be(n=>{const{drag:s}=this.getProps();if(!_a(n,s,this.currentDirection))return;const{projection:i}=this.visualElement,r=this.getAxisMotionValue(n);if(i&&i.layout){const{min:o,max:l}=i.layout.layoutBox[n];r.set(t[n]-Q(o,l,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:s}=this.visualElement;if(!Qn(n)||!s||!this.constraints)return;this.stopAnimation();const i={x:0,y:0};Be(o=>{const l=this.getAxisMotionValue(o);if(l){const u=l.get();i[o]=GA({min:u,max:u},this.constraints[o])}});const{transformTemplate:r}=this.visualElement.getProps();this.visualElement.current.style.transform=r?r({},""):"none",s.root&&s.root.updateScroll(),s.updateLayout(),this.resolveConstraints(),Be(o=>{if(!_a(o,t,null))return;const l=this.getAxisMotionValue(o),{min:u,max:c}=this.constraints[o];l.set(Q(u,c,i[o]))})}addListeners(){if(!this.visualElement.current)return;$A.set(this.visualElement,this);const t=this.visualElement.current,n=At(t,"pointerdown",u=>{const{drag:c,dragListener:d=!0}=this.getProps();c&&d&&this.start(u)}),s=()=>{const{dragConstraints:u}=this.getProps();Qn(u)&&(this.constraints=this.resolveRefConstraints())},{projection:i}=this.visualElement,r=i.addEventListener("measure",s);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),s();const o=xt(window,"resize",()=>this.scalePositionWithinConstraints()),l=i.addEventListener("didUpdate",({delta:u,hasLayoutChanged:c})=>{this.isDragging&&c&&(Be(d=>{const m=this.getAxisMotionValue(d);m&&(this.originPoint[d]+=u[d].translate,m.set(m.get()+u[d].translate))}),this.visualElement.render())});return()=>{o(),n(),r(),l&&l()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:s=!1,dragPropagation:i=!1,dragConstraints:r=!1,dragElastic:o=yl,dragMomentum:l=!0}=t;return{...t,drag:n,dragDirectionLock:s,dragPropagation:i,dragConstraints:r,dragElastic:o,dragMomentum:l}}}function _a(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function JA(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class ZA extends sn{constructor(t){super(t),this.removeGroupControls=ee,this.removeListeners=ee,this.controls=new YA(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||ee}unmount(){this.removeGroupControls(),this.removeListeners()}}const Ud=e=>(t,n)=>{e&&V.update(()=>e(t,n))};class XA extends sn{constructor(){super(...arguments),this.removePointerDownListener=ee}onPointerDown(t){this.session=new $g(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:tf(this.node)})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:s,onPanEnd:i}=this.node.getProps();return{onSessionStart:Ud(t),onStart:Ud(n),onMove:s,onEnd:(r,o)=>{delete this.session,i&&V.update(()=>i(r,o))}}}mount(){this.removePointerDownListener=At(this.node.current,"pointerdown",t=>this.onPointerDown(t))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}function ew(){const e=w.useContext(hr);if(e===null)return[!0,null];const{isPresent:t,onExitComplete:n,register:s}=e,i=w.useId();return w.useEffect(()=>s(i),[]),!t&&n?[!1,()=>n&&n(i)]:[!0]}const pi={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function Gd(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const ks={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(T.test(e))e=parseFloat(e);else return e;const n=Gd(e,t.target.x),s=Gd(e,t.target.y);return`${n}% ${s}%`}},tw={correct:(e,{treeScale:t,projectionDelta:n})=>{const s=e,i=Xt.parse(e);if(i.length>5)return s;const r=Xt.createTransformer(e),o=typeof i[0]!="number"?1:0,l=n.x.scale*t.x,u=n.y.scale*t.y;i[0+o]/=l,i[1+o]/=u;const c=Q(l,u,.5);return typeof i[2+o]=="number"&&(i[2+o]/=c),typeof i[3+o]=="number"&&(i[3+o]/=c),r(i)}};class nw extends Ml.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:s,layoutId:i}=this.props,{projection:r}=t;ux(sw),r&&(n.group&&n.group.add(r),s&&s.register&&i&&s.register(r),r.root.didUpdate(),r.addEventListener("animationComplete",()=>{this.safeToRemove()}),r.setOptions({...r.options,onExitComplete:()=>this.safeToRemove()})),pi.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:s,drag:i,isPresent:r}=this.props,o=s.projection;return o&&(o.isPresent=r,i||t.layoutDependency!==n||n===void 0?o.willUpdate():this.safeToRemove(),t.isPresent!==r&&(r?o.promote():o.relegate()||V.postRender(()=>{const l=o.getStack();(!l||!l.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),queueMicrotask(()=>{!t.currentAnimation&&t.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:s}=this.props,{projection:i}=t;i&&(i.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(i),s&&s.deregister&&s.deregister(i))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function nf(e){const[t,n]=ew(),s=w.useContext(ju);return Ml.createElement(nw,{...e,layoutGroup:s,switchLayoutGroup:w.useContext(Jh),isPresent:t,safeToRemove:n})}const sw={borderRadius:{...ks,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:ks,borderTopRightRadius:ks,borderBottomLeftRadius:ks,borderBottomRightRadius:ks,boxShadow:tw},sf=["TopLeft","TopRight","BottomLeft","BottomRight"],aw=sf.length,Fd=e=>typeof e=="string"?parseFloat(e):e,Vd=e=>typeof e=="number"||T.test(e);function iw(e,t,n,s,i,r){i?(e.opacity=Q(0,n.opacity!==void 0?n.opacity:1,rw(s)),e.opacityExit=Q(t.opacity!==void 0?t.opacity:1,0,ow(s))):r&&(e.opacity=Q(t.opacity!==void 0?t.opacity:1,n.opacity!==void 0?n.opacity:1,s));for(let o=0;o<aw;o++){const l=`border${sf[o]}Radius`;let u=Bd(t,l),c=Bd(n,l);if(u===void 0&&c===void 0)continue;u||(u=0),c||(c=0),u===0||c===0||Vd(u)===Vd(c)?(e[l]=Math.max(Q(Fd(u),Fd(c),s),0),(ht.test(c)||ht.test(u))&&(e[l]+="%")):e[l]=c}(t.rotate||n.rotate)&&(e.rotate=Q(t.rotate||0,n.rotate||0,s))}function Bd(e,t){return e[t]!==void 0?e[t]:e.borderRadius}const rw=af(0,.5,qg),ow=af(.5,.95,ee);function af(e,t,n){return s=>s<e?0:s>t?1:n(ha(e,t,s))}function Hd(e,t){e.min=t.min,e.max=t.max}function Ve(e,t){Hd(e.x,t.x),Hd(e.y,t.y)}function Wd(e,t,n,s,i){return e-=t,e=_i(e,1/n,s),i!==void 0&&(e=_i(e,1/i,s)),e}function lw(e,t=0,n=1,s=.5,i,r=e,o=e){if(ht.test(t)&&(t=parseFloat(t),t=Q(o.min,o.max,t/100)-o.min),typeof t!="number")return;let l=Q(r.min,r.max,s);e===r&&(l-=t),e.min=Wd(e.min,t,n,l,i),e.max=Wd(e.max,t,n,l,i)}function Kd(e,t,[n,s,i],r,o){lw(e,t[n],t[s],t[i],t.scale,r,o)}const uw=["x","scaleX","originX"],cw=["y","scaleY","originY"];function _d(e,t,n,s){Kd(e.x,t,uw,n?n.x:void 0,s?s.x:void 0),Kd(e.y,t,cw,n?n.y:void 0,s?s.y:void 0)}function Qd(e){return e.translate===0&&e.scale===1}function rf(e){return Qd(e.x)&&Qd(e.y)}function dw(e,t){return e.x.min===t.x.min&&e.x.max===t.x.max&&e.y.min===t.y.min&&e.y.max===t.y.max}function of(e,t){return Math.round(e.x.min)===Math.round(t.x.min)&&Math.round(e.x.max)===Math.round(t.x.max)&&Math.round(e.y.min)===Math.round(t.y.min)&&Math.round(e.y.max)===Math.round(t.y.max)}function $d(e){return Re(e.x)/Re(e.y)}class mw{constructor(){this.members=[]}add(t){Hu(this.members,t),t.scheduleRender()}remove(t){if(Wu(this.members,t),t===this.prevLead&&(this.prevLead=void 0),t===this.lead){const n=this.members[this.members.length-1];n&&this.promote(n)}}relegate(t){const n=this.members.findIndex(i=>t===i);if(n===0)return!1;let s;for(let i=n;i>=0;i--){const r=this.members[i];if(r.isPresent!==!1){s=r;break}}return s?(this.promote(s),!0):!1}promote(t,n){const s=this.lead;if(t!==s&&(this.prevLead=s,this.lead=t,t.show(),s)){s.instance&&s.scheduleRender(),t.scheduleRender(),t.resumeFrom=s,n&&(t.resumeFrom.preserveOpacity=!0),s.snapshot&&(t.snapshot=s.snapshot,t.snapshot.latestValues=s.animationValues||s.latestValues),t.root&&t.root.isUpdating&&(t.isLayoutDirty=!0);const{crossfade:i}=t.options;i===!1&&s.hide()}}exitAnimationComplete(){this.members.forEach(t=>{const{options:n,resumingFrom:s}=t;n.onExitComplete&&n.onExitComplete(),s&&s.options.onExitComplete&&s.options.onExitComplete()})}scheduleRender(){this.members.forEach(t=>{t.instance&&t.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function Yd(e,t,n){let s="";const i=e.x.translate/t.x,r=e.y.translate/t.y;if((i||r)&&(s=`translate3d(${i}px, ${r}px, 0) `),(t.x!==1||t.y!==1)&&(s+=`scale(${1/t.x}, ${1/t.y}) `),n){const{rotate:u,rotateX:c,rotateY:d}=n;u&&(s+=`rotate(${u}deg) `),c&&(s+=`rotateX(${c}deg) `),d&&(s+=`rotateY(${d}deg) `)}const o=e.x.scale*t.x,l=e.y.scale*t.y;return(o!==1||l!==1)&&(s+=`scale(${o}, ${l})`),s||"none"}const pw=(e,t)=>e.depth-t.depth;class hw{constructor(){this.children=[],this.isDirty=!1}add(t){Hu(this.children,t),this.isDirty=!0}remove(t){Wu(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(pw),this.isDirty=!1,this.children.forEach(t)}}function gw(e,t){const n=performance.now(),s=({timestamp:i})=>{const r=i-n;r>=t&&(Ct(s),e(r-t))};return V.read(s,!0),()=>Ct(s)}function fw(e){window.MotionDebug&&window.MotionDebug.record(e)}function vw(e){return e instanceof SVGElement&&e.tagName!=="svg"}function bw(e,t,n){const s=Ne(e)?e:ds(e);return s.start(Bu("",s,t,n)),s.animation}const Jd=["","X","Y","Z"],xw={visibility:"hidden"},Zd=1e3;let yw=0;const pn={type:"projectionFrame",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0};function lf({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:s,resetTransform:i}){return class{constructor(o={},l=t==null?void 0:t()){this.id=yw++,this.animationId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,pn.totalNodes=pn.resolvedTargetDeltas=pn.recalculatedProjection=0,this.nodes.forEach(Sw),this.nodes.forEach(Cw),this.nodes.forEach(jw),this.nodes.forEach(Iw),fw(pn)},this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=o,this.root=l?l.root||l:this,this.path=l?[...l.path,l]:[],this.parent=l,this.depth=l?l.depth+1:0;for(let u=0;u<this.path.length;u++)this.path[u].shouldResetTransform=!0;this.root===this&&(this.nodes=new hw)}addEventListener(o,l){return this.eventHandlers.has(o)||this.eventHandlers.set(o,new Ku),this.eventHandlers.get(o).add(l)}notifyListeners(o,...l){const u=this.eventHandlers.get(o);u&&u.notify(...l)}hasListeners(o){return this.eventHandlers.has(o)}mount(o,l=this.root.hasTreeAnimated){if(this.instance)return;this.isSVG=vw(o),this.instance=o;const{layoutId:u,layout:c,visualElement:d}=this.options;if(d&&!d.current&&d.mount(o),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),l&&(c||u)&&(this.isLayoutDirty=!0),e){let m;const p=()=>this.root.updateBlockedByResize=!1;e(o,()=>{this.root.updateBlockedByResize=!0,m&&m(),m=gw(p,250),pi.hasAnimatedSinceResize&&(pi.hasAnimatedSinceResize=!1,this.nodes.forEach(em))})}u&&this.root.registerSharedNode(u,this),this.options.animate!==!1&&d&&(u||c)&&this.addEventListener("didUpdate",({delta:m,hasLayoutChanged:p,hasRelativeTargetChanged:h,layout:v})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const x=this.options.transition||d.getDefaultTransition()||Mw,{onLayoutAnimationStart:I,onLayoutAnimationComplete:b}=d.getProps(),g=!this.targetLayout||!of(this.targetLayout,v)||h,f=!p&&h;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||f||p&&(g||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(m,f);const y={...Vu(x,"layout"),onPlay:I,onComplete:b};(d.shouldReduceMotion||this.options.layoutRoot)&&(y.delay=0,y.type=!1),this.startAnimation(y)}else p||em(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=v})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const o=this.getStack();o&&o.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,Ct(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEac
vendor: 9,176 bytes, line 40
40h(zw),this.animationId++)}getTransformTemplate(){const{visualElement:o}=this.options;return o&&o.getProps().transformTemplate}willUpdate(o=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let d=0;d<this.path.length;d++){const m=this.path[d];m.shouldResetTransform=!0,m.updateScroll("snapshot"),m.options.layoutRoot&&m.willUpdate(!1)}const{layoutId:l,layout:u}=this.options;if(l===void 0&&!u)return;const c=this.getTransformTemplate();this.prevTransformTemplateValue=c?c(this.latestValues,""):void 0,this.updateSnapshot(),o&&this.notifyListeners("willUpdate")}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){this.unblockUpdate(),this.clearAllSnapshots(),this.nodes.forEach(Xd);return}this.isUpdating||this.nodes.forEach(qw),this.isUpdating=!1,this.nodes.forEach(Ew),this.nodes.forEach(Aw),this.nodes.forEach(ww),this.clearAllSnapshots();const l=performance.now();fe.delta=Zt(0,1e3/60,l-fe.timestamp),fe.timestamp=l,fe.isProcessing=!0,$r.update.process(fe),$r.preRender.process(fe),$r.render.process(fe),fe.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,queueMicrotask(()=>this.update()))}clearAllSnapshots(){this.nodes.forEach(kw),this.sharedNodes.forEach(Nw)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,V.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){V.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure())}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let u=0;u<this.path.length;u++)this.path[u].updateScroll();const o=this.layout;this.layout=this.measure(!1),this.layoutCorrected=ne(),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners("measure",this.layout.layoutBox);const{visualElement:l}=this.options;l&&l.notify("LayoutMeasure",this.layout.layoutBox,o?o.layoutBox:void 0)}updateScroll(o="measure"){let l=!!(this.options.layoutScroll&&this.instance);this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===o&&(l=!1),l&&(this.scroll={animationId:this.root.animationId,phase:o,isRoot:s(this.instance),offset:n(this.instance)})}resetTransform(){if(!i)return;const o=this.isLayoutDirty||this.shouldResetTransform,l=this.projectionDelta&&!rf(this.projectionDelta),u=this.getTransformTemplate(),c=u?u(this.latestValues,""):void 0,d=c!==this.prevTransformTemplateValue;o&&(l||mn(this.latestValues)||d)&&(i(this.instance,c),this.shouldResetTransform=!1,this.scheduleRender())}measure(o=!0){const l=this.measurePageBox();let u=this.removeElementScroll(l);return o&&(u=this.removeTransform(u)),Lw(u),{animationId:this.root.animationId,measuredBox:l,layoutBox:u,latestValues:{},source:this.id}}measurePageBox(){const{visualElement:o}=this.options;if(!o)return ne();const l=o.measureViewportBox(),{scroll:u}=this.root;return u&&(Dt(l.x,u.offset.x),Dt(l.y,u.offset.y)),l}removeElementScroll(o){const l=ne();Ve(l,o);for(let u=0;u<this.path.length;u++){const c=this.path[u],{scroll:d,options:m}=c;if(c!==this.root&&d&&m.layoutScroll){if(d.isRoot){Ve(l,o);const{scroll:p}=this.root;p&&(Dt(l.x,-p.offset.x),Dt(l.y,-p.offset.y))}Dt(l.x,d.offset.x),Dt(l.y,d.offset.y)}}return l}applyTransform(o,l=!1){const u=ne();Ve(u,o);for(let c=0;c<this.path.length;c++){const d=this.path[c];!l&&d.options.layoutScroll&&d.scroll&&d!==d.root&&Jn(u,{x:-d.scroll.offset.x,y:-d.scroll.offset.y}),mn(d.latestValues)&&Jn(u,d.latestValues)}return mn(this.latestValues)&&Jn(u,this.latestValues),u}removeTransform(o){const l=ne();Ve(l,o);for(let u=0;u<this.path.length;u++){const c=this.path[u];if(!c.instance||!mn(c.latestValues))continue;Al(c.latestValues)&&c.updateSnapshot();const d=ne(),m=c.measurePageBox();Ve(d,m),_d(l,c.latestValues,c.snapshot?c.snapshot.layoutBox:void 0,d)}return mn(this.latestValues)&&_d(l,this.latestValues),l}setTargetDelta(o){this.targetDelta=o,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(o){this.options={...this.options,...o,crossfade:o.crossfade!==void 0?o.crossfade:!0}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==fe.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(o=!1){var l;const u=this.getLead();this.isProjectionDirty||(this.isProjectionDirty=u.isProjectionDirty),this.isTransformDirty||(this.isTransformDirty=u.isTransformDirty),this.isSharedProjectionDirty||(this.isSharedProjectionDirty=u.isSharedProjectionDirty);const c=!!this.resumingFrom||this!==u;if(!(o||c&&this.isSharedProjectionDirty||this.isProjectionDirty||!((l=this.parent)===null||l===void 0)&&l.isProjectionDirty||this.attemptToResolveRelativeTarget))return;const{layout:m,layoutId:p}=this.options;if(!(!this.layout||!(m||p))){if(this.resolvedRelativeTargetAt=fe.timestamp,!this.targetDelta&&!this.relativeTarget){const h=this.getClosestProjectingParent();h&&h.layout&&this.animationProgress!==1?(this.relativeParent=h,this.forceRelativeParentToResolveTarget(),this.relativeTarget=ne(),this.relativeTargetOrigin=ne(),Qs(this.relativeTargetOrigin,this.layout.layoutBox,h.layout.layoutBox),Ve(this.relativeTarget,this.relativeTargetOrigin)):this.relativeParent=this.relativeTarget=void 0}if(!(!this.relativeTarget&&!this.targetDelta)){if(this.target||(this.target=ne(),this.targetWithTransforms=ne()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),DA(this.target,this.relativeTarget,this.relativeParent.target)):this.targetDelta?(this.resumingFrom?this.target=this.applyTransform(this.layout.layoutBox):Ve(this.target,this.layout.layoutBox),Xg(this.target,this.targetDelta)):Ve(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget){this.attemptToResolveRelativeTarget=!1;const h=this.getClosestProjectingParent();h&&!!h.resumingFrom==!!this.resumingFrom&&!h.options.layoutScroll&&h.target&&this.animationProgress!==1?(this.relativeParent=h,this.forceRelativeParentToResolveTarget(),this.relativeTarget=ne(),this.relativeTargetOrigin=ne(),Qs(this.relativeTargetOrigin,this.target,h.target),Ve(this.relativeTarget,this.relativeTargetOrigin)):this.relativeParent=this.relativeTarget=void 0}pn.resolvedTargetDeltas++}}}getClosestProjectingParent(){if(!(!this.parent||Al(this.parent.latestValues)||Zg(this.parent.latestValues)))return this.parent.isProjecting()?this.parent:this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}calcProjection(){var o;const l=this.getLead(),u=!!this.resumingFrom||this!==l;let c=!0;if((this.isProjectionDirty||!((o=this.parent)===null||o===void 0)&&o.isProjectionDirty)&&(c=!1),u&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(c=!1),this.resolvedRelativeTargetAt===fe.timestamp&&(c=!1),c)return;const{layout:d,layoutId:m}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(d||m))return;Ve(this.layoutCorrected,this.layout.layoutBox);const p=this.treeScale.x,h=this.treeScale.y;WA(this.layoutCorrected,this.treeScale,this.path,u),l.layout&&!l.target&&(this.treeScale.x!==1||this.treeScale.y!==1)&&(l.target=l.layout.layoutBox);const{target:v}=l;if(!v){this.projectionTransform&&(this.projectionDelta=Yn(),this.projectionTransform="none",this.scheduleRender());return}this.projectionDelta||(this.projectionDelta=Yn(),this.projectionDeltaWithTransform=Yn());const x=this.projectionTransform;_s(this.projectionDelta,this.layoutCorrected,v,this.latestValues),this.projectionTransform=Yd(this.projectionDelta,this.treeScale),(this.projectionTransform!==x||this.treeScale.x!==p||this.treeScale.y!==h)&&(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners("projectionUpdate",v)),pn.recalculatedProjection++}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(o=!0){if(this.options.scheduleRender&&this.options.scheduleRender(),o){const l=this.getStack();l&&l.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}setAnimationOrigin(o,l=!1){const u=this.snapshot,c=u?u.latestValues:{},d={...this.latestValues},m=Yn();(!this.relativeParent||!this.relativeParent.options.layoutRoot)&&(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!l;const p=ne(),h=u?u.source:void 0,v=this.layout?this.layout.source:void 0,x=h!==v,I=this.getStack(),b=!I||I.members.length<=1,g=!!(x&&!b&&this.options.crossfade===!0&&!this.path.some(Tw
vendor: 9,041 bytes, line 40
40));this.animationProgress=0;let f;this.mixTargetDelta=y=>{const S=y/1e3;tm(m.x,o.x,S),tm(m.y,o.y,S),this.setTargetDelta(m),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Qs(p,this.layout.layoutBox,this.relativeParent.layout.layoutBox),Pw(this.relativeTarget,this.relativeTargetOrigin,p,S),f&&dw(this.relativeTarget,f)&&(this.isProjectionDirty=!1),f||(f=ne()),Ve(f,this.relativeTarget)),x&&(this.animationValues=d,iw(d,c,this.latestValues,S,g,b)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=S},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(o){this.notifyListeners("animationStart"),this.currentAnimation&&this.currentAnimation.stop(),this.resumingFrom&&this.resumingFrom.currentAnimation&&this.resumingFrom.currentAnimation.stop(),this.pendingAnimation&&(Ct(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=V.update(()=>{pi.hasAnimatedSinceResize=!0,this.currentAnimation=bw(0,Zd,{...o,onUpdate:l=>{this.mixTargetDelta(l),o.onUpdate&&o.onUpdate(l)},onComplete:()=>{o.onComplete&&o.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const o=this.getStack();o&&o.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(Zd),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const o=this.getLead();let{targetWithTransforms:l,target:u,layout:c,latestValues:d}=o;if(!(!l||!u||!c)){if(this!==o&&this.layout&&c&&uf(this.options.animationType,this.layout.layoutBox,c.layoutBox)){u=this.target||ne();const m=Re(this.layout.layoutBox.x);u.x.min=o.target.x.min,u.x.max=u.x.min+m;const p=Re(this.layout.layoutBox.y);u.y.min=o.target.y.min,u.y.max=u.y.min+p}Ve(l,u),Jn(l,d),_s(this.projectionDeltaWithTransform,this.layoutCorrected,l,d)}}registerSharedNode(o,l){this.sharedNodes.has(o)||this.sharedNodes.set(o,new mw),this.sharedNodes.get(o).add(l);const c=l.options.initialPromotionConfig;l.promote({transition:c?c.transition:void 0,preserveFollowOpacity:c&&c.shouldPreserveFollowOpacity?c.shouldPreserveFollowOpacity(l):void 0})}isLead(){const o=this.getStack();return o?o.lead===this:!0}getLead(){var o;const{layoutId:l}=this.options;return l?((o=this.getStack())===null||o===void 0?void 0:o.lead)||this:this}getPrevLead(){var o;const{layoutId:l}=this.options;return l?(o=this.getStack())===null||o===void 0?void 0:o.prevLead:void 0}getStack(){const{layoutId:o}=this.options;if(o)return this.root.sharedNodes.get(o)}promote({needsReset:o,transition:l,preserveFollowOpacity:u}={}){const c=this.getStack();c&&c.promote(this,u),o&&(this.projectionDelta=void 0,this.needsReset=!0),l&&this.setOptions({transition:l})}relegate(){const o=this.getStack();return o?o.relegate(this):!1}resetRotation(){const{visualElement:o}=this.options;if(!o)return;let l=!1;const{latestValues:u}=o;if((u.rotate||u.rotateX||u.rotateY||u.rotateZ)&&(l=!0),!l)return;const c={};for(let d=0;d<Jd.length;d++){const m="rotate"+Jd[d];u[m]&&(c[m]=u[m],o.setStaticValue(m,0))}o.render();for(const d in c)o.setStaticValue(d,c[d]);o.scheduleRender()}getProjectionStyles(o){var l,u;if(!this.instance||this.isSVG)return;if(!this.isVisible)return xw;const c={visibility:""},d=this.getTransformTemplate();if(this.needsReset)return this.needsReset=!1,c.opacity="",c.pointerEvents=mi(o==null?void 0:o.pointerEvents)||"",c.transform=d?d(this.latestValues,""):"none",c;const m=this.getLead();if(!this.projectionDelta||!this.layout||!m.target){const x={};return this.options.layoutId&&(x.opacity=this.latestValues.opacity!==void 0?this.latestValues.opacity:1,x.pointerEvents=mi(o==null?void 0:o.pointerEvents)||""),this.hasProjected&&!mn(this.latestValues)&&(x.transform=d?d({},""):"none",this.hasProjected=!1),x}const p=m.animationValues||m.latestValues;this.applyTransformsToTarget(),c.transform=Yd(this.projectionDeltaWithTransform,this.treeScale,p),d&&(c.transform=d(p,c.transform));const{x:h,y:v}=this.projectionDelta;c.transformOrigin=`${h.origin*100}% ${v.origin*100}% 0`,m.animationValues?c.opacity=m===this?(u=(l=p.opacity)!==null&&l!==void 0?l:this.latestValues.opacity)!==null&&u!==void 0?u:1:this.preserveOpacity?this.latestValues.opacity:p.opacityExit:c.opacity=m===this?p.opacity!==void 0?p.opacity:"":p.opacityExit!==void 0?p.opacityExit:0;for(const x in Gi){if(p[x]===void 0)continue;const{correct:I,applyTo:b}=Gi[x],g=c.transform==="none"?p[x]:I(p[x],m);if(b){const f=b.length;for(let y=0;y<f;y++)c[b[y]]=g}else c[x]=g}return this.options.layoutId&&(c.pointerEvents=m===this?mi(o==null?void 0:o.pointerEvents)||"":"none"),c}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(o=>{var l;return(l=o.currentAnimation)===null||l===void 0?void 0:l.stop()}),this.root.nodes.forEach(Xd),this.root.sharedNodes.clear()}}}function Aw(e){e.updateLayout()}function ww(e){var t;const n=((t=e.resumeFrom)===null||t===void 0?void 0:t.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&n&&e.hasListeners("didUpdate")){const{layoutBox:s,measuredBox:i}=e.layout,{animationType:r}=e.options,o=n.source!==e.layout.source;r==="size"?Be(m=>{const p=o?n.measuredBox[m]:n.layoutBox[m],h=Re(p);p.min=s[m].min,p.max=p.min+h}):uf(r,n.layoutBox,s)&&Be(m=>{const p=o?n.measuredBox[m]:n.layoutBox[m],h=Re(s[m]);p.max=p.min+h,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[m].max=e.relativeTarget[m].min+h)});const l=Yn();_s(l,s,n.layoutBox);const u=Yn();o?_s(u,e.applyTransform(i,!0),n.measuredBox):_s(u,s,n.layoutBox);const c=!rf(l);let d=!1;if(!e.resumeFrom){const m=e.getClosestProjectingParent();if(m&&!m.resumeFrom){const{snapshot:p,layout:h}=m;if(p&&h){const v=ne();Qs(v,n.layoutBox,p.layoutBox);const x=ne();Qs(x,s,h.layoutBox),of(v,x)||(d=!0),m.options.layoutRoot&&(e.relativeTarget=x,e.relativeTargetOrigin=v,e.relativeParent=m)}}}e.notifyListeners("didUpdate",{layout:s,snapshot:n,delta:u,layoutDelta:l,hasLayoutChanged:c,hasRelativeTargetChanged:d})}else if(e.isLead()){const{onExitComplete:s}=e.options;s&&s()}e.options.transition=void 0}function Sw(e){pn.totalNodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function Iw(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function kw(e){e.clearSnapshot()}function Xd(e){e.clearMeasurements()}function qw(e){e.isLayoutDirty=!1}function Ew(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function em(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function Cw(e){e.resolveTargetDelta()}function jw(e){e.calcProjection()}function zw(e){e.resetRotation()}function Nw(e){e.removeLeadSnapshot()}function tm(e,t,n){e.translate=Q(t.translate,0,n),e.scale=Q(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function nm(e,t,n,s){e.min=Q(t.min,n.min,s),e.max=Q(t.max,n.max,s)}function Pw(e,t,n,s){nm(e.x,t.x,n.x,s),nm(e.y,t.y,n.y,s)}function Tw(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const Mw={duration:.45,ease:[.4,0,.1,1]},sm=e=>typeof navigator<"u"&&navigator.userAgent.toLowerCase().includes(e),am=sm("applewebkit/")&&!sm("chrome/")?Math.round:ee;function im(e){e.min=am(e.min),e.max=am(e.max)}function Lw(e){im(e.x),im(e.y)}function uf(e,t,n){return e==="position"||e==="preserve-aspect"&&!xl($d(t),$d(n),.2)}const Dw=lf({attachResizeListener:(e,t)=>xt(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),ro={current:void 0},cf=lf({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!ro.current){const e=new Dw({});e.mount(window),e.setOptions({layoutScroll:!0}),ro.current=e}return ro.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),Ow={pan:{Feature:XA},drag:{Feature:ZA,ProjectionNode:cf,MeasureLayout:nf}},Rw=/var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/;function Uw(e){const t=Rw.exec(e);if(!t)return[,];const[,n,s]=t;return[n,s]}function Sl(e,t,n=1){const[s,i]=Uw(e);if(!s)return;const r=window.getComputedStyle(t).getPropertyValue(s);if(r){const o=r.trim();return Wg(o)?parseFloat(o):o}else return ml(i)?Sl(i,t,n+1):i}function Gw(e,{...t},n){const s=e.current;if(!(s instanceof Element))return{target:t,transitionEnd:n};n&&(n={...n}
40),e.values.forEach(i=>{const r=i.get();if(!ml(r))return;const o=Sl(r,s);o&&i.set(o)});for(const i in t){const r=t[i];if(!ml(r))continue;const o=Sl(r,s);o&&(t[i]=o,n||(n={}),n[i]===void 0&&(n[i]=r))}return{target:t,transitionEnd:n}}const Fw=new Set(["width","height","top","left","right","bottom","x","y","translateX","translateY"]),df=e=>Fw.has(e),Vw=e=>Object.keys(e).some(df),rm=e=>e===Pn||e===T,om=(e,t)=>parseFloat(e.split(", ")[t]),lm=(e,t)=>(n,{transform:s})=>{if(s==="none"||!s)return 0;const i=s.match(/^matrix3d\((.+)\)$/);if(i)return om(i[1],t);{const r=s.match(/^matrix\((.+)\)$/);return r?om(r[1],e):0}},Bw=new Set(["x","y","z"]),Hw=wa.filter(e=>!Bw.has(e));function Ww(e){const t=[];return Hw.forEach(n=>{const s=e.getValue(n);s!==void 0&&(t.push([n,s.get()]),s.set(n.startsWith("scale")?1:0))}),t.length&&e.render(),t}const ms={width:({x:e},{paddingLeft:t="0",paddingRight:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),height:({y:e},{paddingTop:t="0",paddingBottom:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:lm(4,13),y:lm(5,14)};ms.translateX=ms.x;ms.translateY=ms.y;const Kw=(e,t,n)=>{const s=t.measureViewportBox(),i=t.current,r=getComputedStyle(i),{display:o}=r,l={};o==="none"&&t.setStaticValue("display",e.display||"block"),n.forEach(c=>{l[c]=ms[c](s,r)}),t.render();const u=t.measureViewportBox();return n.forEach(c=>{const d=t.getValue(c);d&&d.jump(l[c]),e[c]=ms[c](u,r)}),e},_w=(e,t,n={},s={})=>{t={...t},s={...s};const i=Object.keys(t).filter(df);let r=[],o=!1;const l=[];if(i.forEach(u=>{const c=e.getValue(u);if(!e.hasValue(u))return;let d=n[u],m=Is(d);const p=t[u];let h;if(Vi(p)){const v=p.length,x=p[0]===null?1:0;d=p[x],m=Is(d);for(let I=x;I<v&&p[I]!==null;I++)h?Ou(Is(p[I])===h):h=Is(p[I])}else h=Is(p);if(m!==h)if(rm(m)&&rm(h)){const v=c.get();typeof v=="string"&&c.set(parseFloat(v)),typeof p=="string"?t[u]=parseFloat(p):Array.isArray(p)&&h===T&&(t[u]=p.map(parseFloat))}else m!=null&&m.transform&&(h!=null&&h.transform)&&(d===0||p===0)?d===0?c.set(h.transform(d)):t[u]=m.transform(p):(o||(r=Ww(e),o=!0),l.push(u),s[u]=s[u]!==void 0?s[u]:t[u],c.jump(p))}),l.length){const u=l.indexOf("height")>=0?window.pageYOffset:null,c=Kw(t,e,l);return r.length&&r.forEach(([d,m])=>{e.getValue(d).set(m)}),e.render(),gr&&u!==null&&window.scrollTo({top:u}),{target:c,transitionEnd:s}}else return{target:t,transitionEnd:s}};function Qw(e,t,n,s){return Vw(t)?_w(e,t,n,s):{target:t,transitionEnd:s}}const $w=(e,t,n,s)=>{const i=Gw(e,t,s);return t=i.target,s=i.transitionEnd,Qw(e,t,n,s)},Il={current:null},mf={current:!1};function Yw(){if(mf.current=!0,!!gr)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>Il.current=e.matches;e.addListener(t),t()}else Il.current=!1}
vendor: 10,924 bytes, lines 40-48
40function Jw(e,t,n){const{willChange:s}=t;for(const i in t){const r=t[i],o=n[i];if(Ne(r))e.addValue(i,r),Ki(s)&&s.add(i);else if(Ne(o))e.addValue(i,ds(r,{owner:e})),Ki(s)&&s.remove(i);else if(o!==r)if(e.hasValue(i)){const l=e.getValue(i);!l.hasAnimated&&l.set(r)}else{const l=e.getStaticValue(i);e.addValue(i,ds(l!==void 0?l:r,{owner:e}))}}for(const i in n)t[i]===void 0&&e.removeValue(i);return t}const um=new WeakMap,pf=Object.keys(pa),Zw=pf.length,cm=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"],Xw=Cu.length;class e0{constructor({parent:t,props:n,presenceContext:s,reducedMotionConfig:i,visualState:r},o={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.scheduleRender=()=>V.render(this.render,!1,!0);const{latestValues:l,renderState:u}=r;this.latestValues=l,this.baseTarget={...l},this.initialValues=n.initial?{...l}:{},this.renderState=u,this.parent=t,this.props=n,this.presenceContext=s,this.depth=t?t.depth+1:0,this.reducedMotionConfig=i,this.options=o,this.isControllingVariants=vr(n),this.isVariantNode=Yh(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(t&&t.current);const{willChange:c,...d}=this.scrapeMotionValuesFromProps(n,{});for(const m in d){const p=d[m];l[m]!==void 0&&Ne(p)&&(p.set(l[m],!1),Ki(c)&&c.add(m))}}scrapeMotionValuesFromProps(t,n){return{}}mount(t){this.current=t,um.set(t,this),this.projection&&!this.projection.instance&&this.projection.mount(t),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((n,s)=>this.bindToMotionValue(s,n)),mf.current||Yw(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:Il.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){um.delete(this.current),this.projection&&this.projection.unmount(),Ct(this.notifyUpdate),Ct(this.render),this.valueSubscriptions.forEach(t=>t()),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const t in this.events)this.events[t].clear();for(const t in this.features)this.features[t].unmount();this.current=null}bindToMotionValue(t,n){const s=Nn.has(t),i=n.on("change",o=>{this.latestValues[t]=o,this.props.onUpdate&&V.update(this.notifyUpdate,!1,!0),s&&this.projection&&(this.projection.isTransformDirty=!0)}),r=n.on("renderRequest",this.scheduleRender);this.valueSubscriptions.set(t,()=>{i(),r()})}sortNodePosition(t){return!this.current||!this.sortInstanceNodePosition||this.type!==t.type?0:this.sortInstanceNodePosition(this.current,t.current)}loadFeatures({children:t,...n},s,i,r){let o,l;for(let u=0;u<Zw;u++){const c=pf[u],{isEnabled:d,Feature:m,ProjectionNode:p,MeasureLayout:h}=pa[c];p&&(o=p),d(n)&&(!this.features[c]&&m&&(this.features[c]=new m(this)),h&&(l=h))}if((this.type==="html"||this.type==="svg")&&!this.projection&&o){this.projection=new o(this.latestValues,this.parent&&this.parent.projection);const{layoutId:u,layout:c,drag:d,dragConstraints:m,layoutScroll:p,layoutRoot:h}=n;this.projection.setOptions({layoutId:u,layout:c,alwaysMeasureLayout:!!d||m&&Qn(m),visualElement:this,scheduleRender:()=>this.scheduleRender(),animationType:typeof c=="string"?c:"both",initialPromotionConfig:r,layoutScroll:p,layoutRoot:h})}return l}updateFeatures(){for(const t in this.features){const n=this.features[t];n.isMounted?n.update():(n.mount(),n.isMounted=!0)}}triggerBuild(){this.build(this.renderState,this.latestValues,this.options,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):ne()}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,n){this.latestValues[t]=n}makeTargetAnimatable(t,n=!0){return this.makeTargetAnimatableFromInstance(t,this.props,n)}update(t,n){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=n;for(let s=0;s<cm.length;s++){const i=cm[s];this.propEventSubscriptions[i]&&(this.propEventSubscriptions[i](),delete this.propEventSubscriptions[i]);const r=t["on"+i];r&&(this.propEventSubscriptions[i]=this.on(i,r))}this.prevMotionValues=Jw(this,this.scrapeMotionValuesFromProps(t,this.prevProps),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue()}getProps(){return this.props}getVariant(t){return this.props.variants?this.props.variants[t]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}getVariantContext(t=!1){if(t)return this.parent?this.parent.getVariantContext():void 0;if(!this.isControllingVariants){const s=this.parent?this.parent.getVariantContext()||{}:{};return this.props.initial!==void 0&&(s.initial=this.props.initial),s}const n={};for(let s=0;s<Xw;s++){const i=Cu[s],r=this.props[i];(ma(r)||r===!1)&&(n[i]=r)}return n}addVariantChild(t){const n=this.getClosestVariantNode();if(n)return n.variantChildren&&n.variantChildren.add(t),()=>n.variantChildren.delete(t)}addValue(t,n){n!==this.values.get(t)&&(this.removeValue(t),this.bindToMotionValue(t,n)),this.values.set(t,n),this.latestValues[t]=n.get()}removeValue(t){this.values.delete(t);const n=this.valueSubscriptions.get(t);n&&(n(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,n){if(this.props.values&&this.props.values[t])return this.props.values[t];let s=this.values.get(t);return s===void 0&&n!==void 0&&(s=ds(n,{owner:this}),this.addValue(t,s)),s}readValue(t){var n;return this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:(n=this.getBaseTargetFromProps(this.props,t))!==null&&n!==void 0?n:this.readValueFromInstance(this.current,t,this.options)}setBaseTarget(t,n){this.baseTarget[t]=n}getBaseTarget(t){var n;const{initial:s}=this.props,i=typeof s=="string"||typeof s=="object"?(n=Du(this.props,s))===null||n===void 0?void 0:n[t]:void 0;if(s&&i!==void 0)return i;const r=this.getBaseTargetFromProps(this.props,t);return r!==void 0&&!Ne(r)?r:this.initialValues[t]!==void 0&&i===void 0?void 0:this.baseTarget[t]}on(t,n){return this.events[t]||(this.events[t]=new Ku),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}}class hf extends e0{sortInstanceNodePosition(t,n){return t.compareDocumentPosition(n)&2?1:-1}getBaseTargetFromProps(t,n){return t.style?t.style[n]:void 0}removeValueFromRenderState(t,{vars:n,style:s}){delete n[t],delete s[t]}makeTargetAnimatableFromInstance({transition:t,transitionEnd:n,...s},{transformValues:i},r){let o=vA(s,t||{},this);if(i&&(n&&(n=i(n)),s&&(s=i(s)),o&&(o=i(o))),r){gA(this,s,o);const l=$w(this,s,o,n);n=l.transitionEnd,s=l.target}return{transition:t,transitionEnd:n,...s}}}function t0(e){return window.getComputedStyle(e)}class n0 extends hf{constructor(){super(...arguments),this.type="html"}readValueFromInstance(t,n){if(Nn.has(n)){const s=Fu(n);return s&&s.default||0}else{const s=t0(t),i=(eg(n)?s.getPropertyValue(n):s[n])||0;return typeof i=="string"?i.trim():i}}measureInstanceViewportBox(t,{transformPagePoint:n}){return ef(t,n)}build(t,n,s,i){Nu(t,n,s,i.transformTemplate)}scrapeMotionValuesFromProps(t,n){return Lu(t,n)}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;Ne(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}renderInstance(t,n,s,i){rg(t,n,s,i)}}class s0 extends hf{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(Nn.has(n)){const s=Fu(n);return s&&s.default||0}return n=og.has(n)?n:qu(n),t.getAttribute(n)}measureInstanceViewportBox(){return ne()}scrapeMotionValuesFromProps(t,n){return ug(t,n)}build(t,n,s,i){Tu(t,n,s,this.isSVGTag,i.transformTemplate)}renderInstance(t,n,s,i){lg(t,n,s,i)}mount(t){this.isSVGTag=Mu(t.tagName),super.mount(t)}}const a0=(e,t)=>zu(e)?new s0(t,{enableHardwareAcceleration:!1}):new n0(t,{enableHardwareAcceleration:!0}),i0={layout:{ProjectionNode:cf,MeasureLayout:nf}},r0={...PA,...Zx,...Ow,...i0},A=ox((e,t)=>Ux(e,t,r0,a0));function gf(){const e=w.useRef(!1);return ku(()=>(e.current=!0,()=>{e.current=!1}),[]),e}function o0(){const e=gf(),[t,n]=w.useState(0),s=w.useCallback(()=>{e.current&&n(t+1)},[t]);return[w.useCallback(()=>V.postRender(s),[s]),t]}class l0 extends w.Component{getSnapshotBeforeUpdate(t){const n=this.props.childRef.current;if(n&&t.isPresent&&!this.props.isPresent){const s=this.props.sizeRef.current;s.height=n.offsetHeight||0,s.width=n.offsetWidth||0,s.top=n.offsetTop,s.left=n.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}}function u0({children:e,isPresent:t}){const n=w.useId(),s=w.useRef(null),i=w.useRef({width:0,height:0,top:0,left:0});return w.useInsertionEffect(()=>{const{width:r,height:o,top:l,left:u}=i.current;if(t||!s.current||!r||!o)return;s.current.dataset.motionPopId=n;const c=document.createElement("style");return document.head.appendChild(c),c.sheet&&c.sheet.insertRule(` 41 [data-motion-pop-id="${n}"] { 42 position: absolute !important; 43 width: ${r}px !important; 44 height: ${o}px !important; 45 top: ${l}px !important; 46 left: ${u}px !important; 47 } 48 `),()=>{document.head.removeChild(c)}},[t]),w.createElement(l0,{isPresent:t,childRef:s,sizeRef:i},w.cloneElement(e,{ref:s}))}const oo=({children:e,initial:t,isPresent:n,onExitComplete:s,custom:i,presenceAffectsLayout:r,mode:o})=>{const l=cg(c0),u=w.useId(),c=w.useMemo(()=>({id:u,initial:t,isPresent:n,custom:i,onExitComplete:d=>{l.set(d,!0);for(const m of l.values())if(!m)return;s&&s()},register:d=>(l.set(d,!1),()=>l.delete(d))}),r?void 0:[n]);return w.useMemo(()=>{l.forEach((d,m)=>l.set(m,!1))},[n]),w.useEffect(()=>{!n&&!l.size&&s&&s()},[n]),o==="popLayout"&&(e=w.createElement(u0,{isPresent:n},e)),w.createElement(hr.Provider,{value:c},e)};function c0(){return new Map}function d0(e){return w.useEffect(()=>()=>e(),[])}const hn=e=>e.key||"";function m0(e,t){e.forEach(n=>{const s=hn(n);t.set(s,n)})}function p0(e){const t=[];
48return w.Children.forEach(e,n=>{w.isValidElement(n)&&t.push(n)}),t}const Cn=({children:e,custom:t,initial:n=!0,onExitComplete:s,exitBeforeEnter:i,presenceAffectsLayout:r=!0,mode:o="sync"})=>{const l=w.useContext(ju).forceRender||o0()[0],u=gf(),c=p0(e);let d=c;const m=w.useRef(new Map).current,p=w.useRef(d),h=w.useRef(new Map).current,v=w.useRef(!0);if(ku(()=>{v.current=!1,m0(c,h),p.current=d}),d0(()=>{v.current=!0,h.clear(),m.clear()}),v.current)return w.createElement(w.Fragment,null,d.map(g=>w.createElement(oo,{key:hn(g),isPresent:!0,initial:n?void 0:!1,presenceAffectsLayout:r,mode:o},g)));d=[...d];const x=p.current.map(hn),I=c.map(hn),b=x.length;for(let g=0;g<b;g++){const f=x[g];I.indexOf(f)===-1&&!m.has(f)&&m.set(f,void 0)}return o==="wait"&&m.size&&(d=[]),m.forEach((g,f)=>{if(I.indexOf(f)!==-1)return;const y=h.get(f);if(!y)return;const S=x.indexOf(f);let C=g;if(!C){const E=()=>{m.delete(f);const k=Array.from(h.keys()).filter(N=>!I.includes(N));if(k.forEach(N=>h.delete(N)),p.current=c.filter(N=>{const P=hn(N);return P===f||k.includes(P)}),!m.size){if(u.current===!1)return;l(),s&&s()}};C=w.createElement(oo,{key:hn(y),isPresent:!1,onExitComplete:E,custom:t,presenceAffectsLayout:r,mode:o},y),m.set(f,C)}d.splice(S,0,C)}),d=d.map(g=>{const f=g.key;return m.has(f)?g:w.createElement(oo,{key:hn(g),isPresent:!0,presenceAffectsLayout:r,mode:o},g)}),w.createElement(w.Fragment,null,m.size?d:d.map(g=>w.cloneElement(g)))};function h0(e,t,n){return typeof e=="string"?e=document.querySelectorAll(e):e instanceof Element&&(e=[e]),Array.from(e||[])}const g0={some:0,all:1};function f0(e,t,{root:n,margin:s,amount:i="some"}={}){const r=h0(e),o=new WeakMap,l=c=>{c.forEach(d=>{const m=o.get(d.target);if(d.isIntersecting!==!!m)if(d.isIntersecting){const p=t(d);typeof p=="function"?o.set(d.target,p):u.unobserve(d.target)}else m&&(m(d),o.delete(d.target))})},u=new IntersectionObserver(l,{root:n,rootMargin:s,threshold:typeof i=="number"?i:g0[i]});return r.forEach(c=>u.observe(c)),()=>u.disconnect()}function _u(e,{root:t,margin:n,amount:s,once:i=!1}={}){const[r,o]=w.useState(!1);return w.useEffect(()=>{if(!e.current||i&&r)return;const l=()=>(o(!0),i?void 0:()=>o(!1)),u={root:t&&t.current||void 0,margin:n,amount:s};return f0(e.current,l,u)},[t,e,n,i,s]),r}const v0=({className:e="w-10 h-10",showText:t=!1})=>a.jsxs("div",{className:`flex items-center space-x-3 ${e}`,children:[a.jsxs("svg",{width:"100%",height:"100%",viewBox:"0 0 934 816",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"w-full h-full",children:[a.jsxs("defs",{children:[a.jsxs("radialGradient",{id:"logoGradient1",cx:"0",cy:"0",r:"1",gradientTransform:"matrix(-535.127 -411.653 792.89 -872.965 696.75 463.37)",gradientUnits:"userSpaceOnUse",children:[a.jsx("stop",{offset:"0.15",stopColor:"#0080FF",stopOpacity:"0"}),a.jsx("stop",{offset:"0.497302",stopColor:"#3DC2FF",stopOpacity:"0.85"}),a.jsx("stop",{offset:"1",stopColor:"#7DDFFF"})]}),a.jsxs("radialGradient",{id:"logoGradient2",cx:"0",cy:"0",r:"1",gradientTransform:"matrix(535.127 411.653 -792.89 872.965 237.246 352.054)",gradientUnits:"userSpaceOnUse",children:[a.jsx("stop",{offset:"0.15",stopColor:"#0080FF",stopOpacity:"0"}),a.jsx("stop",{offset:"0.497302",stopColor:"#3DC2FF",stopOpacity:"0.85"}),a.jsx("stop",{offset:"1",stopColor:"#7DDFFF"})]}),a.jsxs("filter",{id:"logoGlow",children:[a.jsx("feGaussianBlur",{stdDeviation:"2",result:"coloredBlur"}),a.jsxs("feMerge",{children:[a.jsx("feMergeNode",{in:"coloredBlur"}),a.jsx("feMergeNode",{in:"SourceGraphic"})]})]})]}),a.jsx("path",{d:"M869.587 4.52141C874.226 4.19575 878.649 4.3625 882.816 4.97363C910.598 9.04931 927.019 32.9512 920.572 63.3959L813.179 570.56C827.391 503.442 823.083 441.624 803.676 389.059L801.753 384.003C788.585 350.424 769.157 320.763 744.396 296.086C740.504 292.207 736.478 288.452 732.326 284.823C747.428 257.708 758.627 228.88 764.905 199.229C769.541 177.339 771.221 156.294 770.213 136.403L271.173 171.432C261.583 192.067 254.267 213.507 249.632 235.398C243.354 265.047 242.499 293.147 246.4 318.926C252.463 358.999 270.019 393.473 296.579 419.462C333.641 455.729 388.232 475.482 453.572 470.896C518.912 466.309 583.642 438.181 637.414 395.538C663.973 421.528 681.529 456.002 687.593 496.074C610.016 553.615 518.775 591.225 426.724 597.687C334.673 604.148 256.847 578.405 201.666 530.182C197.514 526.553 193.489 522.793 189.597 518.914C164.837 494.237 145.412 464.575 132.245 430.997C111.21 377.357 106.143 313.723 120.814 244.44L147.662 117.648C154.109 87.2038 181.3 60.2406 211.672 52.0829C216.228 50.8595 220.856 50.0575 225.495 49.7319L547.541 27.1266L869.587 4.52141Z",fill:"url(#logoGradient1)",filter:"url
48(#logoGlow)"}),a.jsx("path",{d:"M64.4092 810.903C59.7697 811.229 55.3475 811.062 51.1801 810.451C23.3981 806.375 6.97748 782.474 13.4242 752.029L120.817 244.864C106.605 311.983 110.913 373.801 130.32 426.366L132.243 431.422C145.411 465.001 164.84 494.661 189.6 519.339C193.492 523.218 197.519 526.973 201.671 530.602C186.569 557.717 175.369 586.545 169.091 616.196C164.456 638.086 162.775 659.13 163.783 679.021L662.823 643.993C672.413 623.358 679.729 601.917 684.364 580.027C690.642 550.378 691.497 522.278 687.596 496.498C681.533 456.426 663.977 421.952 637.417 395.963C600.355 359.696 545.764 339.943 480.424 344.529C415.084 349.116 350.354 377.244 296.582 419.887C270.023 393.897 252.467 359.423 246.403 319.351C323.98 261.809 415.221 224.199 507.272 217.738C599.323 211.277 677.149 237.02 732.33 285.243C736.482 288.872 740.507 292.631 744.399 296.51C769.159 321.188 788.584 350.85 801.751 384.428C822.786 438.067 827.853 501.702 813.183 570.985L786.334 697.776C779.888 728.221 752.696 755.184 722.324 763.342C717.768 764.565 713.141 765.367 708.501 765.693L386.455 788.298L64.4092 810.903Z",fill:"url(#logoGradient2)",filter:"url(#logoGlow)"})]}),t&&a.jsx("span",{className:"text-xl font-bold text-white neon-text",children:"Socle AI"})]}),b0={header:{studio:"Studio",apiPlatform:"API Platform",now:"Now",contact:"Contact",experienceNow:"Experience now"},hero:{buildWith:"Build with",effortless:"Effortless",powerful:"Powerful",sovereign:"Sovereign",description:"The AI harness between your models and your products: context, RAG, tools, memory and agent orchestration, all the way to production.",createNow:"Create Now",requestDemo:"Request a demo",phrases:["Socle AI is purpose-built for ai builders","I want a transcription editor for my tool","I want a chatbot with RAG to search on my documents"]},harness:{label:"WHAT IS AN AI HARNESS?",title:"Models are only one layer. Socle handles the rest.",description:"A model can generate an answer. A harness turns that model into a usable AI system: it manages the context, the tools, the memory, the permissions, the workflows and the agents around the model.",stack:{application:{label:"Your application",sub:"Web app, business tool, product"},harness:{label:"SOCLE AI",sub:"Sovereign AI Harness"},models:{label:"Models",sub:"Mistral · Qwen · Llama · Whisper · your own"},infrastructure:{label:"Infrastructure",sub:"European cloud or your own servers"}},capabilities:["Context","RAG","Memory","Tools","MCP","Agent routing","Multi-agent","A2A","Human-in-the-loop","Observability"],comparison:{withoutLabel:"WITHOUT A HARNESS",withoutSteps:["User","Model","Answer"],withLabel:"WITH SOCLE",withSteps:["User","Your product","Socle harness","Models · tools · data","Answer or action"]},detailsLabel:"WHAT THE HARNESS HANDLES",details:[{title:"MCP",body:"Connect your agents to external tools and data sources through an open standard."},{title:"A2A",body:"Let specialised agents collaborate and delegate tasks across your AI ecosystem."},{title:"Observability",body:"Track model calls, tool usage, document retrieval and agent interactions at every step of your workflows."},{title:"Human-in-the-loop",body:"Add a validation step whenever an AI action requires human control."}],sovereigntyNote:"Socle provides this layer while keeping your data and your infrastructure under European jurisdiction."},modelAgnostic:{punchline:"Models change. Your AI architecture shouldn't.",label:"MODEL INDEPENDENCE",title:"Model-agnostic by design",description:"Use the right model for the right task without coupling your product to a single provider. Change the model, keep your agents, your data and your product.",categories:[{label:"Text models",sub:"Generation, summarisation, extraction"},{label:"Vision models",sub:"Documents, images, multimodal"},{label:"Speech models",sub:"Transcription, voice interfaces"},{label:"Reasoning models",sub:"Analysis, planning, complex tasks"}]},finalCta:{label:"GET STARTED",title:"Build your AI on a sovereign harness.",description:"Keep control of your models, your tools, your data and your agent workflows with Socle.",primary:"Start building",secondary:"Talk to us"},socleIntro:{badge:"SaaS ⢠On-Premise",title:"A Sovereign AI Harness for production-ready agents",description:"Socle AI is the softw
48are layer between your models and your products. Create and interact with agents, agent ecosystems and AI workflows, whatever the model, with full transparency, whether on your own servers or through our European cloud providers.",concepts:[{label:"Agents",sub:"LLM, ASR, ML..."},{label:"Agent Ecosystems",sub:"Orchestrated multi-agents"},{label:"AI Workflows",sub:"Structured pipelines"}],mixNote:"These building blocks are fully composable, a workflow can call an agent ecosystem, which itself orchestrates specialized agents."},quickStart:{title:"Quick Start",badge:"OpenAI SDK Compatible",subtitle:"Socle exposes an API compatible with the OpenAI SDK. Just change the <code>base_url</code>, your existing code works as-is, with no affiliation with OpenAI."},openaiEcosystem:{badge:"Compatible with the Open-Source Ecosystem",title:"Plug into the entire ecosystem",description:"Socle implements the same protocol as OpenAI. That means hundreds of open-source tools, frameworks, and integrations built for OpenAI work with Socle out of the box, no modifications needed. Swap the endpoint, keep your stack.",toolsLabel:"Works with",tools:[{name:"LangChain",category:"Framework"},{name:"LlamaIndex",category:"RAG"},{name:"CrewAI",category:"Multi-Agent"},{name:"Open-WebUI",category:"Interface"},{name:"Continue.dev",category:"IDE"},{name:"Dify",category:"LLMOps"},{name:"n8n",category:"Automation"},{name:"Flowise",category:"No-Code AI"},{name:"AnythingLLM",category:"RAG"},{name:"LibreChat",category:"Interface"},{name:"AutoGPT",category:"Agent"},{name:"Haystack",category:"Framework"}],andMore:"+ hundreds more",tip:"Use the n8n OpenAI node to talk to Socle, it couldn't be simpler."},effortless:{subtitle:"Effortless",title1:"Made for modern",title2:"product teams",description:"Socle AI is shaped by the practices and principles that distinguish world-class product teams from the rest: relentless focus, fast execution, and a commitment to the quality of craft.",makeTheSwitch:"Make the switch",features:{openaiCompatible:{title:"OpenAI Compatible",description:"Seamlessly integrate with OpenAI's API and models. Built to work with the tools you already know and love.",modalContent:["Socle AI is fully compatible with OpenAI's API, allowing you to leverage the power of GPT models, embeddings, and other OpenAI services seamlessly within our platform.","Whether you're building chatbots, content generators, or complex AI workflows, our OpenAI compatibility ensures you can use the same models and endpoints you're already familiar with.","This compatibility extends to authentication, rate limiting, and response formats, making migration from direct OpenAI usage to Socle AI effortless."]},designedToMoveFast:{title:"Time to Market",description:"Reduce the gap between intuition and production with a natively fast infrastructure.",modalContent:["In an AI ecosystem that mutates every week, slowness is your greatest financial and strategic risk. Our infrastructure, engineered for pure performance (50ms response time), is not just a technical achievement, it's a frictionless execution engine.","By choosing Socle AI, you eliminate the hidden costs of integrating disparate and unstable technology components. We take on the complexity of continuously monitoring and updating the technical stack. While the market shifts its standard every three months, your solution stays state-of-the-art without mobilizing your internal resources for corrective maintenance.","With our dynamic interfaces and optimized architecture, you go from Proof of Concept (PoC) to final product in record time. You're not just buying speed, you're buying the guarantee that your technology will never be a brake on your growth."]},dynamicInterfaces:{title:"Expertise & Support",description:"Turn technical complexity into strategic advantage, backed by 7 years of hands-on AI deployment experience.",levers:["Operational Excellence","Product Innovation"],yearsLabel:"YRS",modalContent:["AI is not just about code, it is a systemic transformation that impacts both your processes and your value proposition. With 7 years of experience deploying artificial intelligence solutions, we have built a dual methodology capable of addressing your two main growth levers.","AI for Operational Excellence: We orchestrate AI integration at the heart of your business. From integration strategy to change management, we support your teams to break down resistance and turn new working methods into concrete productivity gains.","AI for Product Innovation: We act as an extension of your Product Management. We help you identify high-value AI opportunities for your own customers, designing intelligent features that redefine your competitive advantage and open new markets.","Our role is to bring the seniority you need to navigate the grey zones, ethics, security, reliability, and ensure that AI becomes a lasting strategic asset, mastered by your teams and embraced by your users."]}}},powerful:{subtitle:"Powerful",title1:"Agentic AI for",title2:"production",description:"Empower your applications with cutting-edge AI capabilities. From language models to speech recognition, everything you need for production-ready AI systems.",features:{llmAsr:{title:"LLM & ASR",description:"Access state-of-the-art language models and automatic speech recognition. From text generation to voice transcription, build with the best AI capabilities available."},rag:{title:"RAG",description:"Retrieval-Augmented Generation combines the power of search with AI generation. Connect your knowledge base and get accurate, contextual responses every time."},a2aEcosystem:{title:"A2A Ecosystem",description:"Build powerful multi-agent systems where AI agents communicate, collaborate, and coordinate to solve complex tasks. Create ecosystems of intelligent agents working together.",a2aDocumentation:"A2A documentation"},socleFastmcp:{title:"Socle & FastMCP",description:"Lightning-fast communication protocol designed for AI systems. FastMCP enables efficie
48nt, low-latency interactions between AI components and services."}}},sovereign:{subtitle:"Sovereign",title1:"Your data,",title2:"your rules",description:"Take full control of your AI infrastructure. No compromises on security, privacy, or compliance. Deploy where you want, how you want.",noCloudAct:{title:"No Cloud Act",description:"Data only on European cloud providers"},noConflict:{title:"No conflict of interest - by design",description:"We don't train models, we have no interest in your data"},sustainability:{title:"Combine sovereignty & sustainability",description:"Our servers in France benefit from a decarbonized energy mix. Combining performance and environmental responsibility."},links:{discord:"Discord",discordSub:"Join the community",documentation:"Documentation",documentationSub:"Learn the ropes",x:"X",xSub:"Follow us",linkedin:"LinkedIn",linkedinSub:"Connect with us"}},workflowSection:{title:"Build your AI workflows in one sentence.",subtitle:"Describe your project and let Socle AI prepare your agents and workflow.",inputLabel:"// DESCRIBE YOUR PROJECT",generating:"Generating workflow...",ready:"Workflow ready"},sectors:{nav:"Sectors",legal:{slug:"secteur-juridique",tagline:"One Socle, multiple use cases",badge:"SECTOR, LEGAL",title:"AI built for the legal profession",subtitle:"Sovereign tools designed for legal professionals",intro:"In the legal field, every exchange has evidentiary value. The data processed is confidential by nature, often sensitive, always strategic. Socle enables legal teams to leverage AI without ever compromising professional secrecy or exposing data to foreign legislation.",challenges:{title:"Sector challenges",items:[{title:"Document overload",body:"Contracts, proceedings, case law: legal teams manage growing volumes of documents to analyse, summarise and qualify."},{title:"Absolute confidentiality",body:"Professional secrecy prohibits any data leakage. Using US-hosted LLMs exposes firms to the American Cloud Act."},{title:"Interview transcription",body:"In internal investigations, control interviews or hearings, manual transcription is slow, costly and error-prone."}]},usecases:{title:"What Socle enables",items:[{title:"Sovereign transcription editor",body:"Automatically transcribe your audio recordings with an ASR model hosted in France. Edit, correct and export, without a single byte leaving your legal perimeter."},{title:"RAG on your document base",body:"Query your contracts, court decisions and internal notes in natural language. The retrieval-augmented engine finds relevant passages and generates argued summaries."},{title:"Contract analysis agent",body:"Deploy an AI agent that detects risky clauses, compares contract versions and flags anomalies, all within your infrastructure."}]},advantages:{title:"Why Socle for the legal sector",items:[{label:"No Cloud Act",desc:"Exclusive hosting on Scaleway (France). Your data is subject only to European law."},{label:"No training on your data",desc:"Socle has no commercial interest in exploiting your data. It is never used to improve third-party models."},{label:"On-premise deployment possible",desc:"For maximum security requirements, Socle can be installed in your own infrastructure."}]},cta:"Discuss your legal project",customerStory:{quote:"In the context of internal control interviews or investigations, recorded exchanges have significant legal value. Socle lets us transcribe and annotate these exchanges in complete confidentiality.",role:"Compliance officer, law firm"}},risk:{slug:"secteur-risk",tagline:"One Socle, multiple use cases",badge:"SECTOR, RISK & COMPLIANCE",title:"AI covers your entire compliance chain",subtitle:"KYC, AML, market surveillance, regulatory reporting, without exposing your financial data",intro:"Regulators themselves have taken the leap, using AI to supervise markets, detect fraud and automate their reporting obligations. The question is no longer whether AI should enter your Risk & Compliance processes, but how to do it without depending on extra-European clouds subject to the US Cloud Act.",challenges:{title:"Sector challenges",items:[{title:"An entire compliance chain to cover",body:"KYC, AML/Sanctions, market surveillance, Regulatory Watch, RCSA, MiFID/SFDR reporting, every link in the chain generates data volumes that teams can no longer process manually."},{title:"Data governance and sovereignty",body:"Financial data cannot transit through infrastru
48cture subject to the Cloud Act. Dependence on US-hosted LLMs exposes institutions to major regulatory and legal risks."},{title:"Human-in-the-loop as a requirement",body:"Regulators demand human supervision of AI models and full traceability of every AI-assisted decision. Auditability is not optional."}]},usecases:{title:"What Socle enables",items:[{title:"KYC & AML: automated weak-signal detection",body:"An AI agent continuously analyses customer data, cross-references sanctions lists, detects suspicious behaviour and generates SAR reports, all hosted in France, with no data leakage."},{title:"Market surveillance and fraud detection",body:"Deploy clustering and anomaly-detection algorithms to identify suspicious market behaviour and reduce false positives for your analysis teams."},{title:"SFDR / MiFID / DORA reporting automation",body:"An agent collects, structures and formats data for your regulatory obligations. SFDR annexes, transaction declarations and internal reports are generated automatically, with full source traceability."},{title:"Transcription and analysis of internal investigations",body:"Automatically transcribe audio recordings from control interviews or internal investigations. The agent extracts relevant information, flags risk elements and structures conclusions, without ever leaving your secure perimeter."}]},advantages:{title:"Why Socle for Risk & Compliance",items:[{label:"Guaranteed data sovereignty",desc:"Exclusive hosting on Scaleway (France). Your financial data is subject only to European law, no exposure to the US Cloud Act."},{label:"Full auditability, human-in-the-loop",desc:"Every AI call is logged. Your compliance teams and regulators can audit every assisted decision: who, when, with what data, and with what result."},{label:"No training on your data",desc:"Socle has no commercial interest in your data. It is never used to improve third-party models, in line with GDPR and regulatory requirements."}]},cta:"Discuss your Risk & Compliance project",customerStory:null},public:{slug:"secteur-public",tagline:"One Socle, multiple use cases",badge:"SECTOR, PUBLIC",title:"Sovereign AI for the public sector",subtitle:"Compliant solutions for government bodies, local authorities and public operators",intro:"Government bodies and local authorities manage some of the most sensitive data that exists: citizens' personal data, confidential documents, internal procedures. Socle AI provides a response tailored to the state's digital sovereignty requirements, with hosting exclusively on French soil and native compliance with public regulatory frameworks.",challenges:{title:"Sector challenges",items:[{title:"Mandatory digital sovereignty",body:"Citizens' and public data cannot be hosted or processed by actors subject to non-European law. Dependence on US clouds is a regulatory and geopolitical risk."},{title:"Growing document volumes",body:"Incoming mail, regulatory files, meeting minutes, public procurement: public-sector teams are overwhelmed by document volumes that traditional tools can no longer handle effectively."},{title:"Traceability and auditability requirements",body:"Every AI-assisted decision in the public sector must be explainable, traceable and auditable. GDPR, DORA and algorithmic transparency obligations apply without exception."}]},usecases:{title:"What Socle enables",items:[{title:"Intelligent incoming mail processing",body:"An AI agent automatically classifies, prioritises and pre-instructs incoming mail and citizen requests. Public servants focus on complex, high-value cases."},{title:"RAG on legislative and regulatory texts",body:"Query your administration's document base in natural language: legislation, circulars, deliberations, public procurement. The agent retrieves relevant references and generates argued summaries."},{title:"Sovereign transcription of meetings and hearings",body:"Automatically transcribe your meetings, committees and hearings with an ASR model hosted in France. Minutes are generated instantly, with no data leaving your perimeter."},{title:"Administrative document analysis and drafting",body:"Socle assists writers in producing deliberations, orders and reports. The agent suggests formulations consistent with administrative standards and detects legal inconsistencies."}]},advantages:{title:"Why Socle for the public sector",items:[{label:"Hosted on your soil",desc:"Scaleway by default, but Socle can be deployed on Outscale, OVH, or any other sovereign host, in your country, or on-premise within your own infrastru
48cture."},{label:"Full auditability and traceability",desc:"Every AI interaction is logged and auditable. Native compliance with algorithmic transparency obligations and GDPR."},{label:"On-premise deployment possible",desc:"For critical infrastructure operators (OIV) or agencies with maximum requirements, Socle can be deployed entirely within your own infrastructure."}]},cta:"Discuss your public-sector project",customerStory:null},other:{slug:"autre-secteur",tagline:"One Socle, multiple use cases",badge:"SECTOR, YOUR INDUSTRY",title:"Socle adapts to your sector",subtitle:"Whatever your industry, data sovereignty should never be an obstacle to AI adoption",intro:"Healthcare, manufacturing, energy, insurance, media, HR, AI use cases are universal, but confidentiality constraints vary from sector to sector. Socle AI is designed to adapt to any business context: configurable models, integration with your existing tools, sovereign hosting in France.",challenges:{title:"Challenges common to every sector",items:[{title:"Data confidentiality",body:"Patient data, trade secrets, strategic information: every sector has its own protection requirements. Socle guarantees your data never leaves your perimeter."},{title:"Adoption without dependency",body:"Adopting AI should not create dependency on a US vendor. Socle relies on sovereign open-source models and infrastructure you control."},{title:"Measurable ROI",body:"Automating repetitive tasks, transcription, document analysis, summarisation, reporting, frees up high-value time in any organisation."}]},usecases:{title:"Universal use cases, specific constraints",items:[{title:"Document analysis and summarisation",body:"Whatever your sector, Socle can analyse, classify and summarise your internal documents: reports, contracts, notes, emails, meeting minutes."},{title:"Custom AI agents",body:"Deploy AI agents configured for your specific business processes, validation, escalation, information extraction, report generation."},{title:"Audio transcription and analysis",body:"Meetings, interviews, customer calls, training sessions: sovereign automatic transcription applies to every context."},{title:"RAG on your knowledge base",body:"Connect Socle to your internal documentation to let your teams query their knowledge base in natural language."}]},advantages:{title:"Why Socle, whatever your sector",items:[{label:"Guaranteed sovereignty",desc:"Hosted in France, on Scaleway. Your data remains under European law, whatever your industry."},{label:"Open-source models",desc:"No dependency on OpenAI or Google. Socle relies on the best open-source models, configurable to your needs."},{label:"Integration with your IT",desc:"REST API, native connectors, on-premise deployment possible. Socle integrates into your existing architecture without disruption."}]},cta:"Tell us about your sector",customerStory:null}},stats:{label:"SOCLE BY THE NUMBERS",items:[{value:"7",unit:"yrs",label:"AI Expertise",sub:"In production"},{value:"96%",unit:"",label:"Decarbonized Energy",sub:"Low-carbon datacenter"},{value:"100%",unit:"",label:"Data in France",sub:"Sovereign hosting"},{value:"12+",unit:"",label:"Compatible Models",sub:"LLM, ASR, Embedding"},{value:"0",unit:"",label:"Data Shared",sub:"No third-party training"}]},press:{badge:"THEY TALK ABOUT US",title:"Recognized by the ecosystem",testimonialLabel:"CLIENT TESTIMONIAL",testimonialQuote:"In the context of internal control interviews or investigations, recorded exchanges carry significant legal weight. Socle allows us to transcribe and annotate these exchanges in full confidentiality.",testimonialRole:"Compliance Officer, law firm",items:[{source:"Hub France IA",headline:"Socle AI now featured in the French AI reference mapping",date:"February 2026",tag:"Recognition"},{source:"NVIDIA Inception",headline:"NVIDIA selects Socle AI for its global acceleration program",date:"March 2026",tag:"Partnership"},{source:"AI Pulse â Scaleway",headline:"Sovereign agentic AI: Socle AI's European bet",date:"October 2025",tag:"Event"}]},footer:{tagline:"Don't compromise between sovereignty and performance",product:"Product",company:"Company",connect:"Connect",resource:"Resource",links:{studio:"Studio",platform:"Platform",documentation:"Documentation",usecase:"Usecase",usecases:"Usecases",contactUs:"Contact us",community:"Community",x:"X",youtube:"Youtube",linkedin:"Linkedin",terms:"Terms",privacy:"Privacy",about:"About us"},copyright:"© {year} Socle AI. All rights reserved."},about:{badge:"FOUNDING TEAM",title:"About us",subtitle:"The people behind Socle AI",team
48:[{name:"Benjamin De Almeida",role:"CEO & Co-Founder",photo:"/images/benjamin-de-almeida.png",quote:"We don't have to compromise efficiency for sovereignty",sections:[{title:"A background rooted in explainable AI and product culture",body:"Benjamin De Almeida built his expertise at the intersection of software engineering and product strategy. A graduate of Epitech, he spent nearly seven years at Golem.ai, where he served as Chief Product Officer. During those years, he specialized in symbolic AI, an approach that prioritizes understanding algorithmic decisions over the opacity of classic statistical models. This path gave him a concrete grasp of what organizations truly need: reliable, auditable tools that integrate directly into demanding business processes."},{title:"Sovereignty as a performance lever",body:"In July 2025, he founded Socle AI with the ambition of accompanying a paradigm shift in Europe's artificial intelligence strategy. For Benjamin, digital sovereignty should not be experienced as a constraint or a retreat, but as a guarantee of competitiveness. He argues that there is no trade-off to be made between technological independence and operational efficiency."},{title:"Expertise in the service of trust and sustainability",body:'For Benjamin De Almeida, the challenge is to turn compliance and ethics into tangible competitive advantages. His approach is built on creating technological foundations, a "socle", that give companies full control over their data without sacrificing processing power. Through his work, he shares a pragmatic vision in which sovereign innovation becomes the engine of a sustainable digital economy, capable of competing with global standards while remaining true to European values of transparency and security.'}],tags:["Epitech","Golem.ai â CPO","Symbolic AI","Product Strategy","Digital Sovereignty"]}]},privacy:{badge:"SECURITY & PRIVACY",title:"Data Privacy & Security",subtitle:"Your infrastructure, your data, your sovereignty.",intro:"At Socle AI, privacy is not an option, it's an architecture. From server hosting to AI models, every layer of our stack is designed to ensure your data stays under European law, shielded from extraterritorial legislation.",sections:[{id:"hosting",label:"SOVEREIGN HOSTING",title:"Exclusively hosted in Europe with Scaleway",body:"The entire Socle AI infrastructure, application servers, databases, and AI models, is hosted at Scaleway, a 100% independent European cloud provider, CISPE member and Gaia-X initiative partner.",highlight:"Your data never leaves European territory. Scaleway is not subject to any extraterritorial law such as the US Cloud Act or China's PIPL, only to European Union law.",certs:["ISO/IEC 27001:2022","HDS","GDPR","SWIPO","Tier 3 Uptime Institute"]},{id:"gdpr",label:"REGULATORY COMPLIANCE",title:"GDPR & European law only",body:"Socle AI is fully subject to the General Data Protection Regulation (GDPR). We sign a Data Processing Agreement (DPA) compliant with Article 28 of the GDPR with each client.",highlight:"Unlike American hyperscalers (AWS, Azure, GCP), our infrastructure is not exposed to the CLOUD Act. No foreign authority can demand access to your data without a ruling from a European court.",items:["Data processed and stored in France and the EU","Exclusively European sub-processors","Right of access, rectification, and erasure guaranteed","72-hour breach notification in compliance with GDPR"]},{id:"models",label:"AI MODELS",title:"All models hosted on Scaleway",body:"The AI models you use via Socle AI, LLM inference, ASR transcription, embeddings, are fully deployed on Scaleway's infrastructure in Europe. No calls are made to external third-party APIs without your explicit consent.",highlight:"You benefit from the power of state-of-the-art models (open-source and proprietary) without relying on OpenAI, Anthropic, or Google, and therefore without exposing your prompts and data to their training policies.",items:["LLMs hosted on Scaleway H100 GPU clusters","Sovereign inference: your queries never serve to train third-party models","OpenAI API compatibility maintained without OpenAI dependency","Performance SLA guaranteed with latency < 50ms"]},{id:"green",label:"LOW-CARBON INFRASTRUCTURE",title:"Among the most sustainable datacenters in Europe",body:"Scaleway powers all its datacenters with 100% renewable energy (wind and hydro, with Guarantees of Origin). Their PAR-DC5 datacenter, where our GPU clusters are hosted, achieves a PUE of 1.25, among the best in the industry.",highlight:"By choosing Socle AI, you also reduce the carbon footprint of your AI usage. Scaleway received the EcoVadis Gold Medal 2024, placing the company in the top 5% of the most sustainable players in its sector.",stats:[{value:"1.25",label:"AI datacenter PUE",sub:"vs 1.55 industry average"},{value:"100%",label:"Renewable energy",sub:"Certified Guarantees of Origin"}
48,{value:"0.00002",label:"DC4 Paris WUE",sub:"Zero potable water wasted"},{value:"15,000",label:"Refurbished servers",sub:"Transformers program 2024"}]},{id:"onpremise",label:"MAXIMUM AUTONOMY",title:"On-Premise & Private Cloud Deployment",body:"For organizations with maximum sovereignty requirements, defense, healthcare, finance, or critical industry, Socle AI can be fully deployed in your own environment: on-premise on your servers, or in your dedicated private cloud.",highlight:"On-premise Socle AI guarantees complete autonomy: no external network dependency, no data leaves your perimeter, and you retain full control over updates and model governance.",items:["Installation on physical servers or existing virtualized infrastructure","Support for air-gapped environments (disconnected from the Internet)","AI models packaged and distributable in offline mode","Support from our teams for integration into your information system"],cta:{label:"Discuss an on-premise deployment",href:"#contact"}}]},cgu:{title:"Terms of Use",subtitle:"Socle AI",lastUpdated:"July 6, 2026",intro:'These Terms of Use (hereinafter the "Terms") define the conditions of access to and use of the platform and Services published by SOCLE AI (hereinafter the "Provider"). They constitute a legally binding agreement between the Provider and any person accessing the Services. We invite you to read them carefully.',sections:[{title:"1. Legal Information",content:["Publisher: The platform and the Services are published by SOCLE AI, a simplified joint-stock company (SAS), registered with the Paris Trade and Companies Register under SIREN number 987 961 810 (head office SIRET 987 961 810 00015), with its registered office located at 60 rue François Ier, 75008 Paris (France).","Intra-community VAT number: FR02 987 961 810. APE/NAF code: 62.01Z (computer programming).","Publication Director: Benjamin De Almeida, in his capacity as President.","Contact: [email protected].","Host: The Services are hosted by Scaleway SAS, registered with the Paris Trade and Companies Register under number 433 115 904, with its registered office located at 8 rue de la Ville l'Ãvêque, 75008 Paris (France)."]},{title:"2. Definitions",content:["In these Terms, the following capitalized terms have the following meaning:",'â "Terms": these Terms of Use.','â "Provider" or "Socle AI": the company SOCLE AI, publisher of the platform.','â "Client": any natural or legal person who has subscribed to the Services.','â "User": any person accessing the platform under the responsibility of the Client.','â "Services": all the features made available by Socle AI, in particular the artificial intelligence model orchestration tools and associated interfaces.','â "Inputs": the data, content, and instructions provided by the Client or the User to the Services.','â "Outputs": the content generated by the Services in response to the Inputs.']},{title:"3. Purpose and Scope",content:["The purpose of these Terms is to define the conditions under which the Provider makes the Services available, as well as the terms of use of the platform by the Client and Users.","Socle AI provides an infrastructure dedicated to artificial intelligence comprising language model (LLM) orchestration tools, testing interfaces, and associated services.","Advisory, consulting, or custom development services are subject to separate contracts and are not governed by these Terms."]},{title:"4. Acceptance of the Terms",content:["Access to and use of the Services require full and unreserved acceptance of these Terms. By creating an account or using the platform, the Client and the User acknowledge that they have read and accept them.","Failing acceptance, the User must refrain from accessing the Services."]},{title:"5. Access to the Services and Account",content:["Access to the Services requires the creation of an account. The Client warrants the accuracy of the information provided upon registration and undertakes to keep it up to date.","Login credentials are personal and confidential. The Client is responsible for their safekeeping and for any activity carried out from their account.","The Client shall inform the Provider without delay of any unauthorized use of their account or any security breach of which they become aware."]},{title:"6. Prohibited Uses",content:["The User agrees not to use the Services for:","â The creation or distribution of hateful, discriminatory, harassing, or violent content;","â Any attempt to manipulate public opinion or engage in organized disinformation;","â The development of mass surveillance tools or violations of privacy;","â Bypassing the security mechanisms of artificial intelligence models (jailbreaking);","â Any unlawful activity or activity contrary to applicable laws and regulations.","Failure to comply with these commitments may result in the immediate suspension or termination of access to the Services, without prejudice to any other remedy."]},{title:"7. Ethical Commitment and Ethics Committee",content:["Socle AI has an independent internal Ethics Committee responsible for ensuring the compliance of projects with standards of security, fairness, and information integrity.","The Provider reserves the right to suspend or terminate access to the Services if the use of the platform is deemed by this Committee to be contrary to the public interest, fundamental rights, or its internal ethical charter. Where possible, prior notice is given to the Client."]},{title:"8. Evolution and Availability of the Platform",content:["The Provider ensures the evolution and updating of the platform. It may modify, replace, or upgrade the models and technical components at any time in order to guarantee the performance, security, and compliance of the Services.","The Provider implements reasonable means to ensure the availability of the Services. Temporary interruptions may nevertheless occur, in particular for maintenance operations, without giving rise to any compensation.","Models added by the Client: The Client may integrate and use their own artificial intelligence models within the platform. In such cases, the Client is solely responsible for the choice of these models, their lawfulness, their security, and their compliance with applicable regulations. The sovereignty guarantees offered by Socle AI apply only to the models provided by the Provider: if the models added by the Client are not sovereign (in particular with regard to hosting, data location, or applicable law), the Client alone assumes the responsibility and consequences thereof."]},{title:"9. Client Data, Inputs, and Outputs",content:["Ownership: The Client remains the sole owner of their Inputs. The Provider undertakes not to use this data to train models accessible to third parties without the Client's express consent.","Outputs: The Client is responsible for the use they make of the Outputs. It is their responsibility to verify the accuracy, relevance, and legal compliance of the Outputs before any use.","The Client warrants that they hold the necessary rights over the Inputs they transmit to the Services."]},{title:"10. Personal Data",content:["In the context of providing the Services, Socle AI processes personal data in compliance with Regulation (EU) 2016/679 (GDPR) and French Act No. 78-17 of 6 January 1978 as amended (Data Protection Act).","Where the Provider processes personal data on behalf of the Client, it acts as a processor within the meaning of Article 28 of the GDPR, under the conditions defined in a data processing agreement (DPA).","Data subjects have rights of access, rectification, erasure, and objection, which they may exercise at [email protected]. The processing terms are detailed in the Privacy Policy."]},{title:"11. Confidentiality and Security",content:["The Provider implements appropriate technical and organizational measures to protect data and infrastru
48cture against any unauthorized access, loss, or alteration.","The Provider undertakes to notify the Client, as soon as possible, of any data breach likely to affect their data, in accordance with applicable regulations."]},{title:"12. Intellectual Property",content:["All elements making up the platform (architecture, source code, algorithms, trademarks, interfaces, and documentation) remain the exclusive property of the Provider.","Access to the Services grants the Client a personal, non-exclusive, and non-transferable right of use, limited to the duration of their subscription and to the purposes provided for in these Terms. No other license or transfer of rights is granted."]},{title:"13. Liability and Warranties",content:["The Provider is bound by a best-efforts obligation. It cannot guarantee that the Services will be free from interruption or error, nor that the Outputs will be suitable for a particular use.","The Provider cannot be held liable for indirect damages, in particular loss of data, revenue, profits, or business, resulting from the use or the inability to use the Services.","In any event, the Provider's liability, for all damages combined, is limited to the amounts actually paid by the Client over the twelve (12) months preceding the event giving rise to the damage."]},{title:"14. Force Majeure",content:["The Provider cannot be held liable in the event of non-performance resulting from a case of force majeure within the meaning of Article 1218 of the French Civil Code and the case law of the French courts."]},{title:"15. Duration, Suspension, and Termination",content:["These Terms apply throughout the entire period of use of the Services.","The Provider may suspend or terminate access to the Services in the event of the Client's breach of its obligations, in particular in the event of prohibited use or non-payment, after formal notice has remained without effect where the nature of the breach so permits.","Upon termination of the relationship, the Client may request the return or deletion of their Inputs under the conditions provided for in the applicable contract and applicable regulations."]},{title:"16. Amendment of the Terms",content:["The Provider reserves the right to modify these Terms to reflect technical, legal, or regulatory developments. The Client is informed of any substantial modification. Continued use of the Services after they come into effect constitutes acceptance of the amended Terms."]},{title:"17. Complaints and Contact",content:["Any complaint relating to the Services may be sent to the Provider at [email protected]. The parties shall endeavor to resolve any dispute amicably before any legal action."]},{title:"18. Miscellaneous Provisions",content:["Severability: If any provision of these Terms is declared null or unenforceable, the other provisions shall retain their full effect.","Entire Agreement: These Terms, supplemented where applicable by the contracts and policies to which they refer, express the entire agreement between the parties regarding the use of the Services.","Assignment: The Client may not assign or transfer their rights and obligations hereunder without the prior written consent of the Provider."]},{title:"19. Applicable Law and Jurisdiction",content:["These Terms are governed by French law. Failing an amicable resolution, any dispute relating to their validity, interpretation, or execution shall be subject to the exclusive jurisdiction of the courts within the jurisdiction of the Provider's registered office, subject to mandatory legal provisions."]}]},nowPage:{title:"Now",subtitle:"Latest updates and changelog from Socle AI",categories:{all:"All",usecases:"Usecases",product:"Product",news:"News",battlecards:"Comparisons",articles:"Articles"},noUpdates:"No updates found in this category.",customerStory:"Customer Story",customerStorySubtitle:"Discover how our customers are building with Socle AI",readMore:"Read more",comingSoon:"Coming soon",comingSoonDescription:"More customer stories coming soon. Contact us if you want to share your experience.",updates:{cvExtraction:{title:"10-minute usecase: Extract information from CVs with SocleAI",description:"How to automate CV information extraction in just a few minutes? It's possible with Socle AI!"},nvidiaInception:{title:"Socle AI joins the NVIDIA Inception Program ð",description:"Accelerating AI with the best. Since launching Socle AI, our mission has been clear: enabling our users to combine autonomy and performance. Today, we take a decisive step by joining the NVIDIA Inception Program! Connecting directly with NVIDIA engineers and accessing their resources to explore new opportunities to improve our services. The best is yet to come, stay tuned!"},hubFranceIA:{title:"Socle AI listed in the French AI Cartography ð¡ï¸",description:"We are proud to announce that Socle AI is now featured in the reference cartography of Hub France IA! This recognition highlights our daily commitment: proving that high-performing AI can, and must, be sovereign. Three inseparable pillars: S
48overeignty, full control of your data, Performance, streamlined integration and technical excellence, Experience, smooth tools and tailored support."},epitechSummit:{title:"We are at Epitech Summit!",description:"It was a pleasure to present Socle AI to the epitech summit"},dynamicAgentInterface:{title:"Dynamic Agent Interface",description:"You testing agent interface change dynamically if you choose LLM or ASR."},distantMcp:{title:"Distant MCP now Live",description:"With FastMcp you can now connect your agent with your tools easily"},asrAgent:{title:"Your agent call an ASR when he can't analyse audio",description:"Like the image analysis now your agent can call an ASR agent when you send him an audio"},aiPulse:{title:"We are in Ai Pulse",description:"Organised by Scaleway, Benjamin De Almeida our CEO talked about agentic ai"}},customerStories:{legal:{title:"Using a transcription editor in the legal domain",description:"In the context of internal control interviews or investigations, recorded exchanges have important legal value."}}},contactPage:{title:"How can we help?",subtitle:"You need help for your project? Get in touch with our team. We have a long experience to make AI project valuable in production.",sales:{title:"I have an AI project",description:"Our team will help you find the best solution for your needs.",cta:"Talk to sales"},support:{title:"Help & support",description:"Access documentation, Discord community, and FAQ.",docsCta:"Documentation",discordCta:"Discord community"},community:{title:"Join the community",description:"Join our Discord server to discuss with the community and the team.",cta:"Join Discord"},social:{title:"Follow us",x:"Follow on X",linkedin:"Follow on LinkedIn"}},meta:{homeTitle:"Socle AI, the Sovereign AI Harness for production-ready agents",homeDescription:"The sovereign AI harness between your models and your products: context, RAG, tools, MCP, A2A, agent orchestration and observability. Hosted in France."},battleCard:{backToNews:"â ALL NEWS",hudLabel:"COMPARISON",updatedPrefix:"UPDATED",metaTitleSuffix:"Comparison",notFound:"404 // COMPARISON NOT FOUND",notFoundCta:"â Back to news",alternativeLabel:"THE ALTERNATIVE",complementaryLabel:"THE COMPLEMENTARY PLAYER",ourApproach:"OUR APPROACH",goodToKnow:"GOOD TO KNOW",tableLabel:"AT A GLANCE",tableTitle:"The line-by-line comparison",criterion:"CRITERION",stackLabel:"TECHNICAL STACK",stackTitle:"What you have to assemble, on each side",scopeLabel:"THEIR SCOPE",limitsLabel:"THEIR LIMITS",limitsTitlePrefix:"The limits of",complementarityLabel:"COMPLEMENTARITY",strengthsLabel:"OUR STRENGTHS",strengthsTitle:"What Socle AI adds on top",questionsLabel:"WORTH CHALLENGING",questionsTitle:"Key questions you should be asking!",faqLabel:"FAQ",faqTitle:"The questions we get most often",objection:"OBJECTION",ourAnswer:"OUR ANSWER",ctaTitle:"Want to compare on your own use case?",ctaBody:"Try the platform, or talk it through with someone who has already deployed this kind of project.",ctaTry:"Try Socle AI â",ctaExpert:"Talk to an expert"},article:{backToNews:"â ALL NEWS",label:"ARTICLE",minutes:"MIN",notFound:"404 // ARTICLE NOT FOUND",notFoundCta:"â Back to news",chapter:"CHAPTER",lightboxClose:"Click or press Esc to close",dialogYou:"YOU",dialogAi:"THE STUDENT",ctaTitle:"Want to talk about it?",ctaBody:"Your feedback is welcome, and if you want to see what sovereign AI looks like in practice, the platform is open.",ctaTry:"Try Socle AI â",ctaWrite:"Write to us",writtenBy:"WRITTEN BY"}},x0={header:{studio:"Studio",apiPlatform:"API Platform",now:"Actualités",contact:"Contact",experienceNow:"Essayer maintenant"},hero:{buildWith:"Construisez avec",effortless:"Simple",powerful:"Puissant",sovereign:"Souverain",description:"Le harness IA entre vos modèles et vos produits : contexte, RAG, outils, mémoire et orchestration d'agents, jusqu'à la production.",createNow:"Créer maintenant",requestDemo:"Demander une démo",phrases:["Socle AI est conçu pour les créateurs d'IA","Je veux un éditeur de transcription pour mon outil","Je veux un chatbot avec RAG pour rechercher dans mes documents"]},harness:{label:"QU'EST-CE QU'UN AI HARNESS ?",title:"Le modèle n'est qu'une brique. Socle gère le système autour.",description:"Un modèle produit une réponse. Un harness transforme ce modèle en système IA utilisable : il gère le contexte, les outils, la mémoire, les permissions, les workflows et les agents autour du modèle.",stack:{application:{label:"Votre application",sub:"Application web, outil métier, produit"},harness:{label:"SOCLE AI",sub:"Harness IA souverain"},models:{label:"Modèles",sub:"Mistral · Qwen · Llama · Whisper · les vôtres"}
48,infrastructure:{label:"Infrastructure",sub:"Cloud européen ou vos propres serveurs"}},capabilities:["Contexte","RAG","Mémoire","Outils","MCP","Routage d'agents","Multi-agents","A2A","Validation humaine","Observabilité"],comparison:{withoutLabel:"SANS HARNESS",withoutSteps:["Utilisateur","Modèle","Réponse"],withLabel:"AVEC SOCLE",withSteps:["Utilisateur","Votre produit","Harness Socle","Modèles · outils · données","Réponse ou action"]},detailsLabel:"CE QUE LE HARNESS PREND EN CHARGE",details:[{title:"MCP",body:"Connectez vos agents à des outils et des sources de données externes via un standard ouvert."},{title:"A2A",body:"Laissez des agents spécialisés collaborer et se déléguer des tâches au sein de votre écosystème IA."},{title:"Observabilité",body:"Suivez les appels aux modèles, l'usage des outils, la recherche documentaire et les interactions entre agents, à chaque étape de vos workflows."},{title:"Validation humaine",body:"Ajoutez une étape de validation dès qu'une action IA doit rester sous contrôle humain."}],sovereigntyNote:"Socle fournit cette couche tout en gardant vos données et votre infrastru
48cture sous juridiction européenne."},modelAgnostic:{punchline:"Les modèles changent. Votre architecture IA ne devrait pas.",label:"INDÃPENDANCE MODÃLE",title:"Agnostique aux modèles, par conception",description:"Utilisez le bon modèle pour chaque tâche sans coupler votre produit à un seul fournisseur. Changez de modèle, gardez vos agents, vos données et votre produit.",categories:[{label:"Modèles de texte",sub:"Génération, synthèse, extraction"},{label:"Modèles de vision",sub:"Documents, images, multimodal"},{label:"Modèles de parole",sub:"Transcription, interfaces vocales"},{label:"Modèles de raisonnement",sub:"Analyse, planification, tâches complexes"}]},finalCta:{label:"COMMENCER",title:"Construisez votre IA sur un harness souverain.",description:"Gardez le contrôle de vos modèles, de vos outils, de vos données et de vos workflows d'agents avec Socle.",primary:"Commencer à construire",secondary:"Parler à un expert"},socleIntro:{badge:"SaaS ⢠On-Premise",title:"Un harness IA souverain pour vos agents en production",description:"Socle AI est la couche logicielle entre vos modèles et vos produits. Créez et interagissez avec des agents, des écosystèmes d'agents et des workflows IA, quel que soit le modèle, en toute transparence, que ce soit sur vos serveurs ou chez nos cloud providers européens.",concepts:[{label:"Agents",sub:"LLM, ASR, ML..."},{label:"Ãcosystèmes d'agents",sub:"Multi-agents orchestrés"},{label:"Workflows IA",sub:"Pipelines structurés"}],mixNote:"Ces briques sont combinables entre elles, un workflow peut appeler un écosystème d'agents, qui lui-même orchestre des agents spécialisés."},quickStart:{title:"Démarrage rapide",badge:"Compatible OpenAI SDK",subtitle:"Socle expose une API compatible avec le SDK OpenAI. Changez uniquement le <code>base_url</code>, votre code existant fonctionne tel quel, sans aucun partenariat avec OpenAI."},openaiEcosystem:{badge:"Compatible à l'écosystème Open-Source",title:"Branchez-vous sur l'écosystème entier",description:"Socle implémente le même protocole qu'OpenAI. Résultat : les centaines d'outils open-source, de frameworks et d'intégrations construits pour OpenAI fonctionnent avec Socle sans aucune modification. Changez l'endpoint, gardez votre stack.",toolsLabel:"Fonctionne avec",tools:[{name:"LangChain",category:"Framework"},{name:"LlamaIndex",category:"RAG"},{name:"CrewAI",category:"Multi-Agent"},{name:"Open-WebUI",category:"Interface"},{name:"Continue.dev",category:"IDE"},{name:"Dify",category:"LLMOps"},{name:"n8n",category:"Automation"},{name:"Flowise",category:"No-Code AI"},{name:"AnythingLLM",category:"RAG"},{name:"LibreChat",category:"Interface"},{name:"AutoGPT",category:"Agent"},{name:"Haystack",category:"Framework"}],andMore:"+ des centaines d'autres",tip:"Utilisez le node OpenAI de n8n pour échanger avec Socle, rien de plus facile."},effortless:{subtitle:"Simple",title1:"Conçu pour les",title2:"équipes produit modernes",description:"Socle AI est façonné par les pratiques et principes qui distinguent les meilleures équipes produit : concentration, exécution rapide et engagement envers la qualité.",makeTheSwitch:"Passer à Socle AI",features:{openaiCompatible:{title:"Compatible OpenAI",description:"Intégrez facilement l'API et les modèles OpenAI. Conçu pour fonctionner avec les outils que vous connaissez déjà .",modalContent:["Socle AI est entièrement compatible avec l'API d'OpenAI, vous permettant d'exploiter la puissance des modèles GPT, des embeddings et d'autres services OpenAI de manière transparente.","Que vous construisiez des chatbots, des générateurs de contenu ou des workflows IA complexes, notre compatibilité OpenAI garantit que vous pouvez utiliser les mêmes modèles et endpoints que vous connaissez déjà .","Cette compatibilité s'étend à l'authentification, à la limitation de débit et aux formats de réponse, rendant la migration depuis OpenAI vers Socle AI sans effort."]},designedToMoveFast:{title:"Time to Market",description:"Réduisez l'écart entre l'intuition et la mise en production grâce à une infrastru
48cture nativement rapide.",modalContent:["Dans un écosystème IA qui mute chaque semaine, la lenteur est votre plus grand risque financier et stratégique. Notre infrastructure, conçue pour la performance pure (réponse en 50ms), n'est pas qu'une simple prouesse technique : c'est un moteur d'exécution sans friction.","En choisissant Socle AI, vous éliminez les coûts cachés liés à l'intégration de briques technologiques disparates et instables. Nous prenons à notre charge la complexité de la veille et de la mise à jour constante de la stack technique. Alors que le marché change de standard tous les trois mois, votre solution reste à l'état de l'art sans que vous ayez à mobiliser vos ressources internes pour de la maintenance corrective.","Grâce à nos interfaces dynamiques et une architecture optimisée, vous passez du Proof of Concept (PoC) au produit final en un temps record. Vous n'achetez pas seulement de la vitesse, vous achetez la garantie que votre technologie ne sera jamais un frein à votre croissance."]},dynamicInterfaces:{title:"Expertise & Accompagnement",description:"Transformez la complexité technique en avantage stratégique grâce à 7 ans de recul sur le déploiement de l'IA.",levers:["Excellence Opérationnelle","Innovation Produit"],yearsLabel:"ANS",modalContent:["L'IA n'est pas qu'une question de code, c'est une transformation systémique qui touche autant vos processus que votre proposition de valeur. Forts de 7 ans d'expérience dans le déploiement de solutions d'intelligence artificielle, nous avons développé une méthodologie double, capable d'adresser vos deux leviers de croissance.","L'IA pour votre Excellence Opérationnelle : Nous orchestrons l'intégration de l'IA au cÅur de vos métiers. De la stratégie d'intégration à la gestion du changement, nous accompagnons vos collaborateurs pour briser les résistances et transformer leurs méthodes de travail en gains de productivité concrets.","L'IA pour votre Innovation Produit : Nous agissons comme un bras armé de votre Product Management. Nous vous aidons à identifier les opportunités IA à haute valeur ajoutée pour vos propres clients, en concevant des fonctionnalités intelligentes qui redéfinissent votre avantage concurrentiel et ouvrent de nouveaux marchés.","Notre rôle est de vous apporter la séniorité nécessaire pour naviguer dans les zones grises (éthique, sécurité, fiabilité) et garantir que l'IA devienne un actif stratégique durable, maîtrisé par vos équipes et plébiscité par vos utilisateurs."]}}},powerful:{subtitle:"Puissant",title1:"IA agentique pour",title2:"la production",description:"Donnez à vos applications des capacités IA de pointe. Des modèles de langage à la reconnaissance vocale, tout ce dont vous avez besoin pour des systèmes IA prêts pour la production.",features:{llmAsr:{title:"LLM & ASR",description:"Accédez aux modèles de langage et à la reconnaissance vocale de pointe. De la génération de texte à la transcription vocale, construisez avec les meilleures capacités IA disponibles."},rag:{title:"RAG",description:"La génération augmentée par récupération combine la puissance de la recherche avec la génération IA. Connectez votre base de connaissances et obtenez des réponses précises et contextuelles."},a2aEcosystem:{title:"Ãcosystème A2A",description:"Construisez des systèmes multi-agents puissants où les agents IA communiquent, collaborent et se coordonnent pour résoudre des tâches complexes.",a2aDocumentation:"Documentation A2A"},socleFastmcp:{title:"Socle & FastMCP",description:"Protocole de communication ultra-rapide conçu pour les systèmes IA. FastMCP permet des interactions efficaces et à faible latence entre les composants IA."}}},sovereign:{subtitle:"Souverain",title1:"Vos données,",title2:"vos règles",description:"Prenez le contrôle total de votre infrastru
48cture IA. Aucun compromis sur la sécurité, la confidentialité ou la conformité. Déployez où vous voulez, comme vous voulez.",noCloudAct:{title:"Pas de Cloud Act",description:"Données uniquement sur des fournisseurs cloud européens"},noConflict:{title:"Pas de conflit d'intérêt - by design",description:"Nous n'entraînons pas de modèles, nous n'avons aucun intérêt pour vos données"},sustainability:{title:"Combinez souveraineté et durabilité",description:"Nos serveurs en France bénéficient d'un mix énergétique décarboné. Combinant performance et responsabilité environnementale."},links:{discord:"Discord",discordSub:"Rejoindre la communauté",documentation:"Documentation",documentationSub:"Apprendre les bases",x:"X",xSub:"Nous suivre",linkedin:"LinkedIn",linkedinSub:"Se connecter"}},workflowSection:{title:"Faites vos workflows IA en une phrase.",subtitle:"Décrivez votre projet et laissez Socle AI vous préparer vos agents et votre workflow.",inputLabel:"// DÃCRIVEZ VOTRE PROJET",generating:"Génération du workflow...",ready:"Workflow prêt"},sectors:{nav:"Secteurs",legal:{slug:"secteur-juridique",tagline:"Un Socle, de multiples usages",badge:"SECTEUR, JURIDIQUE",title:"L'IA au service du droit",subtitle:"Des outils souverains conçus pour les professionnels du droit",intro:"Dans le domaine juridique, chaque échange a une valeur probante. Les données traitées sont par nature confidentielles, souvent sensibles, toujours stratégiques. Socle permet aux équipes juridiques d'exploiter l'IA sans jamais compromettre le secret professionnel ni exposer leurs données à des législations étrangères.",challenges:{title:"Les défis du secteur",items:[{title:"Volume documentaire",body:"Contrats, procédures, jurisprudences : les équipes juridiques gèrent des volumes croissants de documents à analyser, synthétiser et qualifier."},{title:"Confidentialité absolue",body:"Le secret professionnel interdit toute fuite de données. Utiliser des LLM hébergés aux Ãtats-Unis expose les cabinets au Cloud Act américain."},{title:"Retranscription d'entretiens",body:"Dans les enquêtes internes, les entretiens de contrôle ou les auditions, la transcription manuelle est longue, coûteuse et source d'erreurs."}]},usecases:{title:"Ce que Socle permet",items:[{title:"Ãditeur de transcription souverain",body:"Transcrivez automatiquement vos enregistrements audio avec un modèle ASR hébergé en France. Editez, corrigez et exportez, sans qu'un seul octet quitte votre périmètre juridique."},{title:"RAG sur votre base documentaire",body:"Interrogez vos contrats, décisions de justice et notes internes en langage naturel. Le moteur de recherche augmentée (RAG) retrouve les passages pertinents et génère des synthèses argumentées."},{title:"Agent d'analyse contractuelle",body:"Déployez un agent IA qui détecte les clauses à risque, compare des versions de contrats et signale les anomalies, tout en restant dans votre infrastru
48cture."}]},advantages:{title:"Pourquoi Socle pour le secteur juridique",items:[{label:"Pas de Cloud Act",desc:"Hébergement exclusif sur Scaleway (France). Vos données ne sont soumises qu'au droit européen."},{label:"Aucun entraînement sur vos données",desc:"Socle n'a aucun intérêt commercial à exploiter vos données. Elles ne servent jamais à améliorer des modèles tiers."},{label:"Déploiement on-premise possible",desc:"Pour les contraintes de sécurité maximales, Socle peut être installé dans votre propre infrastructure."}]},cta:"Discuter de votre projet juridique",customerStory:{quote:"Dans le contexte d'entretiens de contrôle interne ou d'enquêtes, les échanges enregistrés ont une valeur juridique importante. Socle nous permet de transcrire et d'annoter ces échanges en toute confidentialité.",role:"Responsable conformité, cabinet juridique"}},risk:{slug:"secteur-risk",tagline:"Un Socle, de multiples usages",badge:"SECTEUR, RISK & COMPLIANCE",title:"L'IA couvre l'ensemble de vos processus compliance",subtitle:"KYC, AML, surveillance des marchés, reporting réglementaire, sans exposer vos données financières",intro:"Les régulateurs eux-mêmes ont franchi le pas de l'IA pour superviser les marchés, détecter les fraudes et automatiser leurs obligations de reporting. La question n'est plus de savoir si l'IA doit entrer dans vos processus Risk & Compliance, mais comment le faire sans dépendre de clouds extra-européens soumis au Cloud Act américain.",challenges:{title:"Les défis du secteur",items:[{title:"Une chaîne compliance entière à couvrir",body:"KYC, AML/Sanctions, surveillance de marché, Regulatory Watch, RCSA, reporting MiFID/SFDR, chaque maillon génère des volumes de données que les équipes ne peuvent plus traiter manuellement."},{title:"Gouvernance et souveraineté des données",body:"Les données financières ne peuvent pas transiter par des infrastructures soumises au Cloud Act. La dépendance à des LLM américains expose les établissements à des risques réglementaires et juridiques majeurs."},{title:"Human-in-the-loop obligatoire",body:"Les régulateurs exigent une supervision humaine des modèles IA et la traçabilité complète de chaque décision assistée. L'auditabilité n'est pas une option."}]},usecases:{title:"Ce que Socle permet",items:[{title:"KYC & AML : détection automatisée des signaux faibles",body:"Un agent IA analyse en continu les données clients, croise les listes de sanctions, détecte les comportements suspects et génère les rapports SAR, le tout hébergé en France, sans fuite de données vers l'extérieur."},{title:"Surveillance des marchés et détection de fraudes",body:"Déployez des algorithmes de clustering et de détection d'anomalies pour identifier les comportements suspects sur vos marchés et réduire les faux positifs de vos équipes d'analyse."},{title:"Automatisation du reporting SFDR / MiFID / DORA",body:"Un agent collecte, structure et formate les données requises pour vos obligations réglementaires. Les annexes SFDR, les déclarations de transactions et les rapports internes sont générés automatiquement, avec traçabilité complète des sources."},{title:"Transcription et analyse des enquêtes internes",body:"Transcrivez automatiquement les enregistrements audio d'entretiens de contrôle ou d'enquêtes internes. L'agent extrait les informations pertinentes, identifie les éléments à risque et structure les conclusions, sans jamais quitter votre périmètre sécurisé."}]},advantages:{title:"Pourquoi Socle pour le Risk & Compliance",items:[{label:"Souveraineté des données garantie",desc:"Hébergement exclusif sur Scaleway (France). Vos données financières ne sont soumises qu'au droit européen, aucune exposition au Cloud Act américain."},{label:"Auditabilité totale, human-in-the-loop",desc:"Chaque appel IA est journalisé. Vos équipes compliance et les régulateurs peuvent auditer chaque décision assistée : qui, quand, avec quelles données, quel résultat."},{label:"Aucun entraînement sur vos données",desc:"Socle n'a aucun intérêt commercial sur vos données. Elles ne servent jamais à améliorer des modèles tiers, conformément aux exigences de la CNIL et du RGPD."}]}
48,cta:"Discuter de votre projet Risk & Compliance",customerStory:null},public:{slug:"secteur-public",tagline:"Un Socle, de multiples usages",badge:"SECTEUR, PUBLIC",title:"L'IA souveraine au service de l'Ãtat",subtitle:"Des solutions conformes pour les administrations, collectivités et opérateurs publics",intro:"Les administrations et collectivités gèrent des données parmi les plus sensibles qui soient : données personnelles des citoyens, documents confidentiels, procédures internes. Socle AI offre une réponse adaptée aux exigences de souveraineté numérique de l'Ãtat, avec un hébergement exclusivement sur sol français et une conformité native aux référentiels réglementaires publics.",challenges:{title:"Les défis du secteur",items:[{title:"Souveraineté numérique obligatoire",body:"Les données des citoyens et des administrations ne peuvent être hébergées ni traitées par des acteurs soumis au droit extra-européen. La dépendance aux clouds américains est un risque réglementaire et géopolitique."},{title:"Volume documentaire croissant",body:"Courriers entrants, dossiers réglementaires, comptes-rendus, marchés publics : les équipes publiques sont submergées par un volume documentaire que les outils traditionnels ne permettent plus de traiter efficacement."},{title:"Exigences de traçabilité et d'auditabilité",body:"Chaque décision assistée par IA dans le secteur public doit pouvoir être expliquée, tracée et auditée. Les référentiels RGPD, DORA et les obligations de transparence algorithmique s'imposent sans exception."}]},usecases:{title:"Ce que Socle permet",items:[{title:"Traitement intelligent du courrier entrant",body:"Un agent IA classe, priorise et pré-instruit automatiquement les courriers et demandes citoyens. Les agents publics
48se concentrent sur les dossiers complexes à valeur ajoutée."},{title:"RAG sur textes législatifs et réglementaires",body:"Interrogez en langage naturel la base documentaire de votre administration : textes de loi, circulaires, délibérations, marchés publics. L'agent retrouve les références pertinentes et génère des synthèses argumentées."},{title:"Transcription souveraine de réunions et auditions",body:"Transcrivez automatiquement vos réunions, commissions et auditions avec un modèle ASR hébergé en France. Les comptes-rendus sont générés instantanément, sans qu'aucune donnée ne quitte votre périmètre."},{title:"Analyse et rédaction de documents administratifs",body:"Socle assiste les rédacteurs dans la production de délibérations, arrêtés et rapports. L'agent propose des formulations conformes aux standards administratifs et détecte les incohérences juridiques."}]},advantages:{title:"Pourquoi Socle pour le secteur public",items:[{label:"Hébergement sur votre sol",desc:"Scaleway par défaut, mais Socle peut être déployé chez Outscale, OVH, ou tout autre hébergeur souverain, dans votre pays, ou on-premise dans votre propre infrastructure."},{label:"Auditabilité et traçabilité totales",desc:"Chaque interaction IA est journalisée et auditable. Conformité native avec les obligations de transparence algorithmique et le RGPD."},{label:"Déploiement on-premise possible",desc:"Pour les opérateurs d'importance vitale (OIV) ou les administrations à exigences maximales, Socle peut être déployé intégralement dans votre propre infrastructure."}]},cta:"Discuter de votre projet secteur public",customerStory:null},other:{slug:"autre-secteur",tagline:"Un Socle, de multiples usages",badge:"SECTEUR, VOTRE INDUSTRIE",title:"Socle s'adapte à votre secteur",subtitle:"Quelle que soit votre industrie, la souveraineté de vos données ne doit pas freiner votre adoption de l'IA",intro:"Santé, industrie, énergie, assurance, médias, RH, les cas d'usage de l'IA sont universels, mais les contraintes de confidentialité varient d'un secteur à l'autre. Socle AI est conçu pour s'adapter à n'importe quel contexte métier : modèles configurables, intégration à vos outils existants, hébergement souverain en France.",challenges:{title:"Les enjeux communs à tous les secteurs",items:[{title:"Confidentialité des données",body:"Données patients, secrets industriels, informations stratégiques : chaque secteur a ses propres exigences de protection. Socle garantit que vos données ne quittent jamais votre périmètre."},{title:"Adoption sans dépendance",body:"Intégrer l'IA ne doit pas créer une dépendance à un fournisseur américain. Socle s'appuie sur des modèles open source souverains et une infrastructure que vous contrôlez."},{title:"ROI mesurable",body:"L'automatisation des tâches répétitives, transcription, analyse documentaire, synthèse, reporting, libère du temps à forte valeur ajoutée dans n'importe quelle organisation."}]},usecases:{title:"Des usages universels, des contraintes spécifiques",items:[{title:"Analyse et synthèse documentaire",body:"Quel que soit votre secteur, Socle peut analyser, classer et synthétiser vos documents internes : rapports, contrats, notes, emails, comptes-rendus."},{title:"Agents IA sur-mesure",body:"Déployez des agents IA configurés pour vos processus métier spécifiques, validation, escalade, extraction d'information, génération de rapports."},{title:"Transcription et analyse audio",body:"Réunions, entretiens, appels clients, formations : la transcription automatique souveraine s'applique à tous les contextes."},{title:"RAG sur votre base de connaissances",body:"Connectez Socle à votre documentation interne pour permettre à vos équipes d'interroger leur base de connaissance en langage naturel."}]},advantages:{title:"Pourquoi Socle, quel que soit votre secteur",items:[{label:"Souveraineté garantie",desc:"Hébergement en France, sur Scaleway. Vos données restent sous droit européen, quel que soit votre secteur d'activité."},{label:"Modèles open source",desc:"Pas de dépendance à OpenAI ou Google. Socle s'appuie sur les meilleurs modèles open source, configurables selon vos besoins."},{label:"Intégration à votre SI",desc:"API REST, connecteurs natifs, déploiement on-premise possible. Socle s'intègre dans votre architecture existante sans rupture."}]},cta:"Parlez-nous de votre secteur",customerStory:null}},stats:{label:"SOCLE EN CHIFFRES",items:[{value:"7",unit:"ans",label:"D'expertise IA",sub:"En production"},{value:"96%",unit:"",label:"Ãnergie décarbonée",sub:"Datacenter bas carbone"},{value:"100%",unit:"",label:"Données en France",sub:"Hébergement souverain"},{value:"12+",unit:"",label:"Modèles compatibles",sub:"LLM, ASR, Embedding"},{value:"0",unit:"",label:"Données partagées",sub:"Aucun entraînement tiers"}]},press:{badge:"ILS PARLENT DE NOUS",title:"Reconnus par l'écosystème",testimonialLabel:"TÃMOIGNAGE CLIENT",testimonialQuote:"Dans le contexte d'entretiens de contrôle interne ou d'enquêtes, les échanges enregistrés ont une valeur juridique importante. Socle nous permet de transcrire et d'annoter ces échanges en toute confidentialité.",testimonialRole:"Responsable conformité, cabinet juridique",items:[{source:"Hub France IA",headline:"Socle AI figure dans la cartographie de référence de l'IA française",date:"Février 2026",tag:"Reconnaissance"},{source:"NVIDIA Inception",headline:"NVIDIA sélectionne Socle AI dans son programme d'accélération mondial",date:"Mars 2026",tag:"Partenariat"},{source:"AI Pulse â Scaleway",headline:"L'IA agentique souveraine : le pari de Socle AI sur l'Europe",date:"Octobre 2025",tag:"Ãvénement"}]},footer:{tagline:"Ne faites pas de compromis entre souveraineté et performance",product:"Produit",company:"Entreprise",connect:"Contact",resource:"Ressources",links:{studio:"Studio",platform:"Plateforme",documentation:"Documentation",usecase:"Cas d'usage",usecases:"Cas d'usage",contactUs:"Nous contacter",community:"Communauté",x:"X",youtube:"Youtube",linkedin:"Linkedin",terms:"Conditions",privacy:"Confidentialité",about:"Nous connaître"},copyright:"© {year} Socle AI. Tous droits réservés."},about:{badge:"ÃQUIPE FONDATRICE",title:"Nous connaître",subtitle:"Les personnes derrière Socle AI",team
48:[{name:"Benjamin De Almeida",role:"CEO & Co-Fondateur",photo:"/images/benjamin-de-almeida.png",quote:"Nous n'avons pas à compromettre efficacité avec de la souveraineté",sections:[{title:"Un parcours ancré dans l'IA explicable et la culture produit",body:"Benjamin De Almeida a construit son expertise au carrefour de l'ingénierie logicielle et de la stratégie produit. Diplômé d'Epitech, il a passé près de sept ans au sein de Golem.ai, dont il a été le Chief Product Officer. Durant ces années, il s'est spécialisé dans l'IA symbolique, une approche privilégiant la compréhension des décisions algorithmiques plutôt que l'opacité des modèles statistiques classiques. Ce parcours lui a permis d'acquérir une vision très concrète des besoins des organisations : disposer d'outils fiables, audibles et directement intégrables dans des processus métiers exigeants."},{title:"La souveraineté comme levier de performance",body:"En juillet 2025, il fonde Socle AI avec la volonté d'accompagner un changement de paradigme dans la stratégie européenne d'intelligence artificielle. Pour Benjamin, la souveraineté numérique ne doit pas être vécue comme une contrainte ou un repli, mais comme un gage de compétitivité. Il défend l'idée qu'il n'y a aucun sacrifice à faire entre l'indépendance technologique et l'efficience opérationnelle."},{title:"Une expertise au service de la confiance et de la durabilité",body:"Pour Benjamin De Almeida, l'enjeu est de transformer la conformité et l'éthique en avantages concurrentiels tangibles. Son approche repose sur la création de fondations technologiques, un « socle », qui assurent aux entreprises une maîtrise totale de leurs données sans perte de puissance de traitement. à travers ses interventions, il partage une vision pragmatique où l'innovation souveraine devient le moteur d'une économie numérique durable, capable de rivaliser avec les standards mondiaux tout en restant fidèle aux valeurs de transparence et de sécurité européennes."}],tags:["Epitech","Golem.ai â CPO","IA Symbolique","Product Strategy","Souveraineté Numérique"]}]},privacy:{badge:"SÃCURITà & CONFIDENTIALITÃ",title:"Data Privacy & Sécurité",subtitle:"Votre infrastru
48cture, vos données, votre souveraineté.",intro:"Chez Socle AI, la confidentialité n'est pas une option, c'est une architecture. De l'hébergement des serveurs aux modèles d'IA, chaque couche de notre stack est conçue pour garantir que vos données restent sous droit européen, à l'abri des lois extraterritoriales.",sections:[{id:"hosting",label:"HÃBERGEMENT SOUVERAIN",title:"Exclusivement hébergé en Europe avec Scaleway",body:"L'intégralité de l'infrastructure Socle AI, serveurs d'application, bases de données et modèles d'IA, est hébergée chez Scaleway, acteur cloud européen 100% indépendant, membre du CISPE et partenaire de l'initiative Gaia-X.",highlight:"Vos données ne quittent jamais le territoire européen. Scaleway n'est soumis à aucune loi extraterritoriale comme le Cloud Act américain ou le PIPL chinois, uniquement au droit de l'Union Européenne.",certs:["ISO/IEC 27001:2022","HDS","RGPD","SWIPO","Tier 3 Uptime Institute"]},{id:"gdpr",label:"CONFORMITà RÃGLEMENTAIRE",title:"RGPD & droit européen uniquement",body:"Socle AI est intégralement soumis au Règlement Général sur la Protection des Données (RGPD). Nous concluons avec chaque client un Data Processing Agreement (DPA) conforme à l'article 28 du RGPD.",highlight:"Contrairement aux hyperscalers américains (AWS, Azure, GCP), nos infrastructures ne sont pas exposées au CLOUD Act. Aucune autorité étrangère ne peut exiger l'accès à vos données sans décision d'un tribunal européen.",items:["Données traitées et stockées en France et dans l'UE","Sous-traitants exclusivement européens","Droit d'accès, de rectification et d'effacement garanti","Notification de violation sous 72h conformément au RGPD"]},{id:"models",label:"MODÃLES D'IA",title:"Tous les modèles hébergés sur Scaleway",body:"Les modèles d'IA que vous utilisez via Socle AI, inférences LLM, transcription ASR, embeddings, sont intégralement déployés sur les infrastructures Scaleway en Europe. Aucun appel n'est effectué vers des API tierces externes sans votre accord explicite.",highlight:"Vous bénéficiez de la puissance des modèles de pointe (open-source et propriétaires) sans dépendre d'OpenAI, Anthropic ou Google, et donc sans exposer vos prompts et données à leurs politiques d'entraînement.",items:["LLM hébergés sur clusters GPU Scaleway H100","Inférences souveraines : vos requêtes ne servent jamais à entraîner des modèles tiers","Compatibilité API OpenAI maintenue sans dépendance à OpenAI","SLA de performance garanti avec latence < 50ms"]},{id:"green",label:"INFRASTRUCTURE BAS CARBONE",title:"Des datacenters parmi les plus responsables d'Europe",body:"Scaleway alimente l'ensemble de ses datacenters à 100% d'énergie renouvelable (éolienne et hydraulique, avec Garanties d'Origine). Leur datacenter PAR-DC5, où sont hébergés nos clusters GPU, affiche un PUE de 1,25, parmi les meilleurs de l'industrie.",highlight:"En choisissant Socle AI, vous réduisez aussi l'empreinte carbone de votre usage de l'IA. Scaleway a obtenu la médaille d'or EcoVadis 2024, plaçant l'entreprise dans le top 5% des acteurs les plus durables de son secteur.",stats:[{value:"1,25",label:"PUE datacenter IA",sub:"vs 1,55 moyenne industrie"},{value:"100%",label:"Ãnergie renouvelable",sub:"Garanties d'Origine certifiées"},{value:"0,00002",label:"WUE DC4 Paris",sub:"Zéro eau potable gaspillée"},{value:"15 000",label:"Serveurs reconditionnés",sub:"Programme Transformers 2024"}]},{id:"onpremise",label:"AUTONOMIE MAXIMALE",title:"Déploiement On-Premise & Cloud Privé",body:"Pour les organisations ayant des exigences de souveraineté maximales, secteur de la défense, santé, finance, ou industriels critiques, Socle AI peut être déployé intégralement dans votre propre environnement : on-premise sur vos serveurs, ou dans votre cloud privé dédié.",highlight:"L'on-premise Socle AI vous garantit une autonomie totale : aucune dépendance réseau externe, aucune donnée ne quitte votre périmètre, et vous conservez le contrôle complet sur les mises à jour et la gouvernance des modèles.",items:["Installation sur serveurs physiques ou infrastru
48cture virtualisée existante","Support des environnements air-gapped (déconnectés d'Internet)","Modèles IA packagés et distribuables en mode offline","Accompagnement par nos équipes pour l'intégration à votre SI"],cta:{label:"Discuter d'un déploiement on-premise",href:"#contact"}}]},cgu:{title:"Conditions Générales d'Utilisation (CGU)",subtitle:"Socle AI",lastUpdated:"6 juillet 2026",intro:"Les présentes Conditions Générales d'Utilisation (ci-après les « CGU ») définissent les conditions d'accès et d'utilisation de la plateforme et des Services édités par SOCLE AI (ci-après le « Prestataire »). Elles constituent un accord juridiquement contraignant entre le Prestataire et toute personne accédant aux Services. Nous vous invitons à les lire attentivement.",sections:[{title:"1. Mentions légales",content:["Ãditeur : La plateforme et les Services sont édités par SOCLE AI, société par actions simplifiée (SAS), immatriculée au Registre du Commerce et des Sociétés de Paris sous le numéro SIREN 987 961 810 (SIRET du siège 987 961 810 00015), dont le siège social est situé 60 rue François Ier, 75008 Paris (France).","Numéro de TVA intracommunautaire : FR02 987 961 810. Code APE/NAF : 62.01Z (programmation informatique).","Directeur de la publication : Benjamin De Almeida, en qualité de Président.","Contact : [email protected].","Hébergeur : Les Services sont hébergés par Scaleway SAS, immatriculée au Registre du Commerce et des Sociétés de Paris sous le numéro 433 115 904, dont le siège social est situé 8 rue de la Ville l'Ãvêque, 75008 Paris (France)."]},{title:"2. Définitions",content:["Dans les présentes CGU, les termes ci-dessous, employés avec une majuscule, ont la signification suivante :","â « CGU » : les présentes Conditions Générales d'Utilisation.","â « Prestataire » ou « Socle AI » : la société SOCLE AI, éditrice de la plateforme.","â « Client » : toute personne physique ou morale ayant souscrit aux Services.","â « Utilisateur » : toute personne accédant à la plateforme sous la responsabilité du Client.","â « Services » : l'ensemble des fonctionnalités mises à disposition par Socle AI, notamment les outils d'orchestration de modèles d'intelligence artificielle et les interfaces associées.","â « Inputs » : les données, contenus et instructions fournis par le Client ou l'Utilisateur aux Services.","â « Outputs » : les contenus générés par les Services en réponse aux Inputs."]},{title:"3. Objet et champ d'application",content:["Les présentes CGU ont pour objet de définir les conditions dans lesquelles le Prestataire met à disposition les Services ainsi que les modalités d'utilisation de la plateforme par le Client et les Utilisateurs.","Socle AI fournit une infrastructure dédiée à l'intelligence artificielle comprenant des outils d'orchestration de modèles de langage (LLM), des interfaces de test et des services associés.","Les prestations d'accompagnement, de conseil ou de développement sur mesure font l'objet de contrats distincts et ne sont pas régies par les présentes CGU."]},{title:"4. Acceptation des CGU",content:["L'accès et l'utilisation des Services supposent l'acceptation pleine et entière des présentes CGU. En créant un compte ou en utilisant la plateforme, le Client et l'Utilisateur reconnaissent en avoir pris connaissance et les accepter.","à défaut d'acceptation, l'Utilisateur doit renoncer à l'accès aux Services."]},{title:"5. Accès aux Services et compte",content:["L'accès aux Services requiert la création d'un compte. Le Client garantit l'exactitude des informations fournies lors de son inscription et s'engage à les maintenir à jour.","Les identifiants de connexion sont personnels et confidentiels. Le Client est responsable de leur conservation et de toute activité réalisée depuis son compte.","Le Client informe sans délai le Prestataire de toute utilisation non autorisée de son compte ou de toute faille de sécurité dont il aurait connaissance."]},{title:"6. Usages interdits",content:["L'Utilisateur s'engage à ne pas utiliser les Services pour :","â La création ou la diffusion de contenus haineux, discriminatoires, harcelants ou violents ;","â Toute tentative de manipulation de l'opinion publique ou de désinformation organisée ;","â Le développement d'outils de surveillance de masse ou d'atteinte à la vie privée ;","â Le contournement des mécanismes de sécurité des modèles d'intelligence artificielle (jailbreaking) ;","â Toute activité illicite ou contraire aux lois et règlements en vigueur.","Le non-respect de ces engagements peut entraîner la suspension ou la résiliation immédiate de l'accès aux Services, sans préjudice de tout recours."]},{title:"7. Engagement éthique et Comité de Vigilance",content:["Socle AI dispose d'un Comité d'Ãthique interne indépendant chargé de veiller à la conformité des projets avec les standards de sécurité, d'équité et d'intégrité de l'information.","Le Prestataire se réserve le droit de suspendre ou de résilier l'accès aux Services si l'usage de la plateforme est jugé par ce Comité contraire à l'intérêt public, aux droits fondamentaux ou à sa charte éthique interne. Dans la mesure du possible, une information préalable est adressée au Client."]},{title:"8. Ãvolution et disponibilité de la plateforme",content:["Le Prestataire assure l'évolution et la mise à jour de la plateforme. Il peut modifier, remplacer ou faire évoluer les modèles et composants techniques à tout moment afin de garantir la performance, la sécurité et la conformité des Services.","Le Prestataire met en Åuvre les moyens raisonnables pour assurer la disponibilité des Services. Des interruptions temporaires peuvent néanmoins survenir, notamment pour des opérations de maintenance, sans donner lieu à indemnisation.","Modèles ajoutés par le Client : Le Client a la possibilité d'intégrer et d'utiliser ses propres modèles d'intelligence artificielle au sein de la plateforme. Dans ce cas, le Client est seul responsable du choix de ces modèles, de leur licéité, de leur sécurité et de leur conformité à la réglementation applicable. Les garanties de souveraineté offertes par Socle AI ne s'appliquent qu'aux modèles fournis par le Prestataire : si les modèles ajoutés par le Client ne présentent pas de caractère souverain (notamment en matière d'hébergement, de localisation des données ou de droit applicable), le Client en assume seul la responsabilité et les conséquences."]},{title:"9. Données du Client, Inputs et Outputs",content:["Propriété : Le Client demeure seul propriétaire de ses Inputs. Le Prestataire s'engage à ne pas utiliser ces données pour entraîner des modèles accessibles à des tiers sans l'accord exprès du Client.","Outputs : Le Client est responsable de l'usage qu'il fait des Outputs. Il lui appartient d'en vérifier l'exactitude, la pertinence et la conformité à la législation avant toute exploitation.","Le Client garantit disposer des droits nécessaires sur les Inputs qu'il transmet aux Services."]},{title:"10. Données à caractère personnel",content:["Dans le cadre de la fourniture des Services, Socle AI traite des données à caractère personnel dans le respect du Règlement (UE) 2016/679 (RGPD) et de la loi n° 78-17 du 6 janvier 1978 modifiée (Informatique et Libertés).","Lorsque le Prestataire traite des données personnelles pour le compte du Client, il agit en qualité de sous-traitant au sens de l'article 28 du RGPD, dans les conditions définies par un accord de traitement des données (DPA).","Les personnes concernées disposent de droits d'accès, de rectification, d'effacement et d'opposition, qu'elles peuvent exercer à l'adresse [email protected]. Les modalités de traitement sont détaillées dans la Politique de confidentialité."]},{title:"11. Confidentialité et sécurité",content:["Le Prestataire met en Åuvre des mesures techniques et organisationnelles appropriées pour protéger les données et les infrastru
48ctures contre tout accès non autorisé, perte ou altération.","Le Prestataire s'engage à notifier au Client, dans les meilleurs délais, toute violation de données susceptible d'affecter ses données, conformément à la réglementation applicable."]},{title:"12. Propriété intellectuelle",content:["L'ensemble des éléments composant la plateforme (architecture, code source, algorithmes, marques, interfaces et documentation) demeure la propriété exclusive du Prestataire.","L'accès aux Services confère au Client un droit d'utilisation personnel, non exclusif et non cessible, limité à la durée de son abonnement et aux finalités prévues par les présentes CGU. Aucune autre licence ni cession de droits n'est concédée."]},{title:"13. Responsabilité et garanties",content:["Le Prestataire est tenu d'une obligation de moyens. Il ne saurait garantir que les Services seront exempts d'interruption ou d'erreur, ni que les Outputs seront adaptés à un usage particulier.","Le Prestataire ne peut être tenu responsable des dommages indirects, notamment les pertes de données, de chiffre d'affaires, de bénéfices ou d'exploitation, résultant de l'utilisation ou de l'impossibilité d'utiliser les Services.","En tout état de cause, la responsabilité du Prestataire, tous préjudices confondus, est limitée au montant des sommes effectivement versées par le Client au titre des douze (12) mois précédant le fait générateur du dommage."]},{title:"14. Force majeure",content:["La responsabilité du Prestataire ne saurait être engagée en cas d'inexécution résultant d'un cas de force majeure au sens de l'article 1218 du Code civil et de la jurisprudence des tribunaux français."]},{title:"15. Durée, suspension et résiliation",content:["Les présentes CGU s'appliquent pendant toute la durée d'utilisation des Services.","Le Prestataire peut suspendre ou résilier l'accès aux Services en cas de manquement du Client à ses obligations, notamment en cas d'usage interdit ou de défaut de paiement, après mise en demeure restée sans effet lorsque la nature du manquement le permet.","En cas de cessation de la relation, le Client peut demander la restitution ou la suppression de ses Inputs dans les conditions prévues par le contrat applicable et la réglementation en vigueur."]},{title:"16. Modification des CGU",content:["Le Prestataire se réserve le droit de modifier les présentes CGU afin de refléter les évolutions techniques, légales ou réglementaires. Le Client est informé de toute modification substantielle. La poursuite de l'utilisation des Services après leur entrée en vigueur vaut acceptation des CGU modifiées."]},{title:"17. Réclamations et contact",content:["Toute réclamation relative aux Services peut être adressée au Prestataire à l'adresse [email protected]. Les parties s'efforceront de résoudre à l'amiable tout différend avant toute action contentieuse."]},{title:"18. Dispositions diverses",content:["Nullité partielle : Si une stipulation des présentes CGU était déclarée nulle ou inapplicable, les autres stipulations conserveraient leur plein effet.","Intégralité : Les présentes CGU, complétées le cas échéant par les contrats et politiques auxquels elles renvoient, expriment l'intégralité de l'accord entre les parties relatif à l'usage des Services.","Cession : Le Client ne peut céder ou transférer ses droits et obligations au titre des présentes sans l'accord préalable écrit du Prestataire."]},{title:"19. Droit applicable et juridiction",content:["Les présentes CGU sont régies par le droit français. à défaut de résolution amiable, tout litige relatif à leur validité, leur interprétation ou leur exécution est soumis à la compétence exclusive des tribunaux du ressort du siège social du Prestataire, sous réserve des dispositions légales impératives."]}]},nowPage:{title:"Actualités",subtitle:"Dernières mises à jour et changelog de Socle AI",categories:{all:"Tout",usecases:"Usecases",product:"Produit",news:"Actualités",battlecards:"Comparatifs",articles:"Articles"},noUpdates:"Aucune mise à jour trouvée dans cette catégorie.",customerStory:"Témoignage client",customerStorySubtitle:"Découvrez comment nos clients construisent avec Socle AI",readMore:"Lire la suite",comingSoon:"Bientôt disponible",comingSoonDescription:"Plus de témoignages clients à venir. Contactez-nous si vous souhaitez partager votre expérience.",updates:{cvExtraction:{title:"Usecase en 10 minutes : Extraire des informations dans des CV avec SocleAI",description:"Comment automatiser l'extraction d'information de CV en quelques minutes ? C'est possible avec Socle AI !"},nvidiaInception:{title:"Socle AI rejoint le programme NVIDIA Inception ð",description:"Accélérer l'IA avec les meilleurs. Depuis le lancement de Socle AI, notre mission est claire : permettre à nos utilisateurs de concilier autonomie et performance. Aujourd'hui, nous franchissons une étape décisive en rejoignant le programme NVIDIA Inception ! Ãchanger directement avec les ingénieurs de NVIDIA et accéder à leurs ressources pour explorer de nouvelles opportunités pour améliorer nos services."},hubFranceIA:{title:"Socle AI intègre la Cartographie de l'IA Française ð¡ï¸",description:"Nous sommes fiers d'annoncer que Socle AI figure désormais dans la cartographie de référence du Hub France IA ! Cette reconnaissance salue notre engagement : démontrer qu'une IA performante peut, et doit, être souveraine. Trois piliers indissociables : Souveraineté, maîtrise totale de vos données, Performance, intégration simplifiée et excellence technique, Expérience, outils fluides et accompagnement sur-mesure."},epitechSummit:{title:"Nous sommes à l'Epitech Summit !",description:"C'était un plaisir de présenter Socle AI à l'Epitech Summit"},dynamicAgentInterface:{title:"Interface Agent Dynamique",description:"L'interface de test de votre agent change dynamiquement si vous choisissez LLM ou ASR."},distantMcp:{title:"MCP Distant maintenant disponible",description:"Avec FastMcp vous pouvez maintenant connecter votre agent avec vos outils facilement"},asrAgent:{title:"Votre agent appelle un ASR quand il ne peut pas analyser l'audio",description:"Comme l'anal
48yse d'image, votre agent peut maintenant appeler un agent ASR quand vous lui envoyez un audio"},aiPulse:{title:"Nous sommes à Ai Pulse",description:"Organisé par Scaleway, Benjamin De Almeida notre CEO a parlé de l'IA agentique"}},customerStories:{legal:{title:"Utiliser un éditeur de transcription dans le domaine juridique",description:"Dans le contexte d'entretiens de contrôle interne ou d'enquêtes, les échanges enregistrés ont une valeur juridique importante."}}},contactPage:{title:"Comment pouvons-nous vous aider ?",subtitle:"Vous avez besoin d'aide pour votre projet ? Contactez notre équipe. Nous avons une longue expérience pour rendre les projets IA utiles en production.",sales:{title:"J'ai un projet IA",description:"Notre équipe vous aidera à trouver la meilleure solution pour vos besoins.",cta:"Parler à l'équipe"},support:{title:"Aide & support",description:"Accédez à la documentation, la communauté Discord et la FAQ.",docsCta:"Documentation",discordCta:"Communauté Discord"},community:{title:"Rejoindre la communauté",description:"Rejoignez notre serveur Discord pour discuter avec la communauté et l'équipe.",cta:"Rejoindre Discord"},social:{title:"Nous suivre",x:"Suivre sur X",linkedin:"Suivre sur LinkedIn"}},meta:{homeTitle:"Socle AI, le harness IA souverain pour des agents en production",homeDescription:"Le harness IA souverain entre vos modèles et vos produits : contexte, RAG, outils, MCP, A2A, orchestration d'agents et observabilité. Hébergé en France."},battleCard:{backToNews:"â TOUTES LES ACTUALITÃS",hudLabel:"COMPARATIF",updatedPrefix:"MAJ",metaTitleSuffix:"Comparatif",notFound:"404 // COMPARATIF INTROUVABLE",notFoundCta:"â Voir les actualités",alternativeLabel:"L'ALTERNATIVE",complementaryLabel:"L'ACTEUR COMPLÃMENTAIRE",ourApproach:"NOTRE APPROCHE",goodToKnow:"BON à SAVOIR",tableLabel:"EN UN COUP D'ÅIL",tableTitle:"Le comparatif ligne à ligne",criterion:"CRITÃRE",stackLabel:"STACK TECHNIQUE",stackTitle:"Ce qu'il faut assembler, de chaque côté",scopeLabel:"SON PÃRIMÃTRE",limitsLabel:"LEURS LIMITES",limitsTitlePrefix:"Les limites de",complementarityLabel:"COMPLÃMENTARITÃ",strengthsLabel:"NOS FORCES",strengthsTitle:"Ce que Socle AI apporte en plus",questionsLabel:"à CHALLENGER",questionsTitle:"Questions clés que vous devez vous poser !",faqLabel:"FAQ",faqTitle:"Vous nous posez souvent ces questions",objection:"OBJECTION",ourAnswer:"NOTRE RÃPONSE",ctaTitle:"Envie de comparer sur votre cas d'usage ?",ctaBody:"Testez la plateforme, ou parlez-en avec quelqu'un qui a déjà déployé ce type de projet.",ctaTry:"Essayer Socle AI â",ctaExpert:"Parler à un expert"},article:{backToNews:"â TOUTES LES ACTUALITÃS",label:"ARTICLE",minutes:"MIN",notFound:"404 // ARTICLE INTROUVABLE",notFoundCta:"â Voir les actualités",chapter:"CHAPITRE",lightboxClose:"Cliquez ou appuyez sur Ãchap pour fermer",dialogYou:"VOUS",dialogAi:"L'ÃLÃVE",ctaTitle:"Envie d'en discuter ?",ctaBody:"Vos retours sont les bienvenus, et si vous voulez voir à quoi ressemble une IA souveraine en pratique, la plateforme est ouverte.",ctaTry:"Essayer Socle AI â",ctaWrite:"Nous écrire",writtenBy:"ÃCRIT PAR"}},y0={header:{studio:"Studio",apiPlatform:"Plataforma API",now:"Novidades",contact:"Contato",experienceNow:"Experimente agora"},hero:{buildWith:"Construa com",effortless:"Simplicidade",powerful:"Potência",sovereign:"Soberania",description:"O harness de IA entre os seus modelos e os seus produtos: contexto, RAG, ferramentas, memória e orquestração de agentes, até a produção.",createNow:"Criar agora",requestDemo:"Solicitar demo",phrases:["Socle AI foi criado para construtores de IA","Quero um editor de transcrição para minha ferramenta","Quero um chatbot com RAG para pesquisar nos meus documentos"]},harness:{label:"O QUE à UM AI HARNESS?",title:"O modelo é apenas uma camada. O Socle cuida do resto.",description:"Um modelo gera uma resposta. Um harness transforma esse modelo em um sistema de IA utilizável: ele gerencia o contexto, as ferramentas, a memória, as permissões, os fluxos de trabalho e os agentes em torno do modelo.",stack:{application:{label:"Sua aplicação",sub:"Aplicação web, ferramenta de negócio, produto"},harness:{label:"SOCLE AI",sub:"Harness de IA soberano"},models:{label:"Modelos",sub:"Mistral · Qwen · Llama · Whisper · os seus"}
48,infrastructure:{label:"Infraestrutura",sub:"Nuvem europeia ou seus próprios servidores"}},capabilities:["Contexto","RAG","Memória","Ferramentas","MCP","Roteamento de agentes","Multi-agentes","A2A","Validação humana","Observabilidade"],comparison:{withoutLabel:"SEM HARNESS",withoutSteps:["Usuário","Modelo","Resposta"],withLabel:"COM O SOCLE",withSteps:["Usuário","Seu produto","Harness Socle","Modelos · ferramentas · dados","Resposta ou ação"]},detailsLabel:"O QUE O HARNESS CUIDA",details:[{title:"MCP",body:"Conecte seus agentes a ferramentas e fontes de dados externas por meio de um padrão aberto."},{title:"A2A",body:"Deixe agentes especializados colaborarem e delegarem tarefas dentro do seu ecossistema de IA."},{title:"Observabilidade",body:"Acompanhe as chamadas aos modelos, o uso das ferramentas, a busca documental e as interações entre agentes em cada etapa dos seus fluxos."},{title:"Validação humana",body:"Adicione uma etapa de validação sempre que uma ação de IA exigir controle humano."}],sovereigntyNote:"O Socle fornece essa camada mantendo seus dados e sua infraestrutura sob jurisdição europeia."},modelAgnostic:{punchline:"Os modelos mudam. A sua arquitetura de IA não deveria.",label:"INDEPENDÃNCIA DE MODELO",title:"Agnóstico de modelo, por concepção",description:"Use o modelo certo para cada tarefa sem acoplar o seu produto a um único fornecedor. Troque de modelo e mantenha os seus agentes, os seus dados e o seu produto.",categories:[{label:"Modelos de texto",sub:"Geração, resumo, extração"},{label:"Modelos de visão",sub:"Documentos, imagens, multimodal"},{label:"Modelos de fala",sub:"Transcrição, interfaces de voz"},{label:"Modelos de raciocÃnio",sub:"Análise, planejamento, tarefas complexas"}]},finalCta:{label:"COMEÃAR",title:"Construa a sua IA sobre um harness soberano.",description:"Mantenha o controle dos seus modelos, das suas ferramentas, dos seus dados e dos seus fluxos de agentes com o Socle.",primary:"Começar a construir",secondary:"Falar conosco"},socleIntro:{badge:"SaaS ⢠On-Premise",title:"Um harness de IA soberano para agentes em produção",description:"O Socle AI é a camada de software entre os seus modelos e os seus produtos. Crie e interaja com agentes, ecossistemas de agentes e fluxos de trabalho de IA, independentemente do modelo, com total transparência, seja em seus próprios servidores ou por meio de nossos provedores europeus de nuvem.",concepts:[{label:"Agentes",sub:"LLM, ASR, ML..."},{label:"Ecossistemas de Agentes",sub:"Multi-agentes orquestrados"},{label:"Fluxos de IA",sub:"Pipelines estruturados"}],mixNote:"Esses blocos de construção são totalmente combináveis: um fluxo pode chamar um ecossistema de agentes, que por sua vez orquestra agentes especializados."},quickStart:{title:"InÃcio Rápido",badge:"CompatÃvel com OpenAI SDK",subtitle:"O Socle expõe uma API compatÃvel com o OpenAI SDK. Basta alterar o <code>base_url</code> e seu código existente funciona como está, sem nenhuma afiliação com a OpenAI."},openaiEcosystem:{badge:"CompatÃvel com o Ecossistema Open-Source",title:"Conecte-se a todo o ecossistema",description:"O Socle implementa o mesmo protocolo da OpenAI. Isso significa que centenas de ferramentas, frameworks e integrações open-source criados para OpenAI funcionam com o Socle sem modificações. Troque o endpoint, mantenha sua stack.",toolsLabel:"Funciona com",tools:[{name:"LangChain",category:"Framework"},{name:"LlamaIndex",category:"RAG"},{name:"CrewAI",category:"Multi-Agente"},{name:"Open-WebUI",category:"Interface"},{name:"Continue.dev",category:"IDE"},{name:"Dify",category:"LLMOps"},{name:"n8n",category:"Automação"},{name:"Flowise",category:"IA Sem Código"},{name:"AnythingLLM",category:"RAG"},{name:"LibreChat",category:"Interface"},{name:"AutoGPT",category:"Agente"},{name:"Haystack",category:"Framework"}],andMore:"+ centenas mais",tip:"Use o nó OpenAI do n8n para falar com o Socle, não poderia ser mais simples."},effortless:{subtitle:"Simplicidade",title1:"Feito para equipes",title2:"de produto modernas",description:"O Socle AI é moldado pelas práticas e princÃpios que distinguem as melhores equipes de produto do mundo: foco incansável, execução rápida e compromisso com a qualidade.",makeTheSwitch:"Faça a mudança",features:{openaiCompatible:{title:"CompatÃvel com OpenAI",description:"Integre-se facilmente com a API e os modelos da OpenAI. ConstruÃdo para funcionar com as ferramentas que você já conhece.",modalContent:["O Socle AI é totalmente compatÃvel com a API da OpenAI, permitindo que você aproveite o poder dos modelos GPT, embeddings e outros serviços da OpenAI dentro da n
48ossa plataforma.","Seja para construir chatbots, geradores de conteúdo ou fluxos de trabalho de IA complexos, a compatibilidade com OpenAI garante que você possa usar os mesmos modelos e endpoints que já conhece.","Essa compatibilidade se estende à autenticação, limitação de taxa e formatos de resposta, tornando a migração do uso direto da OpenAI para o Socle AI sem esforço."]},designedToMoveFast:{title:"Tempo de Mercado",description:"Reduza a distância entre intuição e produção com uma infraestrutura nativamente rápida.",modalContent:["Em um ecossistema de IA que muda toda semana, a lentidão é seu maior risco financeiro e estratégico. Nossa infraestrutura, projetada para puro desempenho (50ms de tempo de resposta), não é apenas uma conquista técnica, é um motor de execução sem fricção.","Ao escolher o Socle AI, você elimina os custos ocultos de integrar componentes tecnológicos dÃspares e instáveis. Assumimos a complexidade de monitorar e atualizar continuamente a stack técnica. Enquanto o mercado muda seus padrões a cada três meses, sua solução permanece de ponta sem mobilizar recursos internos para manutenção corretiva.","Com nossas interfaces dinâmicas e arquitetura otimizada, você vai de Prova de Conceito (PoC) a produto final em tempo recorde. Você não está apenas comprando velocidade, está comprando a garantia de que sua tecnologia nunca será um freio ao seu crescimento."]},dynamicInterfaces:{title:"Expertise & Suporte",description:"Transforme a complexidade técnica em vantagem estratégica, apoiado por 7 anos de experiência prática em implantação de IA.",levers:["Excelência Operacional","Inovação de Produto"],yearsLabel:"ANOS",modalContent:["IA não é apenas código, é uma transformação sistêmica que impacta tanto seus processos quanto sua proposta de valor. Com 7 anos de experiência implantando soluções de inteligência artificial, desenvolvemos uma metodologia dupla capaz de abordar seus dois principais alavancas de crescimento.","IA para Excelência Operacional: Orquestramos a integração de IA no coração do seu negócio. Da estratégia de integração à gestão de mudanças, apoiamos suas equipes para quebrar resistências e transformar novos métodos de trabalho em ganhos concretos de produtividade.","IA para Inovação de Produto: Atuamos como uma extensão do seu Gerenciamento de Produto. Ajudamos a identificar oportunidades de IA de alto valor para seus próprios clientes, projetando recursos inteligentes que redefinem sua vantagem competitiva e abrem novos mercados.","Nosso papel é trazer a senioridade necessária para navegar nas zonas cinzentas, ética, segurança, confiabilidade, e garantir que a IA se torne um ativo estratég
48ico duradouro, dominado por suas equipes e abraçado por seus usuários."]}}},powerful:{subtitle:"Potência",title1:"IA Agêntica para",title2:"produção",description:"Potencialize suas aplicações com capacidades de IA de ponta. De modelos de linguagem ao reconhecimento de voz, tudo que você precisa para sistemas de IA prontos para produção.",features:{llmAsr:{title:"LLM & ASR",description:"Acesse modelos de linguagem e reconhecimento automático de fala de última geração. Da geração de texto à transcrição de voz, construa com as melhores capacidades de IA disponÃveis."},rag:{title:"RAG",description:"A Geração Aumentada por Recuperação combina o poder da busca com a geração de IA. Conecte sua base de conhecimento e obtenha respostas precisas e contextuais sempre."},a2aEcosystem:{title:"Ecossistema A2A",description:"Construa sistemas multi-agente poderosos onde agentes de IA se comunicam, colaboram e coordenam para resolver tarefas complexas. Crie ecossistemas de agentes inteligentes trabalhando juntos.",a2aDocumentation:"Documentação A2A"},socleFastmcp:{title:"Socle & FastMCP",description:"Protocolo de comunicação ultrarrápido projetado para sistemas de IA. O FastMCP permite interações eficientes e de baixa latência entre componentes e serviços de IA."}}},sovereign:{subtitle:"Soberania",title1:"Seus dados,",title2:"suas regras",description:"Assuma o controle total da sua infraestrutura de IA. Sem compromissos em segurança, privacidade ou conformidade. Implante onde quiser, como quiser.",noCloudAct:{title:"Sem Cloud Act",description:"Dados apenas em provedores de nuvem europeus"},noConflict:{title:"Sem conflito de interesse, por design",description:"Não treinamos modelos, não temos interesse em seus dados"},sustainability:{title:"Combine soberania e sustentabilidade",description:"Nossos servidores na França se beneficiam de uma matriz energética descarbonizada. Combinando desempenho e responsabilidade ambiental."},links:{discord:"Discord",discordSub:"Junte-se à comunidade",documentation:"Documentação",documentationSub:"Aprenda o básico",x:"X",xSub:"Siga-nos",linkedin:"LinkedIn",linkedinSub:"Conecte-se conosco"}},workflowSection:{title:"Construa seus fluxos de IA em uma frase.",subtitle:"Descreva seu projeto e deixe o Socle AI preparar seus agentes e fluxo de trabalho.",inputLabel:"// DESCREVA SEU PROJETO",generating:"Gerando fluxo...",ready:"Fluxo pronto"},sectors:{nav:"Setores",legal:{slug:"secteur-juridique",tagline:"Um Socle, múltiplos casos de uso",badge:"SETOR, JURÃDICO",title:"IA desenvolvida para a área jurÃdica",subtitle:"Ferramentas soberanas projetadas para profissionais do direito",intro:"No campo jurÃdico, cada troca tem valor probatório. Os dados processados são confidenciais por natureza, muitas vezes sensÃveis, sempre estratégicos. O Socle permite que equipes jurÃdicas aproveitem a IA sem jamais comprometer o sigilo profissional ou expor dados a legislações estrangeiras.",challenges:{title:"Desafios do setor",items:[{title:"Volume excessivo de documentos",body:"Contratos, processos, jurisprudência: as equipes jurÃdicas gerenciam volumes crescentes de documentos para analisar, resumir e qualificar."},{title:"Confidencialidade absoluta",body:"O sigilo profissional proÃbe qualquer vazamento de dados. O uso de LLMs hospedados nos EUA expõe os escritórios ao Cloud Act americano."},{title:"Transcrição de entrevistas",body:"Em investigações internas, entrevistas de controle ou audiências, a transcrição manual é lenta, custosa e sujeita a erros."}]},usecases:{title:"O que o Socle permite",items:[{title:"Editor de transcrição soberano",body:"Transcreva automaticamente suas gravações de áudio com um modelo ASR hospedado na França. Edite, corrija e exporte, sem que um único byte saia do seu perÃmetro jurÃdico."},{title:"RAG sobre sua base documental",body:"Consulte seus contratos, decisões judiciais e notas internas em linguagem natural. O mecanismo de recuperação aumentada encontra passagens relevantes e gera resumos argumentados."},{title:"Agente de análise de contratos",body:"Implante um agente de IA que detecta cláusulas de risco, compara versões de contratos e sinaliza anomalias, tudo dentro da sua infraestrutura."}]},advantages:{title:"Por que o Socle para o setor jurÃdico",items:[{label:"Sem Cloud Act",desc:"Hospedagem exclusiva na Scaleway (França). Seus dados estão sujeitos apenas à lei europeia."},{label:"Sem treinamento com seus dados",desc:"O Socle não tem interesse comercial em explorar seus dados. Eles nunca são usados para melhorar modelos de terceiros."},{label:"Implantação on-premise possÃvel",desc:"Para requisitos de segurança máxima, o Socle pode ser instalado na sua própria infraestrutura."}]},cta:"Discutir seu projeto jurÃdico",customerStory:{quote:"No contexto de entrevistas de controle interno ou investigações, as trocas gravadas têm valor jurÃdico significativo. O Socle nos permite transcrever e anotar essas trocas com total confidencialidade.",role:"Responsável de conformidade, escritório de advocacia"}},risk:{slug:"secteur-risk",tagline:"Um Socle, múltiplos casos de uso",badge:"SETOR, RISCO & COMPLIANCE",title:"IA cobre toda a sua cadeia de conformidade",subtitle:"KYC, AML, vigilância de mercado, relatórios regulatórios, sem expor seus dados financeiros",intro:"Os próprios reguladores já adotaram a IA para supervisionar mercados, detectar fraudes e automatizar suas obrigações de reporte. A questão não é mais se a IA deve entrar nos seus processos de Risco & Compliance, mas como fazê-lo sem depender de nuvens extra-europeias sujeitas ao Cloud Act americano.",challenges:{title:"Desafios do setor",items:[{title:"Toda uma cadeia de conformidade a cobrir",body:"KYC, AML/Sanções, vigilância de mercado, Ac
48ompanhamento Regulatório, RCSA, relatórios MiFID/SFDR, cada elo da cadeia gera volumes de dados que as equipes não conseguem mais processar manualmente."},{title:"Governança e soberania de dados",body:"Dados financeiros não podem transitar por infraestrutura sujeita ao Cloud Act. A dependência de LLMs hospedados nos EUA expõe as instituições a riscos regulatórios e legais significativos."},{title:"Human-in-the-loop como requisito",body:"Os reguladores exigem supervisão humana dos modelos de IA e rastreabilidade completa de cada decisão assistida por IA. A auditabilidade não é opcional."}]},usecases:{title:"O que o Socle permite",items:[{title:"KYC & AML: detecção automatizada de sinais fracos",body:"Um agente de IA analisa continuamente dados de clientes, cruza listas de sanções, detecta comportamentos suspeitos e gera relatórios SAR, tudo hospedado na França, sem vazamento de dados."},{title:"Vigilância de mercado e detecção de fraude",body:"Implante algoritmos de clustering e detecção de anomalias para identificar comportamentos suspeitos no mercado e reduzir falsos positivos para suas equipes de análise."},{title:"Automação de relatórios SFDR / MiFID / DORA",body:"Um agente coleta, estrutura e formata dados para suas obrigações regulatórias. Anexos SFDR, declarações de transações e relatórios internos são gerados automaticamente, com rastreabilidade completa das fontes."},{title:"Transcrição e análise de investigações internas",body:"Transcreva automaticamente gravações de áudio de entrevistas de controle ou investigações internas. O agente extrai informações relevantes, sinaliza elementos de risco e estrutura conclusões, sem jamais sair do seu perÃmetro seguro."}]},advantages:{title:"Por que o Socle para Risco & Compliance",items:[{label:"Soberania de dados garantida",desc:"Hospedagem exclusiva na Scaleway (França). Seus dados financeiros estão sujeitos apenas à lei europeia, sem exposição ao Cloud Act americano."},{label:"Auditabilidade total, human-in-the-loop",desc:"Cada chamada de IA é registrada. Suas equipes de compliance e reguladores podem auditar cada decisão assistida: quem, quando, com quais dados e com qual resultado."},{label:"Sem treinamento com seus dados",desc:"O Socle não tem interesse comercial nos seus dados. Eles nunca são usados para melhorar modelos de terceiros, em conformidade com o RGPD e requisitos regulatórios."}]},cta:"Discutir seu projeto de Risco & Compliance",customerStory:null},public:{slug:"secteur-public",tagline:"Um Socle, múltiplos casos de uso",badge:"SETOR, PÃBLICO",title:"IA soberana para o setor público",subtitle:"Soluções conformes para órgãos governamentais, autoridades locais e operadores públicos",intro:"Ãrgãos governamentais e autoridades locais gerenciam alguns dos dados mais sensÃveis existentes: dados pessoais dos cidadãos, documentos confidenciais, procedimentos internos. O Socle AI oferece uma resposta adaptada aos requisitos de soberania digital do Estado, com hospedagem exclusiva em solo nacional e conformidade nativa com frameworks regulatórios públicos.",challenges:{title:"Desafios do setor",items:[{title:"Soberania digital obrigatória",body:"Dados de cidadãos e públicos não podem ser hospedados ou processados por atores sujeitos a leis não europeias. A dependência de nuvens americanas é um risco regulatório e geopolÃtico."},{title:"Volumes crescentes de documentos",body:"Correspondência recebida, processos regulatórios, atas de reuniões, licitações públicas: as equipes do setor público são sobrecarregadas por volumes de documentos que as ferramentas tradicionais não conseguem mais gerenciar eficazmente."},{title:"Requisitos de rastreabilidade e auditabilidade",body:"Cada decisão assistida por IA no setor público deve ser explicável, rastreável e auditável. As obrigações de RGPD, DORA e transparência algorÃtmica se aplicam sem exceção."}]},usecases:{title:"O que o Socle permite",items:[{title:"Processamento inteligente de correspondência recebida",body:"Um agente de IA classifica, prioriza e pré-instrui automaticamente a correspondência recebida e as solicitações dos cidadãos. Os servidores públicos se concentram nos casos complexos e de alto valor."},{title:"RAG sobre textos legislativos e regulatórios",body:"Consulte a base documental da sua administração em linguagem natural: legislação, circulares, deliberações, licitações públicas. O agente recupera referências relevantes e gera resumos argumentados."},{title:"Transcrição soberana de reuniões e audiências",body:"Transcreva automaticamente suas reuniÃ
48µes, comitês e audiências com um modelo ASR hospedado na França. As atas são geradas instantaneamente, sem que dados saiam do seu perÃmetro."},{title:"Análise e elaboração de documentos administrativos",body:"O Socle auxilia redatores na produção de deliberações, ordens e relatórios. O agente sugere formulações consistentes com os padrões administrativos e detecta inconsistências jurÃdicas."}]},advantages:{title:"Por que o Socle para o setor público",items:[{label:"Hospedado no seu solo",desc:"Scaleway por padrão, mas o Socle pode ser implantado na Outscale, OVH ou qualquer outro host soberano, no seu paÃs, ou on-premise na sua própria infraestrutura."},{label:"Auditabilidade e rastreabilidade totais",desc:"Cada interação com IA é registrada e auditável. Conformidade nativa com obrigações de transparência algorÃtmica e RGPD."},{label:"Implantação on-premise possÃvel",desc:"Para operadores de infraestrutura crÃtica (OIV) ou agências com requisitos máximos, o Socle pode ser implantado inteiramente na sua própria infraestrutura."}]},cta:"Discutir seu projeto do setor público",customerStory:null},other:{slug:"autre-secteur",tagline:"Um Socle, múltiplos casos de uso",badge:"SETOR, SEU MERCADO",title:"Socle se adapta ao seu setor",subtitle:"Qualquer que seja o seu mercado, a soberania de dados nunca deve ser um obstáculo à adoção de IA",intro:"Saúde, manufatura, energia, seguros, mÃdia, RH, os casos de uso de IA são universais, mas as restrições de confidencialidade variam de setor para setor. O Socle AI foi projetado para se adaptar a qualquer contexto de negócio: modelos configuráveis, integração com suas ferramentas existentes, hospedagem soberana na França.",challenges:{title:"Desafios comuns a todos os setores",items:[{title:"Confidencialidade de dados",body:"Dados de pacientes, segredos comerciais, informações estratégicas: cada setor tem seus próprios requisitos de proteção. O Socle garante que seus dados nunca saiam do seu perÃmetro."},{title:"Adoção sem dependência",body:"Adotar IA não deve criar dependência de um fornecedor americano. O Socle se baseia em modelos open-source soberanos e infraestrutura que você controla."},{title:"ROI mensurável",body:"Automatizar tarefas repetitivas, transcrição, análise de documentos, resumo, relatórios, libera tempo de alto valor em qualquer organização."}]},usecases:{title:"Casos de uso universais, restrições especÃficas",items:[{title:"Análise e resumo de documentos",body:"Qualquer que seja o seu setor, o Socle pode analisar, classificar e resumir seus documentos internos: relatórios, contratos, notas, e-mails, atas de reuniões."},{title:"Agentes de IA personalizados",body:"Implante agentes de IA configurados para seus processos de negócio especÃficos, validação, escalonamento, extração de informações, geração de relatórios."},{title:"Transcrição e análise de áudio",body:"Reuniões, entrevistas, chamadas de clientes, sessões de treinamento: a transcrição automática soberana se aplica a todos os contextos."},{title:"RAG sobre sua base de conhecimento",body:"Conecte o Socle à sua documentação interna para que suas equipes consultem a base de conhecimento em linguagem natural."}]},advantages:{title:"Por que o Socle, independentemente do seu setor",items:[{label:"Soberania garantida",desc:"Hospedado na França, na Scaleway. Seus dados permanecem sob a lei europeia, qualquer que seja o seu setor."},{label:"Modelos open-source",desc:"Sem dependência de OpenAI ou Google. O Socle se baseia nos melhores modelos open-source, configuráveis para suas necessidades."},{label:"Integração com seu TI",desc:"API REST, conectores nativos, implantação on-premise possÃvel. O Socle se integra à sua arquitetura existente sem interrupções."}]},cta:"Conte-nos sobre o seu setor",customerStory:null}},stats:{label:"SOCLE EM NÃMEROS",items:[{value:"7",unit:"anos",label:"Expertise em IA",sub:"Em produção"},{value:"96%",unit:"",label:"Energia Descarbonizada",sub:"Datacenter de baixo carbono"},{value:"100%",unit:"",label:"Dados na França",sub:"Hospedagem soberana"},{value:"12+",unit:"",label:"Modelos CompatÃveis",sub:"LLM, ASR, Embedding"},{value:"0",unit:"",label:"Dados Compartilhados",sub:"Sem treinamento de terceiros"}]},press:{badge:"ELES FALAM DE NÃS",title:"Reconhecido pelo ecossistema",testimonialLabel:"DEPOIMENTO DE CLIENTE",testimonialQuote:"No contexto de entrevistas de controle interno ou investigações, as trocas gravadas têm peso jurÃdico significativo. O Socle nos permite transcrever e anotar essas trocas com total confidencialidade.",testimonialRole:"Responsável de Conformidade, escritório de advocacia",items:[{source:"Hub France IA",headline:"Socle AI agora no mapeamento de referência de IA francesa",date:"Fevereiro de 2026",tag:"Reconhecimento"},{source:"NVIDIA Inception",headline:"NVIDIA seleciona Socle AI para seu programa global de aceleração",date:"Março de 2026",tag:"Parceria"},{source:"AI Pulse â Scaleway",headline:"IA agêntica soberana: a aposta europeia do Socle AI",date:"Outubro de 2025",tag:"Evento"}]},footer:{tagline:"Não comprometa soberania por desempenho",product:"Produto",company:"Empresa",connect:"Conectar",resource:"Recursos",links:{studio:"Studio",platform:"Plataforma",documentation:"Documentação",usecase:"Caso de uso",usecases:"Casos de uso",contactUs:"Fale conosco",community:"Comunidade",x:"X",youtube:"Youtube",linkedin:"Linkedin",terms:"Termos",privacy:"Privacidade",about:"Sobre nós"},copyright:"© {year} Socle AI. Todos os direitos reservados."},about:{badge:"EQUIPE FUNDADORA",title:"Sobre nós",subtitle:"As pessoas por trás do Socle AI",team
48:[{name:"Benjamin De Almeida",role:"CEO & Co-Fundador",photo:"/images/benjamin-de-almeida.png",quote:"Não precisamos comprometer eficiência por soberania",sections:[{title:"Uma trajetória enraizada em IA explicável e cultura de produto",body:"Benjamin De Almeida construiu sua expertise na interseção entre engenharia de software e estratégia de produto. Formado pela Epitech, passou quase sete anos na Golem.ai, onde atuou como Chief Product Officer. Durante esses anos, especializou-se em IA simbólica, uma abordagem que prioriza a compreensão das decisões algorÃtmicas em detrimento da opacidade dos modelos estatÃsticos clássicos. Esse caminho lhe deu uma compreensão concreta do que as organizações realmente precisam: ferramentas confiáveis e auditáveis que se integram diretamente em processos de negócio exigentes."},{title:"Soberania como alavanca de desempenho",body:"Em julho de 2025, fundou o Socle AI com a ambição de acompanhar uma mudança de paradigma na estratégia de inteligência artificial da Europa. Para Benjamin, a soberania digital não deve ser vivida como uma restrição ou recuo, mas como uma garantia de competitividade. Ele defende que não há trade-off a fazer entre independência tecnológica e eficiência operacional."},{title:"Expertise a serviço da confiança e da sustentabilidade",body:'Para Benjamin De Almeida, o desafio é transformar conformidade e ética em vantagens competitivas tangÃveis. Sua abordagem se baseia na criação de fundações tecnológicas, um "socle", que dão à s empresas controle total sobre seus dados sem sacrificar o poder de processamento. Por meio de seu trabalho, ele compartilha uma visão pragmática em que a inovação soberana se torna o motor de uma economia digital sustentável, capaz de competir com padrões globais mantendo-se fiel aos valores europeus de transparência e segurança.'}],tags:["Epitech","Golem.ai â CPO","IA Simbólica","Estratégia de Produto","Soberania Digital"]}]},privacy:{badge:"SEGURANÃA & PRIVACIDADE",title:"Privacidade & Segurança de Dados",subtitle:"Sua infraestrutura, seus dados, sua soberania.",intro:"No Socle AI, privacidade não é uma opção, é uma arquitetura. Da hospedagem de servidores aos modelos de IA, cada camada da nossa stack foi projetada para garantir que seus dados permaneçam sob a lei europeia, protegidos de legislações extraterritoriais.",sections:[{id:"hosting",label:"HOSPEDAGEM SOBERANA",title:"Hospedado exclusivamente na Europa com a Scaleway",body:"Toda a infraestrutura do Socle AI, servidores de aplicação, bancos de dados e modelos de IA, é hospedada na Scaleway, um provedor de nuvem europeu 100% independente, membro da CISPE e parceiro da iniciativa Gaia-X.",highlight:"Seus dados nunca saem do território europeu. A Scaleway não está sujeita a nenhuma lei extraterritorial como o Cloud Act americano ou o PIPL da China, apenas à lei da União Europeia.",certs:["ISO/IEC 27001:2022","HDS","RGPD","SWIPO","Tier 3 Uptime Institute"]},{id:"gdpr",label:"CONFORMIDADE REGULATÃRIA",title:"RGPD & lei europeia apenas",body:"O Socle AI está totalmente sujeito ao Regulamento Geral sobre a Proteção de Dados (RGPD). Assinamos um Acordo de Processamento de Dados (DPA) em conformidade com o Artigo 28 do RGPD com cada cliente.",highlight:"Ao contrário dos hiperscalers americanos (AWS, Azure, GCP), nossa infraestrutura não está exposta ao CLOUD Act. Nenhuma autoridade estrangeira pode exigir acesso aos seus dados sem uma decisão de um tribunal europeu.",items:["Dados processados e armazenados na França e na UE","Subprocessadores exclusivamente europeus","Direito de acesso, retificação e exclusão garantidos","Notificação de violação em 72 horas em conformidade com o RGPD"]},{id:"models",label:"MODELOS DE IA",title:"Todos os modelos hospedados na Scaleway",body:"Os modelos de IA que você usa via Socle AI, inferência LLM, transcrição ASR, embeddings, são completamente implantados na infraestrutura da Scaleway na Europa. Nenhuma chamada é feita a APIs de terceiros externos sem o seu consentimento explÃcito.",highlight:"Você se beneficia do poder de modelos de última geração (open-source e proprietários) sem depender da OpenAI, Anthropic ou Google, e, portanto, sem expor seus prompts e dados à s suas polÃticas de treinamento.",items:["LLMs hospedados nos clusters GPU H100 da Scaleway","Inferência soberana: suas consultas nunca servem para treinar modelos de terceiros","Compatibilidade
48com API OpenAI mantida sem dependência da OpenAI","SLA de desempenho garantido com latência < 50ms"]},{id:"green",label:"INFRAESTRUTURA DE BAIXO CARBONO",title:"Entre os datacenters mais sustentáveis da Europa",body:"A Scaleway alimenta todos os seus datacenters com 100% de energia renovável (eólica e hÃdrica, com Garantias de Origem). Seu datacenter PAR-DC5, onde nossos clusters GPU estão hospedados, alcança um PUE de 1,25, entre os melhores do setor.",highlight:"Ao escolher o Socle AI, você também reduz a pegada de carbono do seu uso de IA. A Scaleway recebeu a Medalha de Ouro EcoVadis 2024, colocando a empresa no top 5% dos players mais sustentáveis do seu setor.",stats:[{value:"1,25",label:"PUE do datacenter de IA",sub:"vs 1,55 média do setor"},{value:"100%",label:"Energia renovável",sub:"Garantias de Origem certificadas"},{value:"0,00002",label:"WUE DC4 Paris",sub:"Zero água potável desperdiçada"},{value:"15.000",label:"Servidores recondicionados",sub:"Programa Transformers 2024"}]},{id:"onpremise",label:"AUTONOMIA MÃXIMA",title:"Implantação On-Premise & Nuvem Privada",body:"Para organizações com requisitos máximos de soberania, defesa, saúde, finanças ou indústria crÃtica, o Socle AI pode ser completamente implantado no seu próprio ambiente: on-premise em seus servidores, ou em sua nuvem privada dedicada.",highlight:"O Socle AI on-premise garante autonomia completa: sem dependência de rede externa, sem dados saindo do seu perÃmetro, e você mantém controle total sobre atualizações e governança de modelos.",items:["Instalação em servidores fÃsicos ou infraestrutura virtualizada existente","Suporte para ambientes air-gapped (desconectados da Internet)","Modelos de IA empacotados e distribuÃveis em modo offline","Suporte de nossas equipes para integração no seu sistema de informação"],cta:{label:"Discutir uma implantação on-premise",href:"#contact"}}]},cgu:{title:"Termos de Uso",subtitle:"Socle AI",lastUpdated:"6 de julho de 2026",intro:'Estes Termos de Uso (doravante os "Termos") definem as condições de acesso e uso da plataforma e dos Serviços publicados pela SOCLE AI (doravante o "Provedor"). Eles constituem um acordo juridicamente vinculativo entre o Provedor e qualquer pessoa que acesse os Serviços. Convidamos você a lê-los atentamente.',sections:[{title:"1. Informações Legais",content:["Editora: A plataforma e os Serviços são publicados pela SOCLE AI, sociedade por ações simplificada (SAS), registrada no Registro do Comércio e das Sociedades de Paris sob o número SIREN 987 961 810 (SIRET da sede 987 961 810 00015), com sede social localizada em 60 rue François Ier, 75008 Paris (França).","Número de IVA intracomunitário: FR02 987 961 810. Código APE/NAF: 62.01Z (programação informática).","Diretor de Publicação: Benjamin De Almeida, na qualidade de Presidente.","Contato: [email protected].","Hospedagem: Os Serviços são hospedados pela Scaleway SAS, registrada no Registro do Comércio e das Sociedades de Paris sob o número 433 115 904, com sede social localizada em 8 rue de la Ville l'Ãvêque, 75008 Paris (França)."]},{title:"2. Definições",content:["Nestes Termos, os seguintes termos, quando grafados com maiúscula, têm o seguinte significado:",'â "Termos": os presentes Termos de Uso.','â "Provedor" ou "Socle AI": a sociedade SOCLE AI, editora da plataforma.','â "Cliente": qualquer pessoa fÃsica ou jurÃdica que tenha assinado os Serviços.','â "Usuário": qualquer pessoa que acesse a plataforma sob a responsabilidade do Cliente.','â "Serviços": o conjunto de funcionalidades disponibilizadas pela Socle AI, em particular as ferramentas de orquestração de modelos de inteligência artificial e as interfaces associadas.','â "Inputs": os dados, conteúdos e instruções fornecidos pelo Cliente ou pelo Usuário aos Serviços.','â "Outputs": os conteúdos gerados pelos Serviços em resposta aos Inputs.']},{title:"3. Objeto e Ãmbito de Aplicação",content:["Os presentes Termos têm por objeto definir as condições sob as quais o Provedor disponibiliza os Serviços, bem como as modalidades de utilização da plataforma pelo Cliente e pelos Usuários.","A Socle AI fornece uma infraestrutura dedicada à inteligência artificial que compreende ferramentas de orquestração de modelos de linguagem (LLM), interfaces de teste e serviços associados.","As prestações de acompanhamento, consultoria ou desenvolvimento sob medida são objeto de contratos distintos e não são regidas pelos presentes Termos."]},{title:"4. Aceitação dos Termos",content:["O acesso e a utilização dos Serviços pressupõem a aceitação plena e integral dos presentes Termos. Ao criar uma conta ou utilizar a plataforma, o Cliente e o Usuário reconhecem tê-los lido e aceitado.","Na falta de aceitação, o Usuário deve renunciar ao acesso aos Serviços."]},{title:"5. Acesso aos Serviços e Conta",content:["O acesso aos Serviços requer a criação de uma conta. O Cliente garante a exatidão das informações fornecidas no momento do seu registro e compromete-se a mantê-las atualizadas.","As credenciais de acesso são pessoais e confidenciais. O Cliente é responsável pela sua conservação e por qualquer atividade realizada a partir da sua conta.","O Cliente informa sem demora o Provedor de qualquer uso não autorizado da sua conta ou de qualquer falha de segurança de que tenha conhecimento."]},{title:"6. Usos Proibidos",content:["O Usuário compromete-se a não utilizar os Serviços para:","â A criação ou distribuição de conteúdo odioso, discriminatório, assediante ou violento;
48","â Qualquer tentativa de manipular a opinião pública ou de desinformação organizada;","â O desenvolvimento de ferramentas de vigilância em massa ou de violação da privacidade;","â O contorno dos mecanismos de segurança dos modelos de inteligência artificial (jailbreaking);","â Qualquer atividade ilÃcita ou contrária à s leis e regulamentos em vigor.","O descumprimento destes compromissos pode acarretar a suspensão ou o encerramento imediato do acesso aos Serviços, sem prejuÃzo de qualquer outro recurso."]},{title:"7. Compromisso Ãtico e Comitê de Ãtica",content:["A Socle AI dispõe de um Comitê de Ãtica interno independente encarregado de zelar pela conformidade dos projetos com os padrões de segurança, equidade e integridade da informação.","O Provedor reserva o direito de suspender ou encerrar o acesso aos Serviços se o uso da plataforma for considerado por este Comitê contrário ao interesse público, aos direitos fundamentais ou à sua carta ética interna. Na medida do possÃvel, uma informação prévia é enviada ao Cliente."]},{title:"8. Evolução e Disponibilidade da Plataforma",content:["O Provedor assegura a evolução e a atualização da plataforma. Pode modificar, substituir ou evoluir os modelos e componentes técnicos a qualquer momento a fim de garantir o desempenho, a segurança e a conformidade dos Serviços.","O Provedor emprega os meios razoáveis para assegurar a disponibilidade dos Serviços. Interrupções temporárias podem, no entanto, ocorrer, em particular para operações de manutenção, sem dar lugar a qualquer indenização.","Modelos adicionados pelo Cliente: O Cliente tem a possibilidade de integrar e utilizar seus próprios modelos de inteligência artificial na plataforma. Nesse caso, o Cliente é o único responsável pela escolha desses modelos, pela sua licitude, segurança e conformidade com a regulamentação aplicável. As garantias de soberania oferecidas pela Socle AI aplicam-se apenas aos modelos fornecidos pelo Provedor: se os modelos adicionados pelo Cliente não apresentarem caráter soberano (em particular quanto à hospedagem, à localização dos dados ou ao direito aplicável), o Cliente assume sozinho a responsabilidade e as consequências."]},{title:"9. Dados do Cliente, Inputs e Outputs",content:["Propriedade: O Cliente permanece o único proprietário dos seus Inputs. O Provedor compromete-se a não utilizar esses dados para treinar modelos acessÃveis a terceiros sem o consentimento expresso do Cliente.","Outputs: O Cliente é responsável pelo uso que faz dos Outputs. Cabe-lhe verificar a exatidão, a pertinência e a conformidade legal dos Outputs antes de qualquer utilização.","O Cliente garante dispor dos direitos necessários sobre os Inputs que transmite aos Serviços."]},{title:"10. Dados Pessoais",content:["No âmbito da prestação dos Serviços, a Socle AI trata dados pessoais no respeito pelo Regulamento (UE) 2016/679 (RGPD) e pela lei francesa n.º 78-17 de 6 de janeiro de 1978 alterada (Informática e Liberdades).","Quando o Provedor trata dados pessoais por conta do Cliente, age na qualidade de subcontratante na aceção do artigo 28.º do RGPD, nas condições definidas por um acordo de tratamento de dados (DPA).","Os titulares dos dados dispõem de direitos de acesso, retificação, apagamento e oposição, que podem exercer através do endereço [email protected]. As modalidades de tratamento são detalhadas na PolÃtica de Privacidade."]},{title:"11. Confidencialidade e Segurança",content:["O Provedor implementa medidas técnicas e organizacionais apropriadas para proteger os dados e as infraestruturas contra qualquer acesso não autorizado, perda ou alteração.","O Provedor compromete-se a notificar o Cliente, o mais rápido possÃvel, de qualquer violação de dados suscetÃvel de afetar os seus dados, em conformidade com a regulamentação aplicável."]},{title:"12. Propriedade Intelectual",content:["O conjunto dos elementos que compõem a plataforma (arquitetura, código-fonte, algoritmos, marcas, interfaces e documentação) permanece propriedade exclusiva do Provedor.","O acesso aos Serviços confere ao Cliente um direito de utilização pessoal, não exclusivo e intransmissÃvel, limitado à duração da sua assinatura e à s finalidades previstas nos presentes Termos. Nenhuma outra licença ou cessão de direitos é concedida."]},{title:"13. Responsabilidade e Garantias",content:["O Provedor está sujeito a uma obrigação de meios. Não pode garantir que os Serviços estarão isentos de interrupção ou erro, nem que os Outputs serão adequados a um uso especÃfico.","O Provedor não pode ser responsabilizado por danos indiretos, em particular perdas de dados, de faturamento, de lucros ou de exploração, resultantes da utilização ou da impossibilidade de utilizar os Serviços.","Em qualquer caso, a responsabilidade do Provedor, por todos os prejuÃzos combinados, é limitada ao montante das quantias efetivamente pagas pelo Cliente a tÃtulo dos doze (12) meses anteriores ao facto gerador do dano."]},{title:"14. Força Maior",content:["A responsabilidade do Provedor não pode ser invocada em caso de inexecução resultante de um caso de força maior na aceção do artigo 1218.º do Código Civil francês e da jurisprudência dos tribunais franceses."]},{title:"15. Duração, Suspensão e Rescisão",content:["Os presentes Termos aplicam-se durante todo o perÃodo de utilização dos Serviços.","O Provedor pode suspender ou rescindir o acesso aos Serviços em caso de incumprimento das obrigações do Cliente, em particular em caso de uso proibido ou de falta de pagamento, após notificação que tenha permanecido sem efeito quando a natureza do incumprimento o permita.","Em caso de cessação da relação, o Cliente pode solicitar a restituição ou a supressão dos seus Inputs nas condições previstas no contrato aplicável e na regulamentação em vigor."]},{title:"16. Alteração dos Termos",content:["O Provedor reserva o direito de modificar os presentes Termos a fim de refletir as evoluções técnicas, legais ou regulamentares. O Cliente é informado de qualquer modificação substancial. A continuação da utilização dos Serviços após a sua entrada em vigor vale como aceitação dos Termos modificados."]},{title:"17. Reclamações e Contato",content:["Qualquer reclamação relativa aos Serviços pode ser dirigida ao Provedor através do endereço [email protected]. As partes esforçar-se-ão por resolver amigavelmente qualquer litÃgio antes de qualquer ação contenciosa."]},{title:"18. Disposições Diversas",content:["Nulidade parcial: Se uma disposição dos presentes Termos for declarada nula ou inaplicável, as demais disposições conservarão o seu pleno efeito.","Integralidade: Os presentes Termos, complementados quando aplicável pelos contratos e polÃticas aos quais remetem, exprimem a integralidade do acordo entre as partes relativo ao uso dos Serviços.","Cessão: O Cliente não pode ceder ou transferir os seus direitos e obrigações ao abrigo dos presentes sem o consentimento prévio e escrito do Provedor."]},{title:"19. Lei Aplicável e Jurisdição",content:["Os presentes Termos são regidos pela lei francesa. Na falta de resolução amigável, qualquer litÃgio relativo à sua validade, interpretação ou execução é submetido à jurisdição exclusiva dos tribunais da comarca da sede social do Provedor, sob reserva das disposições legais imperativas."]}]},nowPage:{title:"Novidades",subtitle:"Ãltimas atualizações e changelog do Socle AI",categories:{all:"Tudo",usecases:"Usecases",product:"Produto",news:"NotÃcias",battlecards:"Comparativos",articles:"Artigos"},noUpdates:"Nenhuma atualização encontrada nesta categoria.",customerStory:"Caso de Cliente",customerStorySubtitle:"Descubra como nossos clientes estão construindo com o Socle AI",readMore:"Ler mais",comingSoon:"Em breve",comingSoonDescription:"Mais casos de clientes em breve. Entre em contato se quiser compartilhar sua experiência.",updates:{cvExtraction:{title:"Usecase em 10 minutos: Extrair informações de CVs com o SocleAI",description:"Como automatizar a extração de informações de CVs em poucos minutos? à possÃvel com o Socle AI!"},nvidiaInception:{title:"Socle AI entra no Programa NVIDIA Inception ð",description:"Acelerando a IA com os melhores. Desde o lançamento do Socle AI, nossa missão foi clara: permitir que nossos usuários combinem autonomia e desempenho. Hoje, damos um passo decisivo ao entrar no Programa NVIDIA Inception! Conectando diretamente com engenheiros da NVIDIA e acessando seus recursos para explorar novas oportunidades de melhorar nossos serviços. O melhor ainda está por vir, fique ligado!"},hubFranceIA:{title:"Socle AI listado no Cartografia de IA Francesa ð¡ï¸",description:"Temos o orgulho de anunciar que o Socle AI agora está presente no cartografia de referência do Hub France IA! Esse reconhecimento destaca nosso compromisso diário: provar que a IA de alto desempenho pode, e deve, ser soberana. Três pilares inseparáveis: Soberania, controle total dos seus dados; Desempenho, integração simplificada e excelência técnica; Experiência, ferramentas intuitivas e suporte personalizado."},epitechSummit:{title:"Estamos no Epitech Summit!",description:"Foi um prazer apresentar o Socle AI no Epitech Summit"},dynamicAgentInterface:{title:"Interface de Agente Dinâmica",description:"A interface do agente de teste muda dinamicamente se você escolher LLM ou ASR."},distantMcp:{title:"MCP Remoto agora ao vivo",description:"Com o FastMcp, agora você pode conectar seu agente à s suas ferramentas facilmente"},asrAgent:{title:"Seu agente chama um ASR quando não consegue analisar áudio",description:"Assim como na análise de imagens, seu agente agora pode chamar um agente ASR quando você lhe envia um áudio"},aiPulse:{title:"Estamos no Ai Pulse",description:"Organizado pela Scaleway, Benjamin De Almeida, nosso CEO, falou sobre IA agêntica"}},customerStories:{legal:{title:"Usando um editor de transcrição no domÃnio jurÃdico",description:"No contexto de entrevistas de controle interno ou investigações, as trocas gravadas têm importante valor jurÃdico."}}}
48,contactPage:{title:"Como podemos ajudar?",subtitle:"Precisa de ajuda para o seu projeto? Entre em contato com nossa equipe. Temos longa experiência em tornar projetos de IA valiosos em produção.",sales:{title:"Tenho um projeto de IA",description:"Nossa equipe vai ajudá-lo a encontrar a melhor solução para suas necessidades.",cta:"Falar com vendas"},support:{title:"Ajuda & suporte",description:"Acesse documentação, comunidade Discord e FAQ.",docsCta:"Documentação",discordCta:"Comunidade Discord"},community:{title:"Junte-se à comunidade",description:"Entre no nosso servidor Discord para conversar com a comunidade e a equipe.",cta:"Entrar no Discord"},social:{title:"Siga-nos",x:"Seguir no X",linkedin:"Seguir no LinkedIn"}},meta:{homeTitle:"Socle AI, o harness de IA soberano para agentes em produção",homeDescription:"O harness de IA soberano entre os seus modelos e os seus produtos: contexto, RAG, ferramentas, MCP, A2A, orquestração de agentes e observabilidade. Hospedado na França."},battleCard:{backToNews:"â TODAS AS NOVIDADES",hudLabel:"COMPARATIVO",updatedPrefix:"ATUALIZADO",metaTitleSuffix:"Comparativo",notFound:"404 // COMPARATIVO NÃO ENCONTRADO",notFoundCta:"â Ver as novidades",alternativeLabel:"A ALTERNATIVA",complementaryLabel:"O ATOR COMPLEMENTAR",ourApproach:"NOSSA ABORDAGEM",goodToKnow:"BOM SABER",tableLabel:"EM UM RELANCE",tableTitle:"O comparativo linha a linha",criterion:"CRITÃRIO",stackLabel:"STACK TÃCNICA",stackTitle:"O que é preciso montar, de cada lado",scopeLabel:"O ESCOPO DELES",limitsLabel:"OS LIMITES DELES",limitsTitlePrefix:"Os limites de",complementarityLabel:"COMPLEMENTARIDADE",strengthsLabel:"NOSSAS FORÃAS",strengthsTitle:"O que a Socle AI acrescenta",questionsLabel:"PARA QUESTIONAR",questionsTitle:"Perguntas-chave que você precisa se fazer!",faqLabel:"FAQ",faqTitle:"As perguntas que mais recebemos",objection:"OBJEÃÃO",ourAnswer:"NOSSA RESPOSTA",ctaTitle:"Quer comparar no seu caso de uso?",ctaBody:"Teste a plataforma ou converse com alguém que já implantou esse tipo de projeto.",ctaTry:"Experimentar a Socle AI â",ctaExpert:"Falar com um especialista"},article:{backToNews:"â TODAS AS NOVIDADES",label:"ARTIGO",minutes:"MIN",notFound:"404 // ARTIGO NÃO ENCONTRADO",notFoundCta:"â Ver as novidades",chapter:"CAPÃTULO",lightboxClose:"Clique ou pressione Esc para fechar",dialogYou:"VOCÃ",dialogAi:"O ALUNO",ctaTitle:"Quer conversar sobre isso?",ctaBody:"O seu retorno é bem-vindo e, se quiser ver como é uma IA soberana na prática, a plataforma está aberta.",ctaTry:"Experimentar a Socle AI â",ctaWrite:"Fale conosco",writtenBy:"ESCRITO POR"}},A0={header:{studio:"Studio",apiPlatform:"API-Plattform",now:"Aktuelles",contact:"Kontakt",experienceNow:"Jetzt testen"},hero:{buildWith:"Entwickeln Sie mit",effortless:"Einfach",powerful:"Leistungsstark",sovereign:"Souverän",description:"Der KI-Harness zwischen Ihren Modellen und Ihren Produkten: Kontext, RAG, Tools, Memory und Agenten-Orchestrierung, bis in den Produktivbetrieb.",createNow:"Jetzt loslegen",requestDemo:"Demo anfragen",phrases:["Socle AI ist für KI-Entwickler gemacht","Ich möchte einen Transkriptions-Editor für mein Tool","Ich möchte einen Chatbot mit RAG, der meine Dokumente durchsucht"]},harness:{label:"WAS IST EIN AI HARNESS?",title:"Das Modell ist nur eine Schicht. Socle kümmert sich um den Rest.",description:"Ein Modell liefert eine Antwort. Ein Harness macht aus diesem Modell ein nutzbares KI-System: Es verwaltet den Kontext, die Tools, das Memory, die Berechtigungen, die Workflows und die Agenten rund um das Modell.",stack:{application:{label:"Ihre Anwendung",sub:"Web-App, Fachanwendung, Produkt"},harness:{label:"SOCLE AI",sub:"Souveräner KI-Harness"},models:{label:"Modelle",sub:"Mistral · Qwen · Llama · Whisper · Ihre eigenen"},infrastructure:{label:"Infrastruktur",sub:"Europäische Cloud oder Ihre eigenen Server"}},capabilities:["Kontext","RAG","Memory","Tools","MCP","Agenten-Routing","Multi-Agenten","A2A","Human-in-the-loop","Observability"],comparison:{withoutLabel:"OHNE HARNESS",withoutSteps:["Nutzer","Modell","Antwort"],withLabel:"MIT SOCLE",withSteps:["Nutzer","Ihr Produkt","Socle Harness","Modelle · Tools · Daten","Antwort oder Aktion"]},detailsLabel:"WAS DER HARNESS ÃBERNIMMT",details:[{title:"MCP",body:"Verbinden Sie Ihre Agenten über einen offenen Standard mit externen Tools und Datenquellen."},{title:"A2A",body:"Lassen Sie spezialisierte Agenten zusammenarbeiten und Aufgaben in Ihrem KI-Ãkosystem delegieren."},{title:"Observability",body:"Verfolgen Sie Modellaufrufe, Tool-Nutzung, Dokumentensuche und Interaktionen zwischen Agenten in jedem Schritt Ihrer Workflows."},{title:"Human-in-the-loop",body:"Fügen Sie einen Freigabeschritt ein, sobald eine KI-Aktion menschliche Kontrolle erfordert."}],sovereigntyNote:"Socle liefert diese Schicht und hält Ihre Daten und Ihre Infrastruktur zugleich unter europäischer Jurisdiktion."},modelAgnostic:{punchline:"Modelle ändern sich. Ihre KI-Architektur sollte es nicht.",label:"MODELLUNABHÃNGIGKEIT",title:"Modellunabhängig by design",description:"Nutzen Sie für jede Aufgabe das passende Modell, ohne Ihr Produkt an einen einzigen Anbieter zu binden. Wechseln Sie das Modell und behalten Sie Ihre Agenten, Ihre Daten und Ihr Produkt.",categories:[{label:"Textmodelle",sub:"Generierung, Zusammenfassung, Extraktion"},{label:"Vision-Modelle",sub:"Dokumente, Bilder, multimodal"},{label:"Sprachmodelle (ASR)",sub:"Transkription, Sprachschnittstellen"},{label:"Reasoning-Modelle",sub:"Analyse, Planung, komplexe Aufgaben"}]},finalCta:{label:"LOSLEGEN",title:"Bauen Sie Ihre KI auf einem souveränen Harness.",description:"Behalten Sie mit Socle die Kontrolle über Ihre Modelle, Ihre Tools, Ihre Daten und Ihre Agenten-Workflows.",primary:"Jetzt bauen",secondary:"Mit uns sprechen"},socleIntro:{badge:"SaaS ⢠On-Premise",title:"Ein souveräner KI-Harness für Agenten im Produktivbetrieb",description:"Socle AI ist die Softwareschicht zwischen Ihren Modellen und Ihren Produkten. Erstellen Sie Agenten, Agenten-Ãkosysteme und KI-Workflows und interagieren Sie mit ihnen â modellunabhängig und vollständig transparent, auf Ihren eigenen Servern oder bei unseren europäischen Cloud-Providern.",concepts:[{label:"Agenten",sub:"LLM, ASR, ML â¦"},{label:"Agenten-Ãkosysteme",sub:"Orchestrierte Multi-Agenten"},{label:"KI-Workflows",sub:"Strukturierte Pipelines"}],mixNote:"Diese Bausteine lassen sich beliebig kombinieren: Ein Workflow kann ein Agenten-Ãkosystem aufrufen, das seinerseits spezialisierte Agenten orchestriert."},quickStart:{title:"Schnellstart",badge:"Kompatibel mit dem OpenAI SDK",subtitle:"Socle stellt eine zum OpenAI SDK kompatible API bereit. Ãndern Sie nur die <code>base_url</code> â Ihr bestehender Code funktioniert unverändert weiter, ganz ohne Partnerschaft mit OpenAI."},openaiEcosystem:{badge:"Kompatibel mit dem Open-Source-Ãkosystem",title:"Anschluss an das gesamte Ãkosystem",description:"Socle implementiert dasselbe Protokoll wie OpenAI. Das Ergebnis: Die Hunderte von Open-Source-Tools, Frameworks und Integrationen, die für OpenAI entwickelt wurden, funktionieren ohne jede Anpassung mit Socle. Endpunkt ändern, Stack behalten.",toolsLabel:"Funktioniert mit",tools:[{name:"LangChain",category:"Framework"},{name:"LlamaIndex",category:"RAG"},{name:"CrewAI",category:"Multi-Agent"},{name:"Open-WebUI",category:"Oberfläche"},{name:"Continue.dev",category:"IDE"},{name:"Dify",category:"LLMOps"},{name:"n8n",category:"Automatisierung"},{name:"Flowise",category:"No-Code AI"},{name:"AnythingLLM",category:"RAG"},{name:"LibreChat",category:"Oberfläche"},{name:"AutoGPT",category:"Agent"},{name:"Haystack",category:"Framework"}
48],andMore:"+ Hunderte weitere",tip:"Nutzen Sie den OpenAI-Node von n8n, um mit Socle zu kommunizieren â einfacher geht es nicht."},effortless:{subtitle:"Einfach",title1:"Entwickelt für",title2:"moderne Produktteams",description:"Socle AI folgt den Prinzipien und Praktiken, die die besten Produktteams auszeichnen: Fokus, schnelle Umsetzung und kompromisslose Qualität.",makeTheSwitch:"Zu Socle AI wechseln",features:{openaiCompatible:{title:"OpenAI-kompatibel",description:"Binden Sie die OpenAI-API und deren Modelle mühelos ein. Entwickelt für die Werkzeuge, die Sie bereits kennen.",modalContent:["Socle AI ist vollständig kompatibel mit der OpenAI-API. So nutzen Sie die Leistung von GPT-Modellen, Embeddings und weiteren OpenAI-Diensten nahtlos weiter.","Ob Sie Chatbots, Content-Generatoren oder komplexe KI-Workflows bauen: Dank der OpenAI-Kompatibilität arbeiten Sie mit denselben Modellen und Endpunkten, die Sie bereits kennen.","Diese Kompatibilität erstreckt sich auf Authentifizierung, Rate-Limiting und Antwortformate â die Migration von OpenAI zu Socle AI wird damit zum Kinderspiel."]},designedToMoveFast:{title:"Time to Market",description:"Verkürzen Sie den Weg von der Idee bis in die Produktion mit einer von Grund auf schnellen Infrastruktur.",modalContent:["In einem KI-Ãkosystem, das sich wöchentlich verändert, ist Langsamkeit Ihr gröÃtes finanzielles und strategisches Risiko. Unsere auf reine Performance ausgelegte Infrastruktur (Antwort in 50 ms) ist nicht bloà eine technische Meisterleistung, sondern ein reibungsloser Umsetzungsmotor.","Mit Socle AI vermeiden Sie die versteckten Kosten, die entstehen, wenn heterogene und instabile Technologiebausteine zusammengeführt werden müssen. Wir übernehmen die Komplexität, den Technologie-Stack laufend zu beobachten und zu aktualisieren. Während sich der Marktstandard alle drei Monate verschiebt, bleibt Ihre Lösung auf dem neuesten Stand, ohne dass Sie interne Ressourcen für Wartungsarbeiten binden müssen.","Dank dynamischer Oberflächen und einer optimierten Architektur gelangen Sie in Rekordzeit vom Proof of Concept zum fertigen Produkt. Sie kaufen nicht nur Geschwindigkeit, sondern die Gewissheit, dass Ihre Technologie Ihrem Wachstum nie im Weg steht."]},dynamicInterfaces:{title:"Expertise & Begleitung",description:"Verwandeln Sie technische Komplexität in einen strategischen Vorteil â mit 7 Jahren Erfahrung im Ausrollen von KI.",levers:["Operative Exzellenz","Produktinnovation"],yearsLabel:"JAHRE",modalContent:["KI ist nicht nur eine Frage des Codes, sondern eine systemische Transformation, die Ihre Prozesse ebenso betrifft wie Ihr Wertversprechen. Aus sieben Jahren Erfahrung im Ausrollen von KI-Lösungen haben wir eine zweigleisige Methodik entwickelt, die beide Wachstumshebel adressiert.","KI für Ihre operative Exzellenz: Wir verankern KI im Kern Ihrer Fachbereiche. Von der Integrationsstrategie bis zum Change-Management begleiten wir Ihre Mitarbeitenden, lösen Widerstände auf und übersetzen neue Arbeitsweisen in konkrete Produktivitätsgewinne.","KI für Ihre Produktinnovation: Wir agieren als verlängerter Arm Ihres Produktmanagements. Wir helfen Ihnen, KI-Chancen mit hoher Wertschöpfung für Ihre eigenen Kunden zu erkennen, und entwerfen intelligente Funktionen, die Ihren Wettbewerbsvorteil neu definieren und neue Märkte erschlieÃen.","Unsere Rolle ist es, Ihnen die nötige Erfahrung mitzugeben, um sich in de
48n Graubereichen (Ethik, Sicherheit, Zuverlässigkeit) sicher zu bewegen â damit KI zu einem dauerhaften strategischen Vermögenswert wird, den Ihre Teams beherrschen und Ihre Nutzer schätzen."]}}},powerful:{subtitle:"Leistungsstark",title1:"Agentische KI für",title2:"den Produktivbetrieb",description:"Statten Sie Ihre Anwendungen mit modernsten KI-Fähigkeiten aus. Von Sprachmodellen bis zur Spracherkennung: alles, was Sie für produktionsreife KI-Systeme brauchen.",features:{llmAsr:{title:"LLM & ASR",description:"Zugriff auf modernste Sprachmodelle und Spracherkennung. Von der Textgenerierung bis zur Transkription â entwickeln Sie mit den besten verfügbaren KI-Fähigkeiten."},rag:{title:"RAG",description:"Retrieval Augmented Generation verbindet die Stärke der Suche mit KI-Generierung. Binden Sie Ihre Wissensbasis an und erhalten Sie präzise, kontextbezogene Antworten."},a2aEcosystem:{title:"A2A-Ãkosystem",description:"Bauen Sie leistungsfähige Multi-Agenten-Systeme, in denen KI-Agenten kommunizieren, zusammenarbeiten und sich abstimmen, um komplexe Aufgaben zu lösen.",a2aDocumentation:"A2A-Dokumentation"},socleFastmcp:{title:"Socle & FastMCP",description:"Ultraschnelles Kommunikationsprotokoll für KI-Systeme. FastMCP ermöglicht effiziente Interaktionen mit geringer Latenz zwischen KI-Komponenten."}}},sovereign:{subtitle:"Souverän",title1:"Ihre Daten,",title2:"Ihre Regeln",description:"Ãbernehmen Sie die volle Kontrolle über Ihre KI-Infrastruktur. Keine Kompromisse bei Sicherheit, Vertraulichkeit oder Compliance. Betreiben Sie sie, wo und wie Sie möchten.",noCloudAct:{title:"Kein Cloud Act",description:"Daten ausschlieÃlich bei europäischen Cloud-Providern"},noConflict:{title:"Kein Interessenkonflikt â by design",description:"Wir trainieren keine Modelle und haben daher kein Interesse an Ihren Daten"},sustainability:{title:"Souveränität und Nachhaltigkeit vereint",description:"Unsere Server in Frankreich profitieren von einem CO2-armen Strommix. Leistung und ökologische Verantwortung schlieÃen sich nicht aus."},links:{discord:"Discord",discordSub:"Der Community beitreten",documentation:"Dokumentation",documentationSub:"Grundlagen lernen",x:"X",xSub:"Uns folgen",linkedin:"LinkedIn",linkedinSub:"Vernetzen"}},workflowSection:{title:"Erstellen Sie Ihre KI-Workflows in einem Satz.",subtitle:"Beschreiben Sie Ihr Vorhaben und lassen Sie Socle AI Ihre Agenten und Ihren Workflow vorbereiten.",inputLabel:"// BESCHREIBEN SIE IHR PROJEKT",generating:"Workflow wird erzeugt â¦",ready:"Workflow bereit"},sectors:{nav:"Branchen",legal:{slug:"secteur-juridique",tagline:"Ein Socle, viele Anwendungsfälle",badge:"BRANCHE, RECHT",title:"KI im Dienst des Rechts",subtitle:"Souveräne Werkzeuge für Rechtsberufe",intro:"Im Rechtsbereich hat jeder Austausch Beweiswert. Die verarbeiteten Daten sind ihrer Natur nach vertraulich, häufig sensibel und immer strategisch. Socle ermöglicht Rechtsabteilungen und Kanzleien den Einsatz von KI, ohne je die Verschwiegenheitspflicht zu gefährden oder ihre Daten ausländischem Recht auszusetzen.",challenges:{title:"Die Herausforderungen der Branche",items:[{title:"Dokumentenvolumen",body:"Verträge, Verfahren, Rechtsprechung: Juristische Teams verwalten wachsende Dokumentenmengen, die analysiert, zusammengefasst und bewertet werden müssen."},{title:"Absolute Vertraulichkeit",body:"Die Verschwiegenheitspflicht verbietet jeden Datenabfluss. Der Einsatz von LLMs, die in den USA gehostet werden, setzt Kanzleien dem US-amerikanischen Cloud Act aus."},{title:"Transkription von Gesprächen",body:"Bei internen Untersuchungen, Kontrollgesprächen oder Anhörungen ist die manuelle Transkription langwierig, teuer und fehleranfällig."}]},usecases:{title:"Was Socle ermöglicht",items:[{title:"Souveräner Transkriptions-Editor",body:"Transkribieren Sie Ihre Audioaufnahmen automatisch mit einem in Frankreich gehosteten ASR-Modell. Bearbeiten, korrigieren und exportieren Sie â ohne dass ein einziges Byte Ihren Rechtsraum verlässt."},{title:"RAG auf Ihrer Dokumentenbasis",body:"Befragen Sie Ihre Verträge, Gerichtsentscheidungen und internen Notizen in natürlicher Sprache. Die augmentierte Suche (RAG) findet die relevanten Passagen und erzeugt begründete Zusammenfassungen."},{title:"Agent für Vertragsanalyse",body:"Setzen Sie einen KI-Agenten ein, der Risikoklauseln erkennt, Vertragsversionen vergleicht und Auffälligkeiten meldet â und dabei vollständig in Ihrer Infrastruktur bleibt."}]},advantages:{title:"Warum Socle für den Rechtsbereich",items:[{label:"Kein Cloud Act",desc:"Hosting ausschlieÃlich bei Scaleway (Frankreich). Ihre Daten unterliegen allein europäischem Recht."},{label:"Kein Training mit Ihren Daten",desc:"Socle hat kein wirtschaftliches Interesse an Ihren Daten. Sie dienen niemals dazu, fremde Modelle zu verbessern."},{label:"On-Premise-Betrieb möglich",desc:"Bei höchsten Sicherheitsanforderungen lässt sich Socle in Ihrer eigenen Infrastruktur installieren."}]},cta:"Ãber Ihr Rechtsprojekt sprechen",customerStory:{quote:"Im Rahmen interner Kontrollgespräche oder Untersuchungen haben aufgezeichnete Gespräche erheblichen rechtlichen Wert. Socle erlaubt uns, diese Gespräche vertraulich zu transkribieren und zu annotieren.",role:"Compliance-Verantwortliche, Anwaltskanzlei"}},risk:{slug:"secteur-risk",tagline:"Ein Socle, viele Anwendungsfälle",badge:"BRANCHE, RISK & COMPLIANCE",title:"KI für Ihre gesamten Compliance-Prozesse",subtitle:"KYC, AML, Marktüberwachung, regulatorisches Reporting â ohne Ihre Finanzdaten preiszugeben",intro:"Die Aufsichtsbehörden selbst setzen inzwischen KI ein, um Märkte zu überwachen, Betrug zu erkennen und ihre Berichtspflichten zu automatisieren. Die Frage ist nicht mehr, ob KI in Ihre Risk- und Compliance-Prozesse einziehen soll, sondern wie â ohne sich von auÃereuropäischen Clouds abhängig zu machen, die dem US-amerikanischen Cloud Act unterliegen.",challenges:{title:"Die Herausforderungen der Branche",items:[{title:"Eine vollständige Compliance-Kette",body:"KYC, AML/Sanktionen, Marktüberwachung, Regulatory Watch, RCSA, MiFID-/SFDR-Reporting: Jedes Glied erzeugt Datenmengen, die Teams manuell nicht mehr bewältigen können."},{title:"Governance und Datensouveränität",body:"Finanzdaten dürfen nicht über Infrastrukturen laufen, die dem Cloud Act unterliegen. Die Abhängigkeit von US-amerikanischen LLMs setzt Institute erheblichen regulatorischen und rechtlichen Risiken aus."},{title:"Human-in-the-Loop ist Pflicht",body:"Aufsichtsbehörden verlangen menschliche Kontrolle über KI-Modelle und die lückenlose Nachvollziehbarkeit jeder unterstützten Entscheidung. Auditierbarkeit ist keine Option."}]},usecases:{title:"Was Socle ermöglicht",items:[{title:"KYC & AML: automatisierte Erkennung schwacher Signale",body:"Ein KI-Agent analysiert laufend Kundendaten, gleicht Sanktionslisten ab, erkennt auffälliges Verhalten und erzeugt Verdachtsmeldungen â alles in Frankreich gehostet, ohne Datenabfluss nach auÃen."},{title:"Marktüberwachung und Betrugserkennung",body:"Setzen Sie Clustering- und Anomalieerkennungsverfahren ein, um auffälliges Verhalten in Ihren Märkten zu identifizieren und die Fehlalarme Ihrer Analyseteams zu reduzieren."},{title:"Automatisiertes SFDR-/MiFID-/DORA-Reporting",body:"Ein Agent sammelt, strukturiert und formatiert die für Ihre regulatorischen Pflichten erforderlichen Daten. SFDR-A
48nhänge, Transaktionsmeldungen und interne Berichte entstehen automatisch, mit vollständiger Nachvollziehbarkeit der Quellen."},{title:"Transkription und Auswertung interner Untersuchungen",body:"Transkribieren Sie Audioaufnahmen aus Kontrollgesprächen oder internen Untersuchungen automatisch. Der Agent extrahiert die relevanten Informationen, erkennt Risikoelemente und strukturiert die Schlussfolgerungen â ohne Ihren gesicherten Bereich je zu verlassen."}]},advantages:{title:"Warum Socle für Risk & Compliance",items:[{label:"Garantierte Datensouveränität",desc:"Hosting ausschlieÃlich bei Scaleway (Frankreich). Ihre Finanzdaten unterliegen allein europäischem Recht, ohne jede Exposition gegenüber dem US-Cloud Act."},{label:"Vollständige Auditierbarkeit, Human-in-the-Loop",desc:"Jeder KI-Aufruf wird protokolliert. Ihre Compliance-Teams und die Aufsicht können jede unterstützte Entscheidung prüfen: wer, wann, mit welchen Daten, mit welchem Ergebnis."},{label:"Kein Training mit Ihren Daten",desc:"Socle hat kein wirtschaftliches Interesse an Ihren Daten. Sie dienen niemals dazu, fremde Modelle zu verbessern â im Einklang mit den Anforderungen der Datenschutzbehörden und der DSGVO."}]},cta:"Ãber Ihr Risk- & Compliance-Projekt sprechen",customerStory:null},public:{slug:"secteur-public",tagline:"Ein Socle, viele Anwendungsfälle",badge:"BRANCHE, ÃFFENTLICHER SEKTOR",title:"Souveräne KI im Dienst des Staates",subtitle:"Konforme Lösungen für Verwaltungen, Kommunen und öffentliche Einrichtungen",intro:"Verwaltungen und Kommunen verwalten mit die sensibelsten Daten überhaupt: personenbezogene Daten der Bürgerinnen und Bürger, vertrauliche Dokumente, interne Verfahren. Socle AI bietet eine Antwort auf die Anforderungen an digitale Souveränität â mit Hosting ausschlieÃlich auf französischem Boden und nativer Konformität zu den öffentlichen Regelwerken.",challenges:{title:"Die Herausforderungen der Branche",items:[{title:"Digitale Souveränität ist Pflicht",body:"Daten von Bürgern und Verwaltungen dürfen weder von Akteuren gehostet noch verarbeitet werden, die auÃereuropäischem Recht unterliegen. Die Abhängigkeit von US-Clouds ist ein regulatorisches und geopolitisches Risiko."},{title:"Wachsendes Dokumentenvolumen",body:"Eingehende Post, regulatorische Vorgänge, Protokolle, öffentliche Ausschreibungen: Ãffentliche Teams versinken in Dokumenten, die sich mit herkömmlichen Werkzeugen nicht mehr effizient bearbeiten lassen."},{title:"Anforderungen an Nachvollziehbarkeit und Auditierbarkeit",body:"Jede KI-gestützte Entscheidung im öffentlichen Sektor muss erklärbar, nachvollziehbar und prüfbar sein. DSGVO, DORA und die Pflichten zur algorithmischen Transparenz gelten ausnahmslos."}]},usecases:{title:"Was Socle ermöglicht",items:[{title:"Intelligente Bearbeitung des Posteingangs",body:"Ein KI-Agent klassifiziert, priorisiert und bereitet Schreiben und Bürgeranfragen automatisch vor. Die Mitarbeitenden konzentrieren sich auf die komplexen Vorgänge mit echtem Mehrwert."},{title:"RAG auf Gesetzes- und Verordnungstexten",body:"Befragen Sie die Dokumentenbasis Ihrer Verwaltung in natürlicher Sprache: Gesetzestexte, Rundschreiben, Beschlüsse, öffentliche Ausschreibungen. Der Agent findet die einschlägigen Fundstellen und erstellt begründete Zusammenfassungen."},{title:"Souveräne Transkription von Sitzungen und Anhörungen",body:"Transkribieren Sie Sitzungen, Ausschüsse und Anhörungen automatisch mit einem in Frankreich gehosteten ASR-Modell. Protokolle entstehen sofort, ohne dass Daten Ihren Bereich verlassen."},{title:"Analyse und Erstellung von Verwaltungsdokumenten",body:"Socle unterstützt beim Verfassen von Beschlüssen, Verfügungen und Berichten. Der Agent schlägt Formulierungen im Verwaltungsstandard vor und erkennt juristische Widersprüche."}]},advantages:{title:"Warum Socle für den öffentlichen Sektor",items:[{label:"Hosting auf Ihrem Staatsgebiet",desc:"StandardmäÃig Scaleway, doch Socle lässt sich ebenso bei Outscale, OVH oder jedem anderen souveränen Anbieter in Ihrem Land betreiben â oder on-premise in Ihrer eigenen Infrastruktur."},{label:"Vollständige Auditierbarkeit und Nachvollziehbarkeit",desc:"Jede KI-Interaktion wird protokolliert und ist prüfbar. Native Konformität mit den Pflichten zur algorithmischen Transparenz und der DSGVO."},{label:"On-Premise-Betrieb möglich",desc:"Für Betreiber kritischer Infrastrukturen oder Verwaltungen mit höchsten Anforderungen lässt sich Socle vollständig in Ihrer eigenen Infrastruktur betreiben."}]},cta:"Ãber Ihr Projekt im öffentlichen Sektor sprechen",customerStory:null},other:{slug:"autre-secteur",tagline:"Ein Socle, viele Anwendungsfälle",badge:"BRANCHE, IHRE INDUSTRIE",title:"Socle passt sich Ihrer Branche an",subtitle:"Welche Branche auch immer: Die Souveränität Ihrer Daten darf Ihre KI-Einführung nicht ausbremsen",intro:"Gesundheit, Industrie, Energie, Versicherung, Medien, HR â die Anwendungsfälle für KI sind universell, doch die Vertraulichkeitsanforderungen unterscheiden sich von Branche zu Branche. Socle AI ist so gebaut, dass es sich jedem fachlichen Kontext anpasst: konfigurierbare Modelle, Integration in Ihre bestehenden Werkzeuge, souveränes Hosting in Frankreich.",challenges:{title:"Was allen Branchen gemeinsam ist",items:[{title:"Vertraulichkeit der Daten",body:"Patientendaten, Betriebsgeheimnisse, strategische Informationen: Jede Branche hat eigene Schutzanforderungen. Socle garantiert, dass Ihre Daten Ihren Bereich nie verlassen."},{title:"Einführung ohne Abhängigkeit",body:"KI einzuführen darf keine Abhängigkeit von einem US-Anbieter schaffen. Socle setzt auf souveräne Open-Source-Modelle und eine Infrastruktur, die Sie kontrollieren."},{title:"Messbarer ROI",body:"Die Automatisierung wiederkehrender Aufgaben â Transkription, Dokumentenanalyse, Zusammenfassung, Reporting â schafft in jeder Organisation Zeit für Tätigkeiten mit hoher Wertschöpfung."}]},usecases:{title:"Universelle Anwendungen, spezifische Anforderungen",items:[{title:"Dokumentenanalyse und Zu
48sammenfassung",body:"Unabhängig von Ihrer Branche kann Socle Ihre internen Dokumente analysieren, klassifizieren und zusammenfassen: Berichte, Verträge, Notizen, E-Mails, Protokolle."},{title:"MaÃgeschneiderte KI-Agenten",body:"Setzen Sie KI-Agenten ein, die auf Ihre fachlichen Prozesse zugeschnitten sind: Freigaben, Eskalation, Informationsextraktion, Berichterstellung."},{title:"Transkription und Audioauswertung",body:"Sitzungen, Gespräche, Kundenanrufe, Schulungen: Souveräne automatische Transkription eignet sich für jeden Kontext."},{title:"RAG auf Ihrer Wissensbasis",body:"Verbinden Sie Socle mit Ihrer internen Dokumentation, damit Ihre Teams ihre Wissensbasis in natürlicher Sprache befragen können."}]},advantages:{title:"Warum Socle, unabhängig von Ihrer Branche",items:[{label:"Garantierte Souveränität",desc:"Hosting in Frankreich bei Scaleway. Ihre Daten bleiben europäischem Recht unterstellt, ganz gleich in welcher Branche Sie tätig sind."},{label:"Open-Source-Modelle",desc:"Keine Abhängigkeit von OpenAI oder Google. Socle setzt auf die besten Open-Source-Modelle, konfigurierbar nach Ihren Anforderungen."},{label:"Integration in Ihre IT",desc:"REST-API, native Konnektoren, On-Premise-Betrieb möglich. Socle fügt sich ohne Bruch in Ihre bestehende Architektur ein."}]},cta:"Erzählen Sie uns von Ihrer Branche",customerStory:null}},stats:{label:"SOCLE IN ZAHLEN",items:[{value:"7",unit:"Jahre",label:"KI-Expertise",sub:"Im Produktivbetrieb"},{value:"96%",unit:"",label:"CO2-arme Energie",sub:"Emissionsarmes Rechenzentrum"},{value:"100%",unit:"",label:"Daten in Frankreich",sub:"Souveränes Hosting"},{value:"12+",unit:"",label:"Kompatible Modelle",sub:"LLM, ASR, Embedding"},{value:"0",unit:"",label:"Geteilte Daten",sub:"Kein Training durch Dritte"}]},press:{badge:"SIE SPRECHEN ÃBER UNS",title:"Anerkannt vom Ãkosystem",testimonialLabel:"KUNDENSTIMME",testimonialQuote:"Im Rahmen interner Kontrollgespräche oder Untersuchungen haben aufgezeichnete Gespräche erheblichen rechtlichen Wert. Socle erlaubt uns, diese Gespräche vertraulich zu transkribieren und zu annotieren.",testimonialRole:"Compliance-Verantwortliche, Anwaltskanzlei",items:[{source:"Hub France IA",headline:"Socle AI ist in der Referenzkarte der französischen KI vertreten",date:"Februar 2026",tag:"Auszeichnung"},{source:"NVIDIA Inception",headline:"NVIDIA nimmt Socle AI in sein weltweites Accelerator-Programm auf",date:"März 2026",tag:"Partnerschaft"},{source:"AI Pulse â Scaleway",headline:"Souveräne agentische KI: Socle AI setzt auf Europa",date:"Oktober 2025",tag:"Veranstaltung"}]},footer:{tagline:"Kein Kompromiss zwischen Souveränität und Leistung",product:"Produkt",company:"Unternehmen",connect:"Kontakt",resource:"Ressourcen",links:{studio:"Studio",platform:"Plattform",documentation:"Dokumentation",usecase:"Anwendungsfälle",usecases:"Anwendungsfälle",contactUs:"Kontakt aufnehmen",community:"Community",x:"X",youtube:"YouTube",linkedin:"LinkedIn",terms:"Nutzungsbedingungen",privacy:"Datenschutz",about:"Ãber uns"},copyright:"© {year} Socle AI. Alle Rechte vorbehalten."},about:{badge:"GRÃNDUNGSTEAM",title:"Ãber uns",subtitle:"Die Menschen hinter Socle AI",team:[{name:"Benjamin De Almeida",role:"CEO & Mitgründer",photo:"/images/benjamin-de-almeida.png",quote:"Wir müssen Effizienz nicht gegen Souveränität eintauschen",sections:[{title:"Ein Werdegang zwischen erklärbarer KI und Produktkultur",body:"Benjamin De Almeida hat seine Expertise an der Schnittstelle von Software-Engineering und Produktstrategie aufgebaut. Nach seinem Abschluss an der Epitech verbrachte er fast sieben Jahre bei Golem.ai, zuletzt als Chief Product Officer. In dieser Zeit spezialisierte er sich auf symbolische KI â einen Ansatz, der die Nachvollziehbarkeit algorithmischer Entscheidungen über die Undurchsichtigkeit klassischer statistischer Modelle stellt. Dadurch entwickelte er ein sehr konkretes Verständnis dessen, was Organisationen brauchen: zuverlässige, prüfbare Werkzeuge, die sich direkt in anspruchsvolle Fachprozesse einfügen."},{title:"Souveränität als Leistungshebel",body:"Im Juli 2025 gründete er Socle AI, um einen Paradigmenwechsel in der europäischen KI-Strategie voranzutreiben. Für Benjamin ist digitale Souveränität kein Hemmschuh und kein Rückzug, sondern ein Wettbewerbsvorteil. Er vertritt die Ãberzeugung, dass zwischen technologischer Unabhängigkeit und operativer Effizienz kein Opfer nötig ist."},{title:"Expertise im Dienst von Vertrauen und Nachhaltigkeit",body:"Für Benjamin De Almeida besteht die Aufgabe darin, Compliance und Ethik in greifbare Wettbewerbsvorteile zu verwandeln. Sein Ansatz beruht auf technologischen Fundamenten â einem âSocleâ â, die Unternehmen die volle Kontrolle über ihre Daten sichern, ohne Rechenleistung einzubüÃen. In seinen Beiträgen vertritt er eine pragmatische Sicht, in der souveräne Innovation zum Motor einer nachhaltigen digitalen Wirtschaft wird, die mit weltweiten Standards mithalten kann und zugleich den europäischen Werten von Transparenz und Sicherheit treu bleibt."}],tags:["Epitech","Golem.ai â CPO","Symbolische KI","Produktstrategie","Digitale Souveränität"]}]},privacy:{badge:"SICHERHEIT & DATENSCHUTZ",title:"Datenschutz & Sicherheit",subtitle:"Ihre Infrastruktur, Ihre Daten, Ihre Souveränität.",intro:"Bei Socle AI ist Vertraulichkeit keine Option, sondern Architektur. Vom Server-Hosting bis zu den KI-Modellen ist jede Schicht unseres Stacks darauf ausgelegt, dass Ihre Daten europäischem Recht unterstellt bleiben â auÃerhalb der Reichweite extraterritorialer Gesetze.",sections:[{id:"hosting",label:"SOUVERÃNES HOSTING",title:"AusschlieÃlich in Europa gehostet, bei Scaleway",body:"Die gesamte Infrastruktur von Socle AI â Anwendungsserver, Datenbanken und
48KI-Modelle â wird bei Scaleway betrieben, einem zu 100 % unabhängigen europäischen Cloud-Anbieter, Mitglied von CISPE und Partner der Gaia-X-Initiative.",highlight:"Ihre Daten verlassen niemals europäisches Gebiet. Scaleway unterliegt keinem extraterritorialen Gesetz wie dem US-amerikanischen Cloud Act oder dem chinesischen PIPL, sondern allein dem Recht der Europäischen Union.",certs:["ISO/IEC 27001:2022","HDS","DSGVO","SWIPO","Tier 3 Uptime Institute"]},{id:"gdpr",label:"REGULATORISCHE KONFORMITÃT",title:"AusschlieÃlich DSGVO und europäisches Recht",body:"Socle AI unterliegt vollständig der Datenschutz-Grundverordnung (DSGVO). Mit jedem Kunden schlieÃen wir einen Auftragsverarbeitungsvertrag (AVV) gemäà Artikel 28 DSGVO.",highlight:"Anders als die US-Hyperscaler (AWS, Azure, GCP) sind unsere Infrastrukturen dem CLOUD Act nicht ausgesetzt. Keine ausländische Behörde kann ohne Entscheidung eines europäischen Gerichts Zugriff auf Ihre Daten verlangen.",items:["Daten werden in Frankreich und in der EU verarbeitet und gespeichert","AusschlieÃlich europäische Unterauftragnehmer","Garantiertes Auskunfts-, Berichtigungs- und Löschrecht","Meldung von Datenschutzverletzungen binnen 72 Stunden gemäà DSGVO"]},{id:"models",label:"KI-MODELLE",title:"Alle Modelle bei Scaleway gehostet",body:"Die KI-Modelle, die Sie über Socle AI nutzen â LLM-Inferenz, ASR-Transkription, Embeddings â laufen vollständig auf der Scaleway-Infrastruktur in Europa. Ohne Ihre ausdrückliche Zustimmung erfolgt kein Aufruf an externe Drittanbieter-APIs.",highlight:"Sie nutzen die Leistung modernster Modelle (Open Source und proprietär), ohne von OpenAI, Anthropic oder Google abhängig zu sein â und ohne Ihre Prompts und Daten deren Trainingsrichtlinien auszusetzen.",items:["LLMs auf Scaleway-GPU-Clustern (H100) gehostet","Souveräne Inferenz: Ihre Anfragen dienen niemals dem Training fremder Modelle","OpenAI-API-Kompatibilität ohne Abhängigkeit von OpenAI","Garantiertes Performance-SLA mit einer Latenz unter 50 ms"]},{id:"green",label:"CO2-ARME INFRASTRUKTUR",title:"Rechenzentren, die zu den verantwortungsvollsten Europas zählen",body:"Scaleway versorgt sämtliche Rechenzentren zu 100 % mit erneuerbarer Energie (Wind- und Wasserkraft, mit Herkunftsnachweisen). Das Rechenzentrum PAR-DC5, in dem unsere GPU-Cluster stehen, erreicht einen PUE von 1,25 â einer der besten Werte der Branche.",highlight:"Mit Socle AI senken Sie auch den CO2-FuÃabdruck Ihrer KI-Nutzung. Scaleway wurde 2024 mit der EcoVadis-Goldmedaille ausgezeichnet und zählt damit zu den 5 % nachhaltigsten Akteuren seiner Branche.",stats:[{value:"1,25",label:"PUE des KI-Rechenzentrums",sub:"gegenüber 1,55 im Branchenschnitt"},{value:"100%",label:"Erneuerbare Energie",sub:"Zertifizierte Herkunftsnachweise"},{value:"0,00002",label:"WUE DC4 Paris",sub:"Kein Trinkwasser verschwendet"},{value:"15 000",label:"Aufbereitete Server",sub:"Programm Transformers 2024"}]},{id:"onpremise",label:"MAXIMALE AUTONOMIE",title:"On-Premise- und Private-Cloud-Betrieb",body:"Für Organisationen mit höchsten Souveränitätsanforderungen â Verteidigung, Gesundheit, Finanzwesen oder kritische Industrien â lässt sich Socle AI vollständig in Ihrer eigenen Umgebung betreiben: on-premise auf Ihren Servern oder in Ihrer dedizierten Private Cloud.",highlight:"Der On-Premise-Betrieb von Socle AI sichert Ihnen vollständige Autonomie: keine externe Netzabhängigkeit, keine Daten, die Ihren Bereich verlassen, und die volle Kontrolle über Aktualisierungen und Modell-Governance.",items:["Installation auf physischen Servern oder bestehender virtualisierter Infrastruktur","Unterstützung von Air-Gapped-Umgebungen (ohne Internetverbindung)","KI-Modelle paketiert und offline verteilbar","Begleitung durch unsere Teams bei der Integration in Ihre IT"],cta:{label:"Ãber einen On-Premise-Betrieb sprechen",href:"#contact"}}]},cgu:{title:"Allgemeine Nutzungsbedingungen (AGB)",subtitle:"Socle AI",lastUpdated:"6. Juli 2026",intro:"Die vorliegenden Allgemeinen Nutzungsbedingungen (nachfolgend die âAGBâ) regeln den Zugang zu und die Nutzung der Plattform und der Dienste von SO
48CLE AI (nachfolgend der âAnbieterâ). Sie stellen eine rechtsverbindliche Vereinbarung zwischen dem Anbieter und jeder Person dar, die auf die Dienste zugreift. Wir bitten Sie, sie aufmerksam zu lesen. MaÃgeblich ist die französische Fassung; diese Ãbersetzung dient allein dem Verständnis.",sections:[{title:"1. Impressum",content:["Herausgeber: Die Plattform und die Dienste werden herausgegeben von SOCLE AI, einer vereinfachten Aktiengesellschaft (SAS), eingetragen im Handels- und Gesellschaftsregister Paris unter der Nummer SIREN 987 961 810 (SIRET des Sitzes 987 961 810 00015), mit Sitz in 60 rue François Ier, 75008 Paris (Frankreich).","Umsatzsteuer-Identifikationsnummer: FR02 987 961 810. APE/NAF-Code: 62.01Z (Programmierungstätigkeiten).","Verantwortlich für die Veröffentlichung: Benjamin De Almeida, in seiner Eigenschaft als Präsident.","Kontakt: [email protected].","Hosting: Die Dienste werden gehostet von Scaleway SAS, eingetragen im Handels- und Gesellschaftsregister Paris unter der Nummer 433 115 904, mit Sitz in 8 rue de la Ville lâÃvêque, 75008 Paris (Frankreich)."]},{title:"2. Begriffsbestimmungen",content:["In den vorliegenden AGB haben die nachstehenden, groà geschriebenen Begriffe die folgende Bedeutung:","â âAGBâ: die vorliegenden Allgemeinen Nutzungsbedingungen.","â âAnbieterâ oder âSocle AIâ: die Gesellschaft SOCLE AI, Herausgeberin der Plattform.","â âKundeâ: jede natürliche oder juristische Person, die die Dienste abonniert hat.","â âNutzerâ: jede Person, die unter der Verantwortung des Kunden auf die Plattform zugreift.","â âDiensteâ: sämtliche von Socle AI bereitgestellten Funktionen, insbesondere die Werkzeuge zur Orchestrierung von KI-Modellen und die zugehörigen Oberflächen.","â âInputsâ: die vom Kunden oder Nutzer an die Dienste übermittelten Daten, Inhalte und Anweisungen.","â âOutputsâ: die von den Diensten als Antwort auf die Inputs erzeugten Inhalte."]},{title:"3. Gegenstand und Anwendungsbereich",content:["Die vorliegenden AGB regeln die Bedingungen, unter denen der Anbieter die Dienste bereitstellt, sowie die Modalitäten der Nutzung der Plattform durch den Kunden und die Nutzer.","Socle AI stellt eine auf künstliche Intelligenz ausgerichtete Infrastruktur bereit, die Werkzeuge zur Orchestrierung von Sprachmodellen (LLM), Testoberflächen und zugehörige Dienste umfasst.","Leistungen der Begleitung, Beratung oder maÃgeschneiderten Entwicklung sind Gegenstand gesonderter Verträge und werden nicht von diesen AGB erfasst."]},{title:"4. Annahme der AGB",content:["Der Zugang zu und die Nutzung der Dienste setzen die vollständige und vorbehaltlose Annahme dieser AGB voraus. Mit der Erstellung eines Kontos oder der Nutzung der Plattform bestätigen der Kunde und der Nutzer, sie zur Kenntnis genommen und akzeptiert zu haben.","Wer die AGB nicht annimmt, muss auf den Zugang zu den Diensten verzichten."]},{title:"5. Zugang zu den Diensten und Konto",content:["Der Zugang zu den Diensten setzt die Erstellung eines Kontos voraus. Der Kunde gewährleistet die Richtigkeit der bei der Registrierung angegebenen Informationen und verpflichtet sich, sie aktuell zu halten.","Die Zugangsdaten sind persönlich und vertraulich. Der Kunde ist für ihre Aufbewahrung und für jede über sein Konto ausgeführte Aktivität verantwortlich.","Der Kunde informiert den Anbieter unverzüglich über jede unbefugte Nutzung seines Kontos sowie über jede ihm bekannt gewordene Sicherheitslücke."]},{title:"6. Untersagte Nutzungen",content:["Der Nutzer verpflichtet sich, die Dienste nicht zu nutzen für:","â die Erstellung oder Verbreitung hetzerischer, diskriminierender, belästigender oder gewaltverherrlichender Inhalte;","â jeden Versuch der Manipulation der öffentlichen Meinung oder der organisierten Desinformation;","â die Entwicklung von Werkzeugen zur Massenüberwachung oder zur Verletzung der Privatsphäre;","â die Umgehung der Sicherheitsmechanismen von KI-Modellen (Jailbreaking);","â jede rechtswidrige oder gegen geltende Gesetze und Vorschriften verstoÃende Tätigkeit.","Die Nichteinhaltung dieser Verpflichtungen kann die sofortige Sperrung oder Kündigung des Zugangs zu den Diensten nach sich ziehen, unbeschadet weiterer Rechtsbehelfe."]},{title:"7. Ethische Verpflichtung und Ethikausschuss",content:["Socle AI verfügt über einen unabhängigen internen Ethikausschuss, der über die Ãbereinstimmung der Projekte mit den Standards für Sicherheit, Fairness und Integrität der Information wacht.","Der Anbieter behält sich das Recht vor, den Zugang zu den Diensten zu sperren oder zu kündigen, wenn die Nutzung der Plattform nach Einschätzung dieses Ausschusses dem öffentlichen Interesse, den Grundrechten oder seiner internen Ethik-Charta zuwiderläuft. Soweit möglich wird der Kunde vorab informiert."]},{title:"8. Weiterentwicklung und Verfügbarkeit der Plattform",content:["Der Anbieter sorgt für die Weiterentwicklung und Aktualisierung der Plattform. Er kann Modelle und technische Komponenten jederzeit ändern, ersetzen oder weiterentwickeln, um Leistung, Sicherheit und Konformität der Dienste zu gewährleisten.","Der Anbieter setzt angemessene Mittel ein, um die Verfügbarkeit der Dienste sicherzustellen. Vorübergehende Unterbrechungen, insbesondere für Wartungsarbeiten, können dennoch auftreten, ohne einen Entschädigungsanspruch zu begründen.","Vom Kunden hinzugefügte Modelle: Der Kunde kann eigene KI-Modelle in die Plattform einbinden und nutzen. In diesem Fall ist er allein verantwortlich für die Auswahl dieser Modelle, deren RechtmäÃigkeit, Sicherheit und Konformität mit den geltenden Vorschriften. Die von Socle AI zugesagten Souveränitätsgarantien gelten nur für die vom Anbieter bereitgestellten Modelle: Weisen die vom Kunden hinzugefügten Modelle keinen souveränen Charakter auf (insbesondere hinsichtlich Hosting, Datenlokalisierung oder anwendbarem Recht), trägt der Kunde allein die Verantwortung und die Folgen."]},{title:"9. Kundendaten, Inputs und Outputs",content:["Eigentum: Der Kunde bleibt alleiniger Eigentümer seiner Inputs. Der Anbieter verpflichtet sich, diese Daten ohne ausdrückliche Zustimmung des Kunden nicht zum Training von Modellen zu verwenden, die Dritten zugänglich sind.","Outputs: Der Kunde ist für die Verwendung der Outputs verantwortlich. Es obliegt ihm, deren Richtigkeit, Angemessenheit und Rechtskonformität vor jeder Verwertung zu prüfen.","Der Kunde gewährleistet, über die erforderlichen Rechte an den Inputs zu verfügen, die er an die Dienste übermittelt."]}
48,{title:"10. Personenbezogene Daten",content:["Im Rahmen der Erbringung der Dienste verarbeitet Socle AI personenbezogene Daten unter Beachtung der Verordnung (EU) 2016/679 (DSGVO) und des französischen Gesetzes Nr. 78-17 vom 6. Januar 1978 in geänderter Fassung.","Verarbeitet der Anbieter personenbezogene Daten im Auftrag des Kunden, handelt er als Auftragsverarbeiter im Sinne des Artikels 28 DSGVO, nach MaÃgabe eines Auftragsverarbeitungsvertrags (AVV).","Die betroffenen Personen haben Rechte auf Auskunft, Berichtigung, Löschung und Widerspruch, die sie unter [email protected] geltend machen können. Die Einzelheiten der Verarbeitung sind in der Datenschutzerklärung dargelegt."]},{title:"11. Vertraulichkeit und Sicherheit",content:["Der Anbieter setzt geeignete technische und organisatorische MaÃnahmen ein, um Daten und Infrastrukturen vor unbefugtem Zugriff, Verlust oder Veränderung zu schützen.","Der Anbieter verpflichtet sich, dem Kunden jede Datenschutzverletzung, die seine Daten betreffen könnte, gemäà den geltenden Vorschriften unverzüglich mitzuteilen."]},{title:"12. Geistiges Eigentum",content:["Sämtliche Bestandteile der Plattform (Architektur, Quellcode, Algorithmen, Marken, Oberflächen und Dokumentation) bleiben ausschlieÃliches Eigentum des Anbieters.","Der Zugang zu den Diensten verschafft dem Kunden ein persönliches, nicht ausschlieÃliches und nicht übertragbares Nutzungsrecht, begrenzt auf die Laufzeit seines Abonnements und die in diesen AGB vorgesehenen Zwecke. Weitere Lizenzen oder Rechtsübertragungen werden nicht eingeräumt."]},{title:"13. Haftung und Gewährleistung",content:["Den Anbieter trifft eine Bemühenspflicht. Er kann nicht gewährleisten, dass die Dienste frei von Unterbrechungen oder Fehlern sind, noch dass die Outputs für einen bestimmten Zweck geeignet sind.","Der Anbieter haftet nicht für mittelbare Schäden, insbesondere für Daten-, Umsatz-, Gewinn- oder Betriebsverluste, die aus der Nutzung oder der Unmöglichkeit der Nutzung der Dienste entstehen.","In jedem Fall ist die Haftung des Anbieters für sämtliche Schäden auf den Betrag begrenzt, den der Kunde in den zwölf (12) Monaten vor dem schadensbegründenden Ereignis tatsächlich gezahlt hat."]},{title:"14. Höhere Gewalt",content:["Der Anbieter haftet nicht für eine Nichterfüllung, die auf einem Fall höherer Gewalt im Sinne des Artikels 1218 des französischen Zivilgesetzbuchs und der Rechtsprechung der französischen Gerichte beruht."]},{title:"15. Laufzeit, Sperrung und Kündigung",content:["Die vorliegenden AGB gelten für die gesamte Dauer der Nutzung der Dienste.","Der Anbieter kann den Zugang zu den Diensten sperren oder kündigen, wenn der Kunde seinen Pflichten nicht nachkommt, insbesondere bei untersagter Nutzung oder Zahlungsverzug, nac
48h erfolgloser Mahnung, sofern die Art des VerstoÃes dies zulässt.","Bei Beendigung der Geschäftsbeziehung kann der Kunde die Herausgabe oder Löschung seiner Inputs nach MaÃgabe des anwendbaren Vertrags und der geltenden Vorschriften verlangen."]},{title:"16. Ãnderung der AGB",content:["Der Anbieter behält sich das Recht vor, diese AGB zu ändern, um technischen, rechtlichen oder regulatorischen Entwicklungen Rechnung zu tragen. Der Kunde wird über jede wesentliche Ãnderung informiert. Die fortgesetzte Nutzung der Dienste nach Inkrafttreten gilt als Annahme der geänderten AGB."]},{title:"17. Beschwerden und Kontakt",content:["Jede Beschwerde zu den Diensten kann an den Anbieter unter [email protected] gerichtet werden. Die Parteien bemühen sich, jede Streitigkeit vor einem gerichtlichen Vorgehen gütlich beizulegen."]},{title:"18. Verschiedene Bestimmungen",content:["Teilnichtigkeit: Sollte eine Bestimmung dieser AGB unwirksam oder undurchführbar sein, bleiben die übrigen Bestimmungen in vollem Umfang wirksam.","Vollständigkeit: Diese AGB, gegebenenfalls ergänzt durch die Verträge und Richtlinien, auf die sie verweisen, geben die gesamte Vereinbarung zwischen den Parteien über die Nutzung der Dienste wieder.","Ãbertragung: Der Kunde kann seine Rechte und Pflichten aus diesen AGB nicht ohne vorherige schriftliche Zustimmung des Anbieters abtreten oder übertragen."]},{title:"19. Anwendbares Recht und Gerichtsstand",content:["Diese AGB unterliegen französischem Recht. Kommt keine gütliche Einigung zustande, ist für jede Streitigkeit über ihre Gültigkeit, Auslegung oder Erfüllung ausschlieÃlich das Gericht am Sitz des Anbieters zuständig, vorbehaltlich zwingender gesetzlicher Bestimmungen."]}]},nowPage:{title:"Aktuelles",subtitle:"Neuigkeiten und Changelog von Socle AI",categories:{all:"Alle",usecases:"Anwendungsfälle",product:"Produkt",news:"News",battlecards:"Vergleiche",articles:"Artikel"},noUpdates:"Keine Einträge in dieser Kategorie gefunden.",customerStory:"Kundenstimme",customerStorySubtitle:"Erfahren Sie, wie unsere Kunden mit Socle AI entwickeln",readMore:"Weiterlesen",comingSoon:"Demnächst verfügbar",comingSoonDescription:"Weitere Kundenstimmen folgen. Sprechen Sie uns an, wenn Sie Ihre Erfahrung teilen möchten.",updates:{cvExtraction:{title:"Anwendungsfall in 10 Minuten: Informationen aus Lebensläufen extrahieren mit SocleAI",description:"Wie automatisiert man die Extraktion von Informationen aus Lebensläufen in wenigen Minuten? Mit Socle AI ist das möglich!"},nvidiaInception:{title:"Socle AI tritt dem Programm NVIDIA Inception bei ð",description:"KI beschleunigen mit den Besten. Seit dem Start von Socle AI ist unsere Mission klar: unseren Nutzern zu ermöglichen, Autonomie und Leistung zu vereinen. Heute gehen wir einen entscheidenden Schritt weiter und treten dem Programm NVIDIA Inception bei! Der direkte Austausch mit den Ingenieuren von NVIDIA und der Zugang zu ihren Ressourcen eröffnen uns neue Möglichkeiten, unsere Dienste zu verbessern."},hubFranceIA:{title:"Socle AI in der Karte der französischen KI ð¡ï¸",description:"Wir freuen uns, bekannt zu geben, dass Socle AI nun in der Referenzkarte des Hub France IA vertreten ist! Diese Anerkennung würdigt unser Engagement: den Nachweis, dass leistungsfähige KI souverän sein kann â und sein muss. Drei untrennbare Säulen: Souveränität, also die volle Kontrolle über Ihre Daten; Leistung, also einfache Integration und technische Exzellenz; Erfahrung, also flüssige Werkzeuge und maÃgeschneiderte Begleitung."},epitechSummit:{title:"Wir sind auf dem Epitech Summit!",description:"Es war uns eine Freude, Socle AI auf dem Epitech Summit vorzustellen"},dynamicAgentInterface:{title:"Dynamische Agenten-Oberfläche",description:"Die Testoberfläche Ihres Agenten passt sich dynamisch an, je nachdem ob Sie LLM oder ASR wählen."},distantMcp:{title:"Remote-MCP jetzt verfügbar",description:"Mit FastMCP verbinden Sie Ihren Agenten jetzt mühelos mit Ihren Werkzeugen"},asrAgent:{title:"Ihr Agent ruft ein ASR auf, wenn er Audio nicht auswerten kann",description:"Wie schon bei der Bildanalyse kann Ihr Agent nun einen ASR-Agenten aufrufen, wenn Sie ihm eine Audiodatei schicken"},aiPulse:{title:"Wir sind auf der AI Pulse",description:"Auf der von Scaleway organisierten Veranstaltung sprach unser CEO Benjamin De Almeida über agentische KI"}},customerStories:{legal:{title:"Einen Transkriptions-Editor im Rechtsbereich einsetzen",description:"Im Rahmen interner Kontrollgespräche oder Untersuchungen haben aufgezeichnete Gespräche erheblichen rechtlichen Wert."}}}
48,contactPage:{title:"Wie können wir Ihnen helfen?",subtitle:"Sie brauchen Unterstützung bei Ihrem Projekt? Sprechen Sie unser Team an. Wir haben langjährige Erfahrung darin, KI-Projekte im Produktivbetrieb nützlich zu machen.",sales:{title:"Ich habe ein KI-Projekt",description:"Unser Team hilft Ihnen, die beste Lösung für Ihre Anforderungen zu finden.",cta:"Mit dem Team sprechen"},support:{title:"Hilfe & Support",description:"Zugang zur Dokumentation, zur Discord-Community und zu den häufigen Fragen.",docsCta:"Dokumentation",discordCta:"Discord-Community"},community:{title:"Der Community beitreten",description:"Treten Sie unserem Discord-Server bei, um sich mit der Community und dem Team auszutauschen.",cta:"Discord beitreten"},social:{title:"Uns folgen",x:"Auf X folgen",linkedin:"Auf LinkedIn folgen"}},meta:{homeTitle:"Socle AI, der souveräne KI-Harness für Agenten im Produktivbetrieb",homeDescription:"Der souveräne KI-Harness zwischen Ihren Modellen und Ihren Produkten: Kontext, RAG, Tools, MCP, A2A, Agenten-Orchestrierung und Observability. Gehostet in Frankreich."},battleCard:{backToNews:"â ALLE NEUIGKEITEN",hudLabel:"VERGLEICH",updatedPrefix:"STAND",metaTitleSuffix:"Vergleich",notFound:"404 // VERGLEICH NICHT GEFUNDEN",notFoundCta:"â Neuigkeiten ansehen",alternativeLabel:"DIE ALTERNATIVE",complementaryLabel:"DER ERGÃNZENDE AKTEUR",ourApproach:"UNSER ANSATZ",goodToKnow:"GUT ZU WISSEN",tableLabel:"AUF EINEN BLICK",tableTitle:"Der Vergleich Zeile für Zeile",criterion:"KRITERIUM",stackLabel:"TECHNISCHER STACK",stackTitle:"Was auf beiden Seiten zusammengesetzt werden muss",scopeLabel:"SEIN LEISTUNGSUMFANG",limitsLabel:"IHRE GRENZEN",limitsTitlePrefix:"Die Grenzen von",complementarityLabel:"ERGÃNZUNG",strengthsLabel:"UNSERE STÃRKEN",strengthsTitle:"Was Socle AI zusätzlich mitbringt",questionsLabel:"ZU HINTERFRAGEN",questionsTitle:"Schlüsselfragen, die Sie sich stellen sollten!",faqLabel:"FAQ",faqTitle:"Diese Fragen werden uns häufig gestellt",objection:"EINWAND",ourAnswer:"UNSERE ANTWORT",ctaTitle:"Lust, an Ihrem Anwendungsfall zu vergleichen?",ctaBody:"Testen Sie die Plattform oder sprechen Sie mit jemandem, der ein solches Projekt bereits umgesetzt hat.",ctaTry:"Socle AI testen â",ctaExpert:"Mit einem Experten sprechen"},article:{backToNews:"â ALLE NEUIGKEITEN",label:"ARTIKEL",minutes:"MIN",notFound:"404 // ARTIKEL NICHT GEFUNDEN",notFoundCta:"â Neuigkeiten ansehen",chapter:"KAPITEL",lightboxClose:"Klicken oder Esc drücken zum SchlieÃen",dialogYou:"SIE",dialogAi:"DER SCHÃLER",ctaTitle:"Lust, darüber zu sprechen?",ctaBody:"Ihr Feedback ist willkommen. Und wenn Sie sehen möchten, wie souveräne KI in der Praxis aussieht: Die Plattform steht Ihnen offen.",ctaTry:"Socle AI testen â",ctaWrite:"Schreiben Sie uns",writtenBy:"GESCHRIEBEN VON"}},Qi=["en","fr","pt","de"],Ke="en",ff="https://socle.ai",dm={en:"en",fr:"fr",pt:"pt-BR",de:"de"},w0={en:"en_GB",fr:"fr_FR",pt:"pt_BR",de:"de_DE"},S0=Qi.filter(e=>e!==Ke);function Qu(e){const t=e.replace(/\/+$/,"")||"/";for(const n of S0){if(t===`/${n}`)return{lang:n,path:"/"};if(t.startsWith(`/${n}/`))return{lang:n,path:t.slice(n.length+1)}}return t===`/${Ke}`?{lang:Ke,path:"/"}:t.startsWith(`/${Ke}/`)?{lang:Ke,path:t.slice(Ke.length+1)}:{lang:Ke,path:t}}function be(e,t){const n=t==="/"?"":t.replace(/\/+$/,"");return e===Ke?n||"/":`/${e}${n}`}function lo(e,t){return ff+be(e,t)}const I0={en:b0,fr:x0,pt:y0,de:A0},vf=w.createContext(),k0=({children:e})=>{const[t,n]=w.useState(()=>{if(typeof window>"u")return Ke;const{lang:r,path:o}=Qu(window.location.pathname);if(o!=="/"||r!==Ke)return r;const l=localStorage.getItem("language");return Qi.includes(l)?l:Ke}),s=r=>{Qi.includes(r)&&(localStorage.setItem("language",r),n(r))},i=r=>{const o=r.split(".");let l=I0[t];for(const u of o)l=l==null?void 0:l[u];return l||r};return a.jsx(vf.Provider,{value:{language:t,setLanguage:s,t:i},children:e})},U=()=>{const e=w.useContext(vf);if(!e)throw new Error("useLanguage must be used within a LanguageProvider");return e},uo=[{code:"fr",label:"FR",fi:"fi-fr"},{code:"en",label:"EN",fi:"fi-gb"},{code:"pt",label:"BR",fi:"fi-br"},{code:"de",label:"DE",fi:"fi-de"}],mm=({fi:e})=>a.jsx("span",{className:`fi ${e}`,style:{width:"18px",height:"13px",borderRadius:"2px",flexShrink:0}}),pm=({mobile:e=!1})=>{const[t,n]=w.useState(!1),{language:s,setLanguage:i}=U(),r=uo.find(u=>u.code===s)||uo[0],o=w.useRef(null);
48w.useEffect(()=>{const u=c=>{o.current&&!o.current.contains(c.target)&&n(!1)};return document.addEventListener("mousedown",u),()=>document.removeEventListener("mousedown",u)},[]);const l=u=>{i(u.code),n(!1);const{path:c}=Qu(window.location.pathname),d=be(u.code,c);c==="/"||d===window.location.pathname||window.location.assign(d+window.location.hash)};return a.jsxs("div",{className:`relative ${e?"w-full":""}`,ref:o,children:[a.jsxs(A.button,{whileHover:e?{}:{scale:1.05},whileTap:{scale:.95},onClick:()=>n(!t),className:`flex items-center gap-1.5 px-3 py-2 rounded-lg glass hover:glass-strong transition-all duration-300 ${e?"w-full justify-between":""}`,children:[a.jsx(mm,{fi:r.fi}),a.jsx("span",{className:"font-mono text-[11px] tracking-wider",style:{color:"var(--color-text-muted)"},children:r.label}),a.jsx("svg",{className:`w-3.5 h-3.5 transition-transform duration-300 ${t?"rotate-180":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",style:{color:"var(--color-text-muted)"},children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),a.jsx(Cn,{children:t&&a.jsx(A.div,{initial:{opacity:0,y:-8},animate:{opacity:1,y:0},exit:{opacity:0,y:-8},transition:{duration:.15},className:`absolute top-full ${e?"left-0":"right-0"} mt-2 glass-strong rounded-lg overflow-hidden z-50`,style:{minWidth:"100px"},children:a.jsx("div",{className:"py-1",children:uo.map(u=>a.jsxs("button",{onClick:()=>l(u),className:`w-full px-3 py-2 flex items-center gap-2 transition-colors hover:bg-white/5 ${r.code===u.code?"border-l-2 border-neon-blue":"border-l-2 border-transparent"}`,children:[a.jsx(mm,{fi:u.fi}),a.jsx("span",{className:"font-mono text-[11px] tracking-wider",style:{color:"var(--color-text-muted)"},children:u.label}),r.code===u.code&&a.jsx("span",{className:"ml-auto text-[10px]",style:{color:"var(--color-accent)"},children:"â"})]},u.code))})})})]})},bf=w.createContext(),q0=({children:e})=>{const[t,n]=w.useState(()=>{if(typeof window>"u")return"dark";const i=localStorage.getItem("theme");return i||(window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark")});w.useEffect(()=>{document.documentElement.setAttribute("data-theme",t),localStorage.setItem("theme",t)},[t]),w.useEffect(()=>{const i=window.matchMedia("(prefers-color-scheme: light)"),r=o=>{localStorage.getItem("theme")||n(o.matches?"light":"dark")};return i.addEventListener("change",r),()=>i.removeEventListener("change",r)},[]);const s=()=>n(i=>i==="dark"?"light":"dark");return a.jsx(bf.Provider,{value:{theme:t,toggleTheme:s},children:e})},xf=()=>{const e=w.useContext(bf);if(!e)throw new Error("useTheme must be used within ThemeProvider");return e},hm=()=>a.jsxs("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:[a.jsx("circle",{cx:"12",cy:"12",r:"5",strokeWidth:"1.5"}),a.jsx("path",{strokeLinecap:"round",strokeWidth:"1.5",d:"M12 2v2M12 20v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M2 12h2M20 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42"})]}),gm=()=>a.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5",d:"M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"})}),E0=({scrolled:e})=>{const[t,n]=w.useState(!1),[s,i]=w.useState(null),[r,o]=w.useState(!1),{t:l,language:u}=U(),c=v=>v.startsWith("/#")?`${be(u,"/")}${v.slice(1)}`:v,{theme:d,toggleTheme:m}=xf(),p=[{name:"Legal",href:"/#secteur-juridique"},{name:"Risk Management",href:"/#secteur-risk"},{name:"Public",href:"/#secteur-public"},{name:"Autre secteur",href:"/#autre-secteur",other:!0}],h=[{name:"PLATFORM",href:"https://app.socle.ai",external:!0},{name:"NOW",href:"/#now",external:!1},{name:"CONTACT",href:"/#contact",external:!1}];return a.jsxs(A.header,{initial:{y:-100},animate:{y:0},transition:{duration:.6,ease:"easeOut"},className:`fixed top-0 left-0 right-0 z-50 transition-all duration-300 ${e?"glass":"bg-transparent"}`,style:{borderBottom:"1px solid var(--color-border)"},children:[a.jsxs("div",{className:"container mx-auto px-6 flex items-center justify-between h-14",children:[a.jsxs("a",{href:be(u,"/"),className:"flex items-center gap-2.5 group",children:[a.jsx(v0,{className:"w-7 h-7 md:w-8 md:h-8"}),a.jsx("span",{className:"font-mono font-bold tracking-[0.22em] text-sm uppercase hidden sm:block",style:{color:"var(--color-text)"},children:"SOCLE AI"})]}),a.jsxs("nav",{className:"hidden md:flex items-center",children:[a.jsxs("div",{className:"relative",onMouseEnter:()=>o(!0),onMouseLeave:()=>o(!1),children:[a.jsxs("button",{className:"font-mono text-[11px] tracking-[0.15em] px-3 py-2 transition-colors duration-150 flex items-center gap-1",style:{color:r?"var(--color-gold)":"var(--color-text-muted)",background:"transparent",border:"none",cursor:"pointer"},children:["[",l("sectors.nav").toUpperCase(),"]",a.jsx("svg",{className:"w-2.5 h-2.5 transition-transform duration-200",style:{transform:r?"rotate(180deg)":"rotate(0deg)"},fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),a.jsx(Cn,{children:r&&a.jsx(A.div,{initial:{opacity:0,y:-6}
48,animate:{opacity:1,y:0},exit:{opacity:0,y:-6},transition:{duration:.15},className:"absolute top-full left-0 glass rounded-lg py-1 min-w-[200px] z-50",style:{border:"1px solid var(--color-border)"},children:p.map((v,x)=>a.jsx("a",{href:c(v.href),className:"block px-4 py-2.5 font-mono text-[11px] tracking-wide transition-colors duration-150 hover:bg-white/5",style:{color:v.other?"var(--color-accent)":"var(--color-text-muted)",borderTop:v.other?"1px solid var(--color-border)":void 0,marginTop:v.other?"4px":void 0,paddingTop:v.other?"10px":void 0,fontStyle:v.other?"italic":void 0},onMouseEnter:I=>I.currentTarget.style.color="var(--color-gold)",onMouseLeave:I=>I.currentTarget.style.color=v.other?"var(--color-accent)":"var(--color-text-muted)",children:v.other?`+ ${v.name}`:v.name},v.href))})})]}),h.map(v=>a.jsxs("a",{href:c(v.href),onMouseEnter:()=>i(v.name),onMouseLeave:()=>i(null),className:"font-mono text-[11px] tracking-[0.15em] px-3 py-2 transition-colors duration-150",style:{color:s===v.name?"var(--color-gold)":"var(--color-text-muted)"},...v.external?{target:"_blank",rel:"noopener noreferrer"}:{},children:["[",v.name,"]"]},v.name))]}),a.jsxs("div",{className:"hidden md:flex items-center gap-2",children:[a.jsx(pm,{}),a.jsx("button",{onClick:m,className:"p-2 transition-colors duration-200",style:{color:"var(--color-text-muted)",border:"1px solid var(--color-border)",background:"transparent"},title:d==="dark"?"Light mode":"Dark mode",children:d==="dark"?a.jsx(hm,{}):a.jsx(gm,{})}),a.jsx(A.a,{href:"https://app.socle.ai",target:"_blank",rel:"noopener noreferrer",whileHover:{scale:1.03},whileTap:{scale:.97},className:"btn-primary px-5 py-2",children:l("header.experienceNow")})]}),a.jsx("button",{onClick:()=>n(!t),className:"md:hidden p-2",style:{color:"var(--color-text)"},children:a.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t?a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M6 18L18 6M6 6l12 12"}):a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M4 6h16M4 12h16M4 18h16"})})})]}),a.jsx(Cn,{children:t&&a.jsxs(A.div,{initial:{opacity:0,y:-8},animate:{opacity:1,y:0},exit:{opacity:0,y:-8},className:"md:hidden glass p-4 space-y-1",style:{borderTop:"1px solid var(--color-border)"},children:[a.jsxs("div",{children:[a.jsxs("p",{className:"py-2 font-mono text-[11px] tracking-widest",style:{color:"var(--color-text-muted)",borderBottom:"1px solid var(--color-border)"},children:["[",l("sectors.nav").toUpperCase(),"]"]}),p.map(v=>a.jsx("a",{href:c(v.href),className:"block py-2 pl-3 font-mono text-[10px] tracking-widest",style:{color:v.other?"var(--color-accent)":"var(--color-text-muted)",borderBottom:"1px solid var(--color-border)",fontStyle:v.other?"italic":void 0},onClick:()=>n(!1),children:v.other?`+ ${v.name}`:`â ${v.name}`},v.href))]}),h.map(v=>a.jsxs("a",{href:c(v.href),className:"block py-2.5 font-mono text-[11px] tracking-widest",style:{color:"var(--color-text-muted)",borderBottom:"1px solid var(--color-border)"},onClick:()=>n(!1),...v.external?{target:"_blank",rel:"noopener noreferrer"}:{},children:["[",v.name,"]"]},v.name)),a.jsxs("div",{className:"pt-3 flex items-center gap-3",children:[a.jsx(pm,{mobile:!0}),a.jsx("button",{onClick:m,className:"p-2",style:{border:"1px solid var(--color-border)",color:"var(--color-text-muted)",background:"transparent"},children:d==="dark"?a.jsx(hm,{}):a.jsx(gm,{})})]}),a.jsx("a",{href:"https://app.socle.ai",target:"_blank",rel:"noopener noreferrer",className:"btn-primary mt-2 block w-full py-2.5 text-center",children:l("header.experienceNow")})]})})]})},C0=()=>a.jsxs("div",{className:"w-full h-full bg-[#0A0A0F] rounded-lg overflow-hidden relative","data-always-dark":!0,children:[a.jsx("div",{className:"h-8 bg-[#1a1a1f] flex items-center px-3 border-b border-white/10",children:a.jsxs("div",{className:"flex gap-1.5",children:[a.jsx("div",{className:"w-3 h-3 rounded-full bg-[#3a3a3f]"}),a.jsx("div",{className:"w-3 h-3 rounded-full bg-[#3a3a3f]"}),a.jsx("div",{className:"w-3 h-3 rounded-full bg-[#3a3a3f]"})]})}),a.jsxs("div",{className:"bg-[#0f0f14] px-4 py-3 border-b border-white/10",children:[a.jsxs("div",{className:"flex items-center justify-between mb-2",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("div",{className:"text-white text-sm font-semibold",children:"AI Chat"}),a.jsx("div",{className:"px-2 py-0.5 bg-orange-900/30 rounded-full text-orange-300 text-xs",children:"Alpha version"})]}),a.jsxs("div",{className:"flex gap-2 text-xs",children:[a.jsxs("div",{className:"px-2 py-1 bg-blue-500/10 rounded text-blue-400 flex items-center gap-1",children:[a.jsx("span",{children:"â"})," Qwen3 235B ",a.jsx("span",{children:"â¼"})]}),a.jsxs("div",{className:"px-2 py-1 bg-gray-700/30 rounded text-gray-400 flex items-center gap-1",children:[a.jsx("span",{children:"ð"})," API Key"]}),a.jsxs("div",{className:"px-2 py-1 bg-gray-700/30 rounded text-gray-400 flex items-center gap-1",children:[a.jsx("span",{children:"ð"})," New conversation"]})]})]}),a.jsx("div",{className:"text-xs text-gray-500 mb-1",children:"Powered by Socle.AI"}),a.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[a.jsx("div",{className:"w-2 h-2 rounded-full bg-green-500"}),a.jsx("span",{className:"text-green-400",children:"Conversation active"}),a.jsx("div",{className:"ml-3 px-2 py-0.5 bg-blue-500/10 rounded text-blue-400 text-xs",children:"You are 100% in Europe, your data is not subject to the cloud act."})]})]}),a.jsxs("div",{className:"p-4 space-y-3 h-[calc(100%-120px)] overflow-y-auto",children:[a.jsx("div",{className:"flex justify-end",children:a.jsx("div",{className:"bg-blue-500 text-white px-4 py-2 rounded-lg max-w-[70%] text-sm",children:"Find me the meeting report from 01/15/2026"})}),a.jsx("div",{className:"flex justify-start",children:a.jsx("div",{className:"bg-gray-800 text-white px-4 py-2 rounded-lg max-w-[70%] text-sm",children:"Hello! How can I help you today?"})})]}),a.jsx("div",{className:"absolute bottom-0 left-0 right-0 bg-[#0f0f14] border-t border-white/10 p-3",children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("div",{className:"w-8 h-8 rounded-full bg-gray-800 flex items-center justify-center text-gray-400 text-xs",children:"ð"}),a.jsx("input",{type:"text",placeholder:"Type your message...",className:"flex-1 bg-gray-800 text-white px-4 py-2 rounded-lg text-sm border border-blue-500/30 focus:outline-none focus:border-blue-500",readOnly:!0}),a.jsx("div",{className:"w-8 h-8 rounded-full bg-blue-500 flex items-center justify-center",children:a.jsx("svg",{className:"w-4 h-4 text-white",f
48ill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 19l9 2-9-18-9 18 9-2zm0 0v-8"})})})]})})]}),j0=()=>a.jsxs("div",{className:"w-full h-full bg-[#0A0A0F] rounded-lg overflow-hidden relative","data-always-dark":!0,children:[a.jsx("div",{className:"h-8 bg-[#1a1a1f] flex items-center px-3 border-b border-white/10",children:a.jsxs("div",{className:"flex gap-1.5",children:[a.jsx("div",{className:"w-3 h-3 rounded-full bg-[#3a3a3f]"}),a.jsx("div",{className:"w-3 h-3 rounded-full bg-[#3a3a3f]"}),a.jsx("div",{className:"w-3 h-3 rounded-full bg-[#3a3a3f]"})]})}),a.jsx("div",{className:"bg-[#0f0f14] px-4 py-3 border-b border-white/10",children:a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx("div",{className:"text-gray-400 cursor-pointer",children:"â"}),a.jsx("div",{className:"text-white font-semibold",children:"Manual review"})]}),a.jsxs("div",{className:"flex items-center gap-3 text-xs",children:[a.jsxs("div",{className:"flex items-center gap-2 text-gray-400",children:[a.jsx("span",{className:"cursor-pointer",children:"â"}),a.jsx("span",{className:"cursor-pointer",children:"â¶"}),a.jsx("span",{children:"0:00 / 3:26"})]}),a.jsxs("div",{className:"flex items-center gap-2 text-gray-400",children:[a.jsx("span",{children:"ð"}),a.jsx("span",{className:"text-xs",children:"Search in transcript"})]}),a.jsx("div",{className:"text-gray-400",children:a.jsx("span",{className:"px-2 py-1 bg-gray-800 rounded text-xs",children:"x1"})}),a.jsx("div",{className:"text-gray-400",children:"ð"})]})]})}),a.jsxs("div",{className:"p-4 space-y-3 h-[calc(100%-80px)] overflow-y-auto",children:[a.jsxs("div",{className:"bg-gray-800 rounded-lg p-3 border-l-2 border-blue-500",children:[a.jsxs("div",{className:"flex items-start justify-between mb-2",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("span",{className:"text-blue-400",children:"â¶"}),a.jsx("span",{className:"text-blue-400 font-medium text-sm",children:"Arthur"})]}),a.jsx("span",{className:"text-gray-500 text-xs",children:"0:03"})]}),a.jsx("p",{className:"text-white text-sm leading-relaxed",children:"There, nothing changes from usual. We always find the counterweight..."})]}),a.jsxs("div",{className:"bg-gray-800 rounded-lg p-3 border-l-2 border-purple-500",children:[a.jsxs("div",{className:"flex items-start justify-between mb-2",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("span",{className:"text-purple-400",children:"â¶"}),a.jsx("span",{className:"text-purple-400 font-medium text-sm",children:"Calogrenan"})]}),a.jsx("span",{className:"text-gray-500 text-xs",children:"0:19"})]}),a.jsx("p",{className:"text-white text-sm leading-relaxed",children:"Okay, yes. And how much will it cost again..."})]})]})]}),fm=()=>{const e=["llama-3.1-8b-instruct","gemma-3-27b-it","llama-3.3-70b-instruct","pixtral-12b-2409","holo2-30b-a3b","deepseek-r1-distill-llama-70b","mistral-nemo-instruct-2407","qwen3-coder-30b-a3b-instruct","qwen3-235b-a22b-instruct-2507","gpt-oss-120b"],t=["gladia","whisper"];return a.jsxs("div",{className:"w-full h-full bg-[#0A0A0F] rounded-lg overflow-hidden relative","data-always-dark":!0,children:[a.jsx("div",{className:"h-8 bg-[#1a1a1f] flex items-center px-3 border-b border-white/10",children:a.jsxs("div",{className:"flex gap-1.5",children:[a.jsx("div",{className:"w-3 h-3 rounded-full bg-[#3a3a3f]"}),a.jsx("div",{className:"w-3 h-3 rounded-full bg-[#3a3a3f]"}),a.jsx("div",{className:"w-3 h-3 rounded-full bg-[#3a3a3f]"})]})}),a.jsxs("div",{className:"p-6 h-[calc(100%-32px)] overflow-y-auto",children:[a.jsxs("div",{className:"mb-6",children:[a.jsx("h3",{className:"text-white font-semibold text-xl mb-1",children:"LLM & ASR"}),a.jsx("p",{className:"text-gray-400 text-sm",children:"Advanced Language Models & Automatic Speech Recognition"})]}),a.jsxs("div",{className:"grid grid-cols-2 gap-6 h-[calc(100%-80px)]",children:[a.jsxs("div",{className:"flex flex-col",children:[a.jsx("h4",{className:"text-blue-400 font-medium mb-3 text-sm",children:"LLM"}),a.jsx("div",{className:"flex-1 space-y-2 overflow-y-auto",children:e.map((n,s)=>a.jsx("div",{className:"bg-gray-800/50 rounded-lg p-3 border border-white/10 hover:border-blue-500/30 transition-colors",children:a.jsx("div",{className:"text-white text-xs font-mono",children:n})}
48,s))})]}),a.jsxs("div",{className:"flex flex-col",children:[a.jsx("h4",{className:"text-purple-400 font-medium mb-3 text-sm",children:"ASR"}),a.jsx("div",{className:"flex-1 space-y-2 overflow-y-auto",children:t.map((n,s)=>a.jsx("div",{className:"bg-gray-800/50 rounded-lg p-3 border border-white/10 hover:border-purple-500/30 transition-colors",children:a.jsx("div",{className:"text-white text-xs font-mono capitalize",children:n})},s))})]})]})]})]})},z0=({screenType:e,className:t=""})=>{const s={chat:C0,transcription:j0,builder:fm}[e]||fm;return a.jsx("div",{className:`relative ${t}`,children:a.jsxs(A.div,{initial:{opacity:0,rotateY:-20,rotateX:8,y:30},animate:{opacity:1,rotateY:-15,rotateX:5,y:0},exit:{opacity:0,rotateY:10,rotateX:-8,y:-30},transition:{duration:.8,ease:"easeOut"},className:"relative",style:{transform:"perspective(1200px) rotateY(-15deg) rotateX(5deg)",transformStyle:"preserve-3d"},children:[a.jsxs("div",{className:"relative rounded-xl overflow-hidden shadow-2xl border border-white/10 bg-black/70 backdrop-blur-sm",style:{boxShadow:"0 20px 60px rgba(0, 224, 255, 0.1), 0 0 100px rgba(0, 0, 0, 0.8)"},children:[a.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-white/3 to-transparent pointer-events-none z-10"}),a.jsx("div",{className:"relative opacity-85",children:a.jsx(s,{})})]}),a.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-white/10 via-trans
48parent to-transparent pointer-events-none rounded-xl"}),a.jsx("div",{className:"absolute -inset-1 bg-gradient-to-r from-neon-blue/20 via-transparent to-purple-500/20 rounded-xl blur-xl pointer-events-none"})]})})},re=({children:e,className:t=""})=>{const n=String(e),s=[];let i="";for(const r of n)r===` 49`?(i&&(s.push({type:"word",value:i}),i=""),s.push({type:"br"})):r===" "?(i&&(s.push({type:"word",value:i}),i=""),s.push({type:"space"})):i+=r;return i&&s.push({type:"word",value:i}),a.jsx("span",{className:t,children:s.map((r,o)=>r.type==="br"?a.jsx("br",{},o):r.type==="space"?a.jsx("span",{className:"inline-block w-[0.3em]","aria-hidden":!0,children:" "},o):a.jsx("span",{className:"inline-block whitespace-nowrap",children:r.value.split("").map((l,u)=>a.jsx("span",{className:"inline-block text-inherit hover:text-neon-blue transition-colors duration-200",children:l},u))},o))})},Qa="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789></-_=+[]#%",ga=({text:e,delay:t=0,speed:n=38,className:s,style:i})=>{const[r,o]=w.useState(()=>e.replace(/[^ ]/g,()=>Qa[Math.floor(Math.random()*Qa.length)])),l=w.useRef(null),u=w.useRef(null);return w.useEffect(()=>{const c=e.split(""),d=c.length*3+18;let m=0;const p=()=>{m++;const h=c.map((v,x)=>{if(v===" ")return" ";const I=Math.floor(x/c.length*d*.72);return m>I?v:Qa[Math.floor(Math.random()*Qa.length)]}).join("");o(h),m<d?l.current=setTimeout(p,n):o(e)};return u.current=setTimeout(p,t),()=>{clearTimeout(u.current),clearTimeout(l.current)}},[e,t,n]),a.jsx("span",{className:s,style:i,children:r})},N0=({size:e=20,color:t="var(--color-accent)",thickness:n=2})=>{const s=`${e}px`,i=`${n}px solid ${t}`;return a.jsxs(a.Fragment,{children:[a.jsx("div",{style:{position:"absolute",top:0,left:0,width:s,height:s,borderTop:i,borderLeft:i,zIndex:20}}),a.jsx("div",{style:{position:"absolute",top:0,right:0,width:s,height:s,borderTop:i,borderRight:i,zIndex:20}}),a.jsx("div",{style:{position:"absolute",bottom:0,left:0,width:s,height:s,borderBottom:i,borderLeft:i,zIndex:20}}),a.jsx("div",{style:{position:"absolute",bottom:0,right:0,width:s,height:s,borderBottom:i,borderRight:i,zIndex:20}})]})},P0=()=>{const{t:e}=U(),t=e("hero.phrases"),[n,s]=w.useState(0),[i,r]=w.useState(""),[o,l]=w.useState(!0),[u,c]=w.useState(!1),[d,m]=w.useState(0);w.useEffect(()=>{const h=setInterval(()=>m(v=>v+1),5e3);return()=>clearInterval(h)},[]),w.useEffect(()=>{const h=t[n];let v=0;r(""),l(!0);const x=setInterval(()=>{v<h.length?(r(h.slice(0,v+1)),v++):(l(!1),clearInterval(x))},50);return()=>clearInterval(x)},[n]),w.useEffect(()=>{if(!o){const h=setTimeout(()=>{s(v=>(v+1)%t.length)},5e3);return()=>clearTimeout(h)}},[o,t.length]);const p=h=>({0:"builder",1:"transcription",2:"chat"})[h]||"builder";return a.jsxs("section",{className:"relative h-screen w-full flex items-center justify-center overflow-hidden",children:[a.jsx("div",{className:"scan-overlay"}),a.jsx("div",{className:"absolute inset-0 pointer-events-none",style:{background:"radial-gradient(ellipse 70% 60% at 30% 50%, var(--shadow-accent-dim) 0%, transparent 65%)",zIndex:0}}),a.jsx("div",{className:"absolute top-20 left-10 w-72 h-72 rounded-full blur-3xl animate-float pointer-events-none",style:{background:"var(--color-accent)",opacity:.04,zIndex:0}}),a.jsx("div",{className:"absolute bottom-20 right-10 w-96 h-96 rounded-full blur-3xl animate-float pointer-events-none",style:{background:"var(--color-gold)",opacity:.035,zIndex:0,animationDelay:"2s"}}),a.jsx("div",{className:"absolute right-0 top-[125%] -translate-y-1/2 w-[500px] h-[1400px] pointer-events-none hidden xl:block",style:{zIndex:1,maskImage:"linear-gradient(to right, transparent 0%, rgba(0,0,0,0.5) 35%, black 65%)",WebkitMaskImage:"linear-gradient(to right, transparent 0%, rgba(0,0,0,0.5) 35%, black 65%)"},children:a.jsx(Cn,{mode:"wait",children:a.jsxs(A.div,{initial:{opacity:0,scale:.85,y:50},animate:{opacity:.75,scale:1,y:0},exit:{opacity:0,scale:.85,y:-50},transition:{duration:.8,ease:"easeInOut"},children:[a.jsx(z0,{screenType:p(n),className:"w-full h-full"}),a.jsx("div",{className:"absolute inset-0 bg-black/20 pointer-events-none rounded-xl"})]},n)})}),a.jsxs("div",{className:"relative z-10 text-center w-full max-w-4xl mx-auto px-5 sm:px-8 md:px-12 py-6 sm:py-8",style:{pointerEvents:"auto"},children:[a.jsx(N0,{size:20,color:"var(--color-accent)",thickness:2}),a.jsxs(A.div,{initial:{opacity:0}
49,animate:{opacity:1},transition:{duration:.25},className:"mb-4 sm:mb-5 flex flex-col items-center gap-1.5",children:[a.jsxs("span",{className:"hud-text flex items-center gap-1.5",style:{fontSize:"10px"},children:[a.jsx(A.span,{animate:{opacity:[1,.15,1],scale:[1,.8,1]},transition:{duration:1.4,repeat:1/0,ease:"easeInOut"},style:{display:"inline-block",width:"5px",height:"5px",borderRadius:"50%",background:"var(--color-gold)",flexShrink:0}}),a.jsx(ga,{text:"SOVEREIGN",delay:120,className:"hud-gold"}),a.jsx("span",{className:"hud-sep",style:{margin:"0 2px"},children:"//"}),a.jsx(ga,{text:"AI HARNESS",delay:520})]}),a.jsxs("div",{style:{width:"180px",height:"1px",background:"var(--color-border)",position:"relative",overflow:"hidden"},children:[a.jsx(A.div,{initial:{scaleX:0,originX:0},animate:{scaleX:1},transition:{duration:1.4,delay:.5,ease:[.16,1,.3,1]},style:{position:"absolute",inset:0,background:"var(--color-gold)",transformOrigin:"left"}}),a.jsx(A.div,{initial:{x:"-100%"},animate:{x:"200%"},transition:{duration:.6,delay:1.85,ease:"easeOut"},style:{position:"absolute",inset:0,background:"linear-gradient(90deg, transparent, var(--color-gold-light), transparent)",opacity:.9}})]})]},d),a.jsxs(A.h1,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,delay:.2},className:"text-4xl sm:text-5xl md:text-6xl lg:text-7xl xl:text-8xl font-bold mb-4 sm:mb-6 leading-tight select-text",style:{color:"var(--color-text)",pointerEvents:"auto",userSelect:"text"},children:[a.jsx(re,{children:e("hero.buildWith")})," ",a.jsx("span",{className:"neon-text-strong cursor-pointer",onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1),children:"SOCLE AI"})]}),a.jsxs(A.p,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,delay:.4},className:"text-sm sm:text-base md:text-lg mb-6 sm:mb-7 font-light tracking-wide select-text",style:{color:"var(--color-text-muted)",pointerEvents:"auto",userSelect:"text"},children:[["hero.effortless","hero.powerful","hero.sovereign"].map((h,v)=>a.jsx(A.span,{className:"font-bold inline-block text-base sm:text-lg md:text-xl lg:text-2xl transition-colors duration-300",style:{color:u?"var(--color-accent)":"var(--color-text)"},animate:u?{x:[0,-1.5,1.5,-1.5,1.5,0],transition:{duration:.4,repeat:1/0,repeatType:"loop",delay:v*.1}}:{x:0},children:e(h)},h)).reduce((h,v,x)=>x===0?[v]:[...h,a.jsx("span",{style:{color:"var(--color-text-muted)"},children:". "},`dot-${x}`),v],[]),". ",a.jsx("br",{}),a.jsx("span",{style:{color:"var(--color-text-muted)"},children:e("hero.description")})]}),a.jsxs(A.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,delay:.6},className:"flex flex-wrap items-center justify-center gap-4",children:[a.jsx(A.a,{href:"https://app.socle.ai",target:"_blank",rel:"noopener noreferrer",whileHover:{scale:1.04},whileTap:{scale:.96},className:"btn-primary inline-block px-8 py-3 sm:px-10 sm:py-4 md:px-12 md:py-4 text-xs sm:text-sm md:text-base",children:e("hero.createNow")}),a.jsx(A.a,{href:"#contact",whileHover:{scale:1.04},whileTap:{scale:.96},className:"btn-outline inline-block px-8 py-3 sm:px-10 sm:py-4 md:px-12 md:py-4 text-xs sm:text-sm md:text-base",children:e("hero.requestDemo")})]})]}),a.jsxs(A.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.8,delay:.8},className:"absolute bottom-0 left-0 right-0 z-10 status-bar",style:{pointerEvents:"auto"},children:[a.jsxs("span",{className:"shrink-0",children:["VERSION: ",a.jsx("span",{className:"hud-accent",children:"1.1"})]}),a.jsx("span",{className:"hud-sep mx-2 hidden sm:inline",children:"//"}),a.jsxs("span",{className:"hidden sm:inline min-w-0 truncate",children:["TARGET: ",a.jsx("span",{className:"hud-gold",children:i||"..."}),o&&a.jsx(A.span,{animate:{opacity:[1,0]},transition:{duration:.6,repeat:1/0,repeatType:"reverse"},className:"inline-block w-px h-3 ml-0.5 align-middle",style:{background:"var(--color-gold)"}})]})]})]})},T0=`from openai import OpenAI 50import os 51 52# Use the OpenAI SDK, just point base_url to Socle 53client = OpenAI( 54 api_key=os.getenv("API_KEY"), 55 base_url="https://app.socle.ai/api/api/v1", # â only this changes 56) 57 58response = client.responses.create( 59 model="gpt-oss-120b", 60 input="Explain why it's important to protect your sensible data against cloud act." 61) 62 63print(response.output_text) 64`,M0=()=>{const[e,t]=w.useState(!1),{t:n}=U(),s=async()=>{await navigator.clipboard.writeText(T0),t(!0),setTimeout(()=>t(!1),2e3)};return a.jsx("section",{id:"quickstart",className:"py-20 px-6 relative",style:{isolation:"isolate",zIndex:1},children:a.jsxs("div",{className:"container mx-auto max-w-4xl",children:[a.jsx(A.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:"mb-8",children:a.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-white",children:a.jsx(re,{children:n("quickStart.title")})})}),a.jsxs(A.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:.1},className:"rounded-xl overflow-hidden bg-[#0d1117] border border-white/10 shadow-xl hover:border-neon-blue/40 hover:shadow-card-hover transition-all duration-300",children:[a.jsxs("div",{className:"flex items-center gap-3 px-4 py-3 border-b border-white/10 bg-[#161b22]",children:[a.jsxs("div",{className:"flex gap-2",children:[a.jsx("span",{className:"w-3 h-3 rounded-full bg-[#ff5f57]","aria-hidden":"true"}),a.jsx("span",{className:"w-3 h-3 rounded-full bg-[#febc2e]","aria-hidden":"true"}),a.jsx("span",{className:"w-3 h-3 rounded-full bg-[#28c840]","aria-hidden":"true"})]}),a.jsxs("div",{className:"flex-1 flex justify-center gap-3 items-center",children:[a.jsx("span",{className:"px-3 py-1 rounded-md bg-neon-blue/20 text-neon-blue text-sm font-medium",children:"Python"}),a.jsx("span",{className:"px-2 py-0.5 rounded-md border border-green-500/40 bg-green-500/10 text-green-400 text-xs font-medium",children:n("quickStart.badge")})]})]}),a.jsxs("div",{className:"relative p-4 md:p-6",children:[a.jsx("pre",{className:"text-sm md:text-base overflow-x-auto font-mono text-left",children:a.jsxs("code",{className:"block text-[#e6edf3]",children:[a.jsx("span",{className:"text-[#e6edf3]",children:"from openai import OpenAI"}),` 65`,a.jsx("span",{className:"text-[#e6edf3]",children:"import os"}),` 66 67`,a.jsx("span",{className:"text-[#8b949e]",children:"# Use the OpenAI SDK, just point base_url to Socle"}),` 68`,a.jsx("span",{className:"text-[#e6edf3]",children:"client = OpenAI("}),` 69`,a.jsx("span",{className:"text-[#e6edf3]",children:" api_key=os.getenv("}),a.jsx("span",{className:"text-[#a5d6ff]",children:'"API_KEY"'}),a.jsx("span",{className:"text-[#e6edf3]",children:"),"}),` 70`,a.jsx("span",{className:"text-[#e6edf3]",children:" base_url="}),a.jsx("span",{className:"text-[#a5d6ff]",children:'"https://app.socle.ai/api/api/v1"'}),a.jsx("span",{className:"text-[#e6edf3]",children:","}),a.jsxs("span",{className:"text-[#8b949e]",children:[" ","# â only this changes"]}),` 71`,a.jsx("span",{className:"text-[#e6edf3]",children:")"}),` 72 73`,a.jsx("span",{className:"text-[#e6edf3]",children:"response = client.responses.create("}),` 74`,a.jsx("span",{className:"text-[#e6edf3]",children:" model="}),a.jsx("span",{className:"text-[#a5d6ff]",children:'"gpt-oss-120b"'}),a.jsx("span",{className:"text-[#e6edf3]",children:","}),` 75`,a.jsx("span",{className:"text-[#e6edf3]",children:" input="}),a.jsx("span",{className:"text-[#a5d6ff]",children:`"Explain why it's important to protect your sensible data against cloud act."`}),` 76`,a.jsx("span",{className:"text-[#e6edf3]",children:")"}),` 77 78`,a.jsx("span",{className:"text-[#ff7b72]",children:"print"}),a.jsx("span",{className:"text-[#e6edf3]",children:"(response.output_text)"})]})}),a.jsx("button",{type:"button",onClick:s,className:"absolute top-4 right-4 p-2 rounded-lg bg-white/5 hover:bg-white/10 text-text-secondary hover:text-neon-blue transition-colors border border-white/10","aria-label":e?"Copié":"Copier le code",children:e?a.jsx("svg",{className:"w-4 h-4 text-green-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})}):a.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"})})})]})]}),a.jsx(A.p,{initial:{opacity:0}
78,whileInView:{opacity:1},viewport:{once:!0},transition:{duration:.6,delay:.2},className:"mt-6 text-center text-text-secondary text-sm md:text-base [&_code]:px-1.5 [&_code]:py-0.5 [&_code]:rounded [&_code]:bg-white/10 [&_code]:text-neon-blue [&_code]:font-mono [&_code]:text-xs",dangerouslySetInnerHTML:{__html:n("quickStart.subtitle")}})]})})},L0={Framework:{bg:"bg-neon-blue/10",border:"border-neon-blue/30",text:"text-neon-blue"},RAG:{bg:"bg-purple-500/10",border:"border-purple-500/30",text:"text-purple-400"},"Multi-Agent":{bg:"bg-gold/10",border:"border-gold/30",text:"text-gold"},Interface:{bg:"bg-green-500/10",border:"border-green-500/30",text:"text-green-400"},IDE:{bg:"bg-pink-500/10",border:"border-pink-500/30",text:"text-pink-400"},LLMOps:{bg:"bg-orange-500/10",border:"border-orange-500/30",text:"text-orange-400"},Automation:{bg:"bg-cyan-500/10",border:"border-cyan-500/30",text:"text-cyan-400"},"No-Code AI":{bg:"bg-indigo-500/10",border:"border-indigo-500/30",text:"text-indigo-400"},Agent:{bg:"bg-yellow-500/10",border:"border-yellow-500/30",text:"text-yellow-400"}},D0={bg:"bg-white/5",border:"border-white/15",text:"text-text-secondary"},O0=()=>{const{t:e}=U(),t=e("openaiEcosystem.tools");return a.jsx("section",{className:"py-16 px-6 relative",style:{isolation:"isolate",zIndex:1},children:a.jsxs("div",{className:"container mx-auto max-w-4xl",children:[a.jsxs(A.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:"mb-10 text-center",children:[a.jsx("span",{className:"inline-block px-3 py-1 rounded-full border border-neon-blue/30 bg-neon-blue/10 text-neon-blue text-xs font-medium tracking-widest uppercase mb-4",children:e("openaiEcosystem.badge")}),a.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-white mb-4",children:a.jsx(re,{children:e("openaiEcosystem.title")})}),a.jsx("p",{className:"text-text-secondary text-base md:text-lg leading-relaxed max-w-2xl mx-auto",children:e("openaiEcosystem.description")})]}),a.jsxs(A.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:.15},className:"rounded-xl border border-white/10 bg-[#0d1117] p-6 md:p-8","data-always-dark":!0,children:[a.jsx("p",{className:"text-xs font-medium tracking-widest uppercase text-white/50 mb-5",children:e("openaiEcosystem.toolsLabel")}),a.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.map((n,s)=>{const i=L0[n.category]??D0;return a.jsxs(A.div,{initial:{opacity:0,scale:.9},whileInView:{opacity:1,scale:1},viewport:{once:!0},transition:{duration:.3,delay:.2+s*.04},className:`flex items-center gap-2 px-3 py-2 rounded-lg border ${i.bg} ${i.border} group`,children:[a.jsx("span",{className:"text-white text-sm font-medium",children:n.name}),a.jsx("span",{className:`text-xs ${i.text} opacity-70`,children:n.category})]},n.name)}),a.jsx(A.div,{initial:{opacity:0,scale:.9},whileInView:{opacity:1,scale:1},viewport:{once:!0},transition:{duration:.3,delay:.2+t.length*.04},className:"flex items-center px-3 py-2 rounded-lg border border-dashed border-white/20 bg-white/3",children:a.jsx("span",{className:"text-white/50 text-sm italic",children:e("openaiEcosystem.andMore")})})]}),a.jsxs("p",{className:"mt-5 text-sm text-white/60 border-t border-white/10 pt-4",children:[a.jsx("span",{className:"text-neon-blue font-medium",children:"â"})," ",e("openaiEcosystem.tip")]})]})]})})},R0={hidden:{},visible:{transition:{staggerChildren:.07,delayChildren:.28}}},$a={hidden:{opacity:0,y:14,filter:"blur(4px)"},visible:{opacity:1,y:0,filter:"blur(0px)",transition:{duration:.45,ease:[.22,1,.36,1]}}},U0=({isOpen:e,onClose:t,title:n,description:s,paragraphs:i})=>(w.useEffect(()=>(e?document.body.style.overflow="hidden":document.body.style.overflow="unset",()=>{document.body.style.overflow="unset"}),[e]),a.jsx(Cn,{mode:"wait",children:e&&a.jsxs(A.div,{initial:{opacity:0}
78,animate:{opacity:1},exit:{opacity:0},className:"fixed inset-0 z-50",children:[a.jsx(A.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},onClick:t,className:"fixed inset-0 bg-black bg-opacity-50 backdrop-blur-sm"}),a.jsx("div",{className:"fixed inset-0 flex items-center justify-center p-4 pointer-events-none",children:a.jsxs(A.div,{initial:{opacity:0,scale:.92,y:16},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.94,y:10},transition:{duration:.38,ease:[.16,1,.3,1]},onClick:r=>r.stopPropagation(),className:"glass-strong rounded-2xl max-w-2xl w-full max-h-[80vh] overflow-y-auto pointer-events-auto relative",children:[a.jsx("button",{type:"button",onClick:r=>{r.preventDefault(),r.stopPropagation(),t()},className:"absolute top-4 right-4 w-8 h-8 rounded-full glass hover:glass-strong flex items-center justify-center transition-colors z-10",style:{color:"var(--color-text-muted)"},onMouseEnter:r=>r.currentTarget.style.color="var(--color-text)",onMouseLeave:r=>r.currentTarget.style.color="var(--color-text-muted)",children:a.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})}),a.jsxs(A.div,{className:"p-8 pt-10",variants:R0,initial:"hidden",animate:"visible",children:[a.jsx(A.div,{variants:$a,className:"mb-3",children:a.jsxs("span",{className:"hud-text",style:{fontSize:"10px"},children:[a.jsx("span",{className:"hud-gold",children:"SOCLE AI"}),a.jsx("span",{className:"hud-sep mx-1",children:"//"}),n.toUpperCase()]})}),a.jsx(A.h3,{variants:$a,className:"text-3xl font-bold mb-1 leading-tight",style:{color:"var(--color-text)"},children:n}),s&&a.jsx(A.p,{variants:$a,className:"text-sm font-medium mb-6 pb-5",style:{color:"var(--color-accent)",borderBottom:"1px solid var(--color-border)"},children:s}),i&&i.map((r,o)=>a.jsx(A.p,{variants:$a,className:`text-sm leading-relaxed ${o<i.length-1?"mb-4":""}`,style:{color:"var(--color-text-muted)"},children:r},o))]})]})})]},"modal-wrapper")})),G0=()=>{const[e,t]=w.useState(null),[n,s]=w.useState(null),{t:i}=U(),r=["openaiCompatible","designedToMoveFast","dynamicInterfaces"],o=[a.jsx("div",{className:"w-full h-32 mb-6 flex items-center justify-center",children:a.jsxs("div",{className:"relative w-24 h-24",children:[a.jsx("div",{className:"absolute inset-0 glass rounded-lg transform rotate-3"}),a.jsx("div",{className:"absolute inset-0 glass rounded-lg transform -rotate-2 translate-y-1"}),a.jsx("div",{className:"absolute inset-0 glass-strong rounded-lg flex items-center justify-center",children:a.jsx("div",{className:"text-4xl font-bold text-white",children:"AI"})})]})}),a.jsxs("div",{className:"w-full h-32 mb-6 flex flex-col items-center justify-center gap-3 px-4",children:[a.jsx("div",{className:"font-mono text-xs tracking-widest uppercase opacity-50 text-white",children:"PoC â Production"}),a.jsx("div",{className:"w-full relative",style:{height:"6px",background:"rgba(255,255,255,0.08)",borderRadius:"0"},children:a.jsx(A.div,{initial:{width:"0%"},whileInView:{width:"100%"},viewport:{once:!1},transition:{duration:1.6,ease:[.16,1,.3,1]},style:{position:"absolute",top:0,left:0,height:"100%",background:"var(--color-gold)"}})}),a.jsxs("div",{className:"flex justify-between w-full font-mono text-xs",style:{color:"var(--color-gold)",opacity:.8},children:[a.jsx("span",{children:"T+0"}),a.jsx("span",{className:"opacity-50",children:"âââ"}),a.jsx(A.span,{initial:{opacity:0}
78,whileInView:{opacity:1},viewport:{once:!1},transition:{delay:1.5,duration:.4},children:"DEPLOYED â"})]})]}),a.jsx("div",{className:"w-full h-32 mb-6 flex flex-col items-center justify-center gap-2 px-4",children:a.jsxs("div",{className:"flex items-center gap-3 w-full",children:[a.jsxs("div",{className:"shrink-0 flex flex-col items-center justify-center font-mono font-bold leading-none",style:{width:"52px",height:"52px",border:"1px solid var(--color-gold)",color:"var(--color-gold)"},children:[a.jsx("span",{style:{fontSize:"18px"},children:"7"}),a.jsx("span",{style:{fontSize:"8px",opacity:.7,letterSpacing:"0.08em"},children:i("effortless.features.dynamicInterfaces.yearsLabel")})]}),a.jsx("div",{className:"flex flex-col gap-1.5 flex-1",children:i("effortless.features.dynamicInterfaces.levers").map((u,c)=>a.jsxs("div",{className:"flex items-center gap-1.5",children:[a.jsx("div",{style:{width:"6px",height:"6px",background:"var(--color-accent)",flexShrink:0}}),a.jsx("span",{className:"font-mono text-white opacity-60",style:{fontSize:"9px",letterSpacing:"0.04em"},children:u})]},c))})]})})],l=r.map((u,c)=>({title:i(`effortless.features.${u}.title`),description:i(`effortless.features.${u}.description`),icon:o[c],paragraphs:i(`effortless.features.${u}.modalContent`)}));return a.jsxs("section",{id:"effortless",className:"min-h-screen py-20 px-6 relative",style:{isolation:"isolate",zIndex:1},children:[a.jsxs("div",{className:"container mx-auto max-w-7xl",children:[a.jsxs(A.div,{initial:{opacity:0,y:50},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.8},className:"mb-16 grid grid-cols-1 md:grid-cols-2 gap-8 md:gap-12 items-start",children:[a.jsx("div",{children:a.jsxs("h2",{className:"text-5xl md:text-6xl font-bold text-white mb-4 leading-tight",children:[a.jsx("span",{className:"text-2xl md:text-3xl font-semibold neon-text block mb-2",children:i("effortless.subtitle")}),a.jsx(re,{children:i("effortless.title1")}),a.jsx("br",{}),a.jsx(re,{children:i("effortless.title2")})]})}),a.jsx("div",{className:"flex items-start",children:a.jsxs("p",{className:"text-lg md:text-xl text-text-secondary leading-relaxed",children:[i("effortless.description")," ",a.jsxs("a",{href:"#",className:"text-white hover:text-neon-blue transition-colors font-medium inline-flex items-center gap-1",children:[i("effortless.makeTheSwitch")," ",a.jsx("span",{children:"â"})]})]})})]}),a.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:l.map((u,c)=>a.jsx(A.div,{initial:{opacity:0,y:50},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.8,delay:c*.15},className:"relative",children:a.jsxs("div",{className:"glass rounded-xl p-6 md:p-8 h-full flex flex-col relative group hover:glass-strong transition-all duration-300",children:[u.icon,a.jsx("h3",{className:"text-2xl font-bold text-white mb-3",children:a.jsx(re,{children:u.title})}),a.jsx("p",{className:"text-text-secondary leading-relaxed mb-4 flex-grow",children:u.description}),a.jsx("div",{ref:d=>{},onClick:d=>{const p=d.currentTarget.getBoundingClientRect(),h=p.left+p.width/2,v=p.top+p.height/2;s({x:h,y:v}),t(c)},className:"absolute bottom-4 right-4 w-8 h-8 rounded-full glass hover:glass-strong flex items-center justify-center text-text-secondary hover:text-neon-blue transition-all duration-300 group-hover:scale-110 cursor-pointer",style:{pointerEvents:"auto",zIndex:10},role:"button",tabIndex:0,onKeyDown:d=>{if(d.key==="Enter"||d.key===" "){d.preventDefault();const p=d.currentTarget.getBoundingClientRect(),h=p.left+p.width/2,v=p.top+p.height/2;s({x:h,y:v}),t(c)}},"aria-label":"Learn more",children:a.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})})})]})},c))})]}),e!==null&&a.jsx(U0,{isOpen:e!==null,onClose:()=>{t(null),s(null)},title:l[e].title,description:l[e].description,paragraphs:l[e].paragraphs,originPosition:n})]})},co=()=>a.jsx("div",{className:"flex justify-center py-1.5","aria-hidden":!0,children:a.jsxs("svg",{width:"12",height:"24",viewBox:"0 0 12 24",fill:"none",children:[a.jsx("line",{x1:"6",y1:"0",x2:"6",y2:"16",stroke:"var(--color-border-strong)",strokeWidth:"1"}),a.jsx("path",{d:"M2 15 L6 22 L10 15",fill:"none",stroke:"var(--color-border-strong)",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round"})]})}),mo=({label:e,sub:t,delay:n})=>a.jsxs(A.div,{initial:{opacity:0,y:12},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,delay:n},className:"rounded-xl px-5 py-4 text-center",style:{border:"1px solid var(--color-border)",background:"color-mix(in srgb, var(--color-bg-secondary) 60%, transparent)"},children:[a.jsx("div",{className:"font-mono text-[11px] tracking-[0.16em] uppercase font-semibold",style:{color:"var(--color-text)"},children:e}),a.jsx("div",{className:"text-xs mt-1",style:{color:"var(--color-text-muted)"},children:t})]}),F0=()=>{const{t:e}=U(),t=e("harness.stack"),n=e("harness.capabilities"),s=e("harness.comparison"),i=e("harness.details");return a.jsx("section",{id:"harness",className:"py-24 px-6 relative",style:{isolation:"isolate",zIndex:1},children:a.jsxs("div",{className:"container mx-auto max-w-5xl",children:[a.jsx(A.div,{initial:{opacity:0}
78,whileInView:{opacity:1},viewport:{once:!0},transition:{duration:.5},className:"text-center mb-5",children:a.jsxs("span",{className:"hud-text inline-flex items-center gap-3",style:{fontSize:"10px",letterSpacing:"0.18em"},children:[a.jsx("span",{className:"inline-block w-8 h-px",style:{background:"var(--color-accent)",opacity:.5}}),e("harness.label"),a.jsx("span",{className:"inline-block w-8 h-px",style:{background:"var(--color-accent)",opacity:.5}})]})}),a.jsx(A.h2,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:"text-3xl md:text-4xl lg:text-5xl font-bold leading-tight mb-6 text-center",style:{color:"var(--color-text)"},children:a.jsx(re,{children:e("harness.title")})}),a.jsx(A.p,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:.1},className:"text-base md:text-lg leading-relaxed max-w-3xl mx-auto mb-14 text-center",style:{color:"var(--color-text-muted)"},children:e("harness.description")}),a.jsxs("div",{className:"max-w-2xl mx-auto mb-16",children:[a.jsx(mo,{label:t.application.label,sub:t.application.sub,delay:0}),a.jsx(co,{}),a.jsxs(A.div,{initial:{opacity:0,scale:.97},whileInView:{opacity:1,scale:1},viewport:{once:!0},transition:{duration:.6,delay:.1},className:"rounded-2xl px-5 py-6 sm:px-8 sm:py-7 relative overflow-hidden",style:{border:"1px solid var(--color-border-strong)",background:"color-mix(in srgb, var(--color-accent) 5%, var(--color-bg-secondary))",boxShadow:"0 0 24px var(--shadow-accent-dim)"},children:[a.jsxs("div",{className:"text-center mb-5",children:[a.jsx("div",{className:"text-xl sm:text-2xl font-bold",style:{color:"var(--color-text)"},children:t.harness.label}),a.jsx("div",{className:"font-mono text-[10px] sm:text-[11px] tracking-[0.18em] uppercase mt-1",style:{color:"var(--color-accent)"},children:t.harness.sub})]}),a.jsx("div",{className:"h-px w-full mb-5",style:{background:"linear-gradient(90deg, transparent, var(--color-border-strong), transparent)"}}),a.jsx("div",{className:"flex flex-wrap justify-center gap-2",children:n.map((r,o)=>a.jsx(A.span,{initial:{opacity:0,y:6},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.3,delay:.15+o*.04},className:"font-mono text-[11px] px-2.5 py-1 rounded-md",style:{border:"1px solid var(--color-border)",background:"color-mix(in srgb, var(--color-accent) 7%, transparent)",color:"var(--color-text)"},children:r},r))})]}),a.jsx(co,{}),a.jsx(mo,{label:t.models.label,sub:t.models.sub,delay:.05}),a.jsx(co,{}),a.jsx(mo,{label:t.infrastructure.label,sub:t.infrastructure.sub,delay:.1})]}),a.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 md:gap-6 mb-16",children:[{label:s.withoutLabel,steps:s.withoutSteps,highlight:!1},{label:s.withLabel,steps:s.withSteps,highlight:!0}].map((r,o)=>a.jsxs(A.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,delay:o*.1},className:"rounded-xl p-6",style:{border:r.highlight?"1px solid var(--color-border-strong)":"1px solid var(--color-border)",background:r.highlight?"color-mix(in srgb, var(--color-accent) 4%, transparent)":"transparent"},children:[a.jsx("div",{className:"hud-text mb-4",style:{fontSize:"10px",color:r.highlight?"var(--color-accent)":"var(--color-text-muted)"},children:r.label}),a.jsx("ol",{className:"space-y-1.5",children:r.steps.map((l,u)=>a.jsxs("li",{className:"flex items-center gap-2",children:[a.jsx("span",{className:"font-mono text-[10px] w-4 shrink-0",style:{color:"var(--color-text-muted)",opacity:.6},children:u+1}),a.jsx("span",{className:"text-sm",style:{color:r.highlight&&l.toLowerCase().includes("socle")?"var(--color-accent)":"var(--color-text)",fontWeight:r.highlight&&l.toLowerCase().includes("socle")?600:400},children:l})]},l))})]},r.label))}),a.jsx(A.div,{initial:{opacity:0}
78,whileInView:{opacity:1},viewport:{once:!0},transition:{duration:.5},className:"text-center mb-6",children:a.jsx("span",{className:"hud-text",style:{fontSize:"10px",letterSpacing:"0.18em"},children:e("harness.detailsLabel")})}),a.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4 mb-12",children:i.map((r,o)=>a.jsxs(A.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.45,delay:o*.08},className:"glass rounded-xl p-5 transition-all duration-300 group",style:{border:"1px solid var(--color-border)"},onMouseEnter:l=>l.currentTarget.style.borderColor="var(--color-border-strong)",onMouseLeave:l=>l.currentTarget.style.borderColor="var(--color-border)",children:[a.jsx("div",{className:"font-semibold text-sm mb-2 transition-colors duration-300 group-hover:text-neon-blue",style:{color:"var(--color-text)"},children:r.title}),a.jsx("p",{className:"text-xs leading-relaxed",style:{color:"var(--color-text-muted)"},children:r.body})]},r.title))}),a.jsx(A.p,{initial:{opacity:0}
78,whileInView:{opacity:1},viewport:{once:!0},transition:{duration:.6},className:"text-sm text-center max-w-2xl mx-auto",style:{color:"var(--color-text-muted)"},children:e("harness.sovereigntyNote")})]})})},V0=()=>{const{t:e}=U(),t=e("modelAgnostic.categories");return a.jsx("section",{className:"py-20 px-6 relative",style:{isolation:"isolate",zIndex:1},children:a.jsxs("div",{className:"container mx-auto max-w-5xl",children:[a.jsx(A.p,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:"text-2xl md:text-3xl lg:text-4xl font-bold text-center leading-tight mb-16 max-w-3xl mx-auto",style:{color:"var(--color-text)"},children:e("modelAgnostic.punchline")}),a.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-10 lg:gap-16 items-center",children:[a.jsxs("div",{children:[a.jsx(A.div,{initial:{opacity:0},whileInView:{opacity:1},viewport:{once:!0},transition:{duration:.5},className:"mb-4",children:a.jsx("span",{className:"hud-text",style:{fontSize:"10px",letterSpacing:"0.18em"},children:e("modelAgnostic.label")})}),a.jsx(A.h2,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:.1},className:"text-3xl md:text-4xl font-bold leading-tight mb-5",style:{color:"var(--color-text)"},children:a.jsx(re,{children:e("modelAgnostic.title")})}),a.jsx(A.p,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:.2},className:"text-base md:text-lg leading-relaxed",style:{color:"var(--color-text-muted)"},children:e("modelAgnostic.description")})]}),a.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:t.map((n,s)=>a.jsxs(A.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.45,delay:s*.08},className:"glass rounded-xl p-5 group transition-all duration-300",style:{border:"1px solid var(--color-border)"},onMouseEnter:i=>i.currentTarget.style.borderColor="var(--color-border-strong)",onMouseLeave:i=>i.currentTarget.style.borderColor="var(--color-border)",children:[a.jsx("div",{className:"font-semibold text-sm mb-1 transition-colors duration-300 group-hover:text-neon-blue",style:{color:"var(--color-text)"},children:n.label}),a.jsx("div",{className:"text-xs",style:{color:"var(--color-text-muted)"},children:n.sub})]},n.label))})]})]})})},B0=()=>{const{t:e}=U();return a.jsx("section",{className:"py-24 px-6 relative",style:{isolation:"isolate",zIndex:1},children:a.jsxs("div",{className:"container mx-auto max-w-3xl text-center",children:[a.jsx(A.div,{initial:{opacity:0}
78,whileInView:{opacity:1},viewport:{once:!0},transition:{duration:.5},className:"mb-5",children:a.jsxs("span",{className:"hud-text inline-flex items-center gap-3",style:{fontSize:"10px",letterSpacing:"0.18em"},children:[a.jsx("span",{className:"inline-block w-8 h-px",style:{background:"var(--color-accent)",opacity:.5}}),e("finalCta.label"),a.jsx("span",{className:"inline-block w-8 h-px",style:{background:"var(--color-accent)",opacity:.5}})]})}),a.jsx(A.h2,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:"text-3xl md:text-4xl lg:text-5xl font-bold leading-tight mb-5",style:{color:"var(--color-text)"},children:a.jsx(re,{children:e("finalCta.title")})}),a.jsx(A.p,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:.1},className:"text-base md:text-lg leading-relaxed mb-9 max-w-2xl mx-auto",style:{color:"var(--color-text-muted)"},children:e("finalCta.description")}),a.jsxs(A.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:.2},className:"flex flex-wrap items-center justify-center gap-4",children:[a.jsx(A.a,{href:"https://app.socle.ai",target:"_blank",rel:"noopener noreferrer",whileHover:{scale:1.04},whileTap:{scale:.96},className:"btn-primary inline-block px-8 py-3 sm:px-10 sm:py-4 text-xs sm:text-sm md:text-base",children:e("finalCta.primary")}),a.jsx(A.a,{href:"#contact",whileHover:{scale:1.04},whileTap:{scale:.96},className:"btn-outline inline-block px-8 py-3 sm:px-10 sm:py-4 text-xs sm:text-sm md:text-base",children:e("finalCta.secondary")})]})]})})},H0=()=>{const{t:e}=U(),t=e("socleIntro.concepts");return a.jsx("section",{className:"py-24 px-6 relative",style:{isolation:"isolate",zIndex:1},children:a.jsxs("div",{className:"container mx-auto max-w-4xl text-center",children:[a.jsx(A.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5},className:"mb-6 flex justify-center",children:a.jsxs("span",{className:"inline-flex items-center gap-2 px-4 py-1.5 rounded-full border border-neon-blue/30 bg-neon-blue/5 text-neon-blue text-sm font-medium tracking-wide",children:[a.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-neon-blue animate-pulse"}),e("socleIntro.badge")]})}),a.jsx(A.h2,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:.1},className:"text-4xl md:text-5xl lg:text-6xl font-bold text-white leading-tight mb-6",children:a.jsx(re,{children:e("socleIntro.title")})}),a.jsx(A.p,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:.2},className:"text-text-secondary text-lg md:text-xl leading-relaxed max-w-3xl mx-auto mb-12",children:e("socleIntro.description")}),a.jsx(A.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:.3},className:"flex flex-wrap justify-center gap-4 mb-6",children:t.map((n,s)=>a.jsx(A.div,{initial:{opacity:0,scale:.9},whileInView:{opacity:1,scale:1},viewport:{once:!0},transition:{duration:.4,delay:.3+s*.1},className:"flex items-center gap-3 px-5 py-3 rounded-xl border border-white/10 bg-white/5 hover:border-neon-blue/40 hover:bg-neon-blue/5 transition-all duration-300 group",children:a.jsxs("div",{className:"text-left",children:[a.jsx("div",{className:"text-white font-semibold text-sm group-hover:text-neon-blue transition-colors",children:n.label}),a.jsx("div",{className:"text-text-secondary text-xs",children:n.sub})]})},s))}),a.jsx(A.p,{initial:{opacity:0}
78,whileInView:{opacity:1},viewport:{once:!0},transition:{duration:.6,delay:.6},className:"text-text-secondary text-sm",children:e("socleIntro.mixNote")})]})})},W0=()=>{const e=["llama-3.1-8b-instruct","gemma-3-27b-it","llama-3.3-70b-instruct","pixtral-12b-2409","holo2-30b-a3b","deepseek-r1-distill-llama-70b","mistral-nemo-instruct-2407","qwen3-coder-30b-a3b-instruct","qwen3-235b-a22b-instruct-2507","gpt-oss-120b"],t=["gladia","whisper"];return a.jsx("div",{className:"w-full h-full bg-[#0A0A0F] flex items-center justify-center p-8","data-always-dark":!0,children:a.jsxs("div",{className:"w-full max-w-4xl h-full flex flex-col",children:[a.jsxs("div",{className:"mb-6",children:[a.jsx("h3",{className:"text-white font-semibold text-xl mb-1",children:"LLM & ASR"}),a.jsx("p",{className:"text-gray-400 text-sm",children:"Advanced Language Models & Automatic Speech Recognition"})]}),a.jsxs("div",{className:"grid grid-cols-2 gap-6 flex-1 overflow-hidden",children:[a.jsxs("div",{className:"flex flex-col",children:[a.jsx("h4",{className:"text-blue-400 font-medium mb-3 text-sm",children:"LLM"}),a.jsx("div",{className:"flex-1 space-y-2 overflow-y-auto pr-2",children:e.map((n,s)=>a.jsx("div",{className:"bg-gray-800/50 rounded-lg p-3 border border-white/10 hover:border-blue-500/30 transition-colors",children:a.jsx("div",{className:"text-white text-xs font-mono",children:n})},s))})]}),a.jsxs("div",{className:"flex flex-col",children:[a.jsx("h4",{className:"text-purple-400 font-medium mb-3 text-sm",children:"ASR"}),a.jsx("div",{className:"flex-1 space-y-2 overflow-y-auto pr-2",children:t.map((n,s)=>a.jsx("div",{className:"bg-gray-800/50 rounded-lg p-3 border border-white/10 hover:border-purple-500/30 transition-colors",children:a.jsx("div",{className:"text-white text-xs font-mono capitalize",children:n})},s))})]})]})]})})},K0=()=>a.jsx("div",{className:"w-full h-full bg-[#0A0A0F] flex items-center justify-center p-8","data-always-dark":!0,children:a.jsxs("svg",{viewBox:"0 0 800 600",className:"w-full h-full max-w-full max-h-full",children:[a.jsxs("g",{id:"orchestrator",children:[a.jsx("circle",{cx:"400",cy:"100",r:"50",fill:"rgba(0, 224, 255, 0.2)",stroke:"rgba(0, 224, 255, 0.6)",strokeWidth:"3"}),a.jsx("circle",{cx:"400",cy:"100",r:"40",fill:"rgba(0, 224, 255, 0.15)",stroke:"rgba(0, 224, 255, 0.5)",strokeWidth:"2"}),a.jsx("text",{x:"400",y:"95",textAnchor:"middle",fill:"#00E0FF",fontSize:"18",fontWeight:"bold",children:"Orchestrator"}),a.jsx("text",{x:"400",y:"110",textAnchor:"middle",fill:"#00E0FF",fontSize:"12",opacity:"0.8",children:"Agent"}),a.jsx("circle",{cx:"400",cy:"100",r:"18",fill:"#00E0FF",opacity:"0.7"})]}),a.jsxs("g",{id:"asr-agent",children:[a.jsx("circle",{cx:"200",cy:"300",r:"45",fill:"rgba(139, 92, 246, 0.2)",stroke:"rgba(139, 92, 246, 0.6)",strokeWidth:"2"}),a.jsx("text",{x:"200",y:"296",textAnchor:"middle",fill:"#8B5CF6",fontSize:"16",fontWeight:"600",children:"ASR Agent"}),a.jsx("text",{x:"200",y:"312",textAnchor:"middle",fill:"#8B5CF6",fontSize:"12",opacity:"0.8",children:"Audio"}),a.jsx("circle",{cx:"200",cy:"300",r:"15",fill:"#8B5CF6",opacity:"0.6"})]}),a.jsxs("g",{id:"llm-rag-agent",children:[a.jsx("circle",{cx:"400",cy:"300",r:"45",fill:"rgba(0, 224, 255, 0.2)",stroke:"rgba(0, 224, 255, 0.6)",strokeWidth:"2"}),a.jsx("text",{x:"400",y:"296",textAnchor:"middle",fill:"#00E0FF",fontSize:"16",fontWeight:"600",children:"LLM Agent"}),a.jsx("text",{x:"400",y:"312",textAnchor:"middle",fill:"#00E0FF",fontSize:"12",opacity:"0.8",children:"RAG"}),a.jsx("circle",{cx:"400",cy:"300",r:"15",fill:"#00E0FF",opacity:"0.6"})]}),a.jsxs("g",{id:"mcp-agent",children:[a.jsx("circle",{cx:"600",cy:"300",r:"45",fill:"rgba(34, 197, 94, 0.2)",stroke:"rgba(34, 197, 94, 0.6)",strokeWidth:"2"}),a.jsx("text",{x:"600",y:"296",textAnchor:"middle",fill:"#22C55E",fontSize:"16",fontWeight:"600",children:"Agent"}),a.jsx("text",{x:"600",y:"312",textAnchor:"middle",fill:"#22C55E",fontSize:"12",opacity:"0.8",children:"MCP"}),a.jsx("circle",{cx:"600",cy:"300",r:"15",fill:"#22C55E",opacity:"0.6"})]}),a.jsxs("g",{id:"llm-connection",children:[a.jsx("rect",{x:"340",y:"420",width:"120",height:"50",rx:"8",fill:"rgba(139, 92, 246, 0.15)",stroke:"rgba(139, 92, 246, 0.5)",strokeWidth:"2"}),a.jsx("text",{x:"400",y:"442",textAnchor:"middle",fill:"#8B5CF6",fontSize:"14",fontWeight:"600",children:"Vector Store"}),a.jsx("text",{x:"400",y:"458",textAnchor:"middle",fill:"#8B5CF6",fontSize:"11",opacity:"0.8",children:"RAG"}),a.jsx("path",{d:"M 400 345 L 400 420",fill:"none",stroke:"rgba(139, 92, 246, 0.6)",strokeWidth:"2.5",markerEnd:"url(#arrowhead-purple)"})]}),a.jsxs("g",{id:"mcp-connection",children:[a.jsx("rect",{x:"540",y:"420",width:"120",height:"50",rx:"8",fill:"rgba(34, 197, 94, 0.15)",stroke:"rgba(34, 197, 94, 0.5)",strokeWidth:"2"}),a.jsx("text",{x:"600",y:"442",textAnchor:"middle",fill:"#22C55E",fontSize:"14",fontWeight:"600",children:"MCP Tool"}),a.jsx("text",{x:"600",y:"458",textAnchor:"middle",fill:"#22C55E",fontSize:"11",opacity:"0.8",children:"Exter
78nal Tool"}),a.jsx("path",{d:"M 600 345 L 600 420",fill:"none",stroke:"rgba(34, 197, 94, 0.6)",strokeWidth:"2.5",markerEnd:"url(#arrowhead-green)"})]}),a.jsxs("g",{id:"asr-connection",children:[a.jsx("rect",{x:"140",y:"420",width:"120",height:"50",rx:"8",fill:"rgba(139, 92, 246, 0.15)",stroke:"rgba(139, 92, 246, 0.5)",strokeWidth:"2"}),a.jsx("text",{x:"200",y:"442",textAnchor:"middle",fill:"#8B5CF6",fontSize:"14",fontWeight:"600",children:"Audio"}),a.jsx("text",{x:"200",y:"458",textAnchor:"middle",fill:"#8B5CF6",fontSize:"11",opacity:"0.8",children:"Input"}),a.jsx("path",{d:"M 200 345 L 200 420",fill:"none",stroke:"rgba(139, 92, 246, 0.6)",strokeWidth:"2.5",markerEnd:"url(#arrowhead-purple)"})]}),a.jsxs("g",{id:"orchestrator-connections",children:[a.jsx("path",{d:"M 370 140 Q 300 200 230 300",fill:"none",stroke:"rgba(0, 224, 255, 0.6)",strokeWidth:"3",markerEnd:"url(#arrowhead-blue)"}),a.jsx("path",{d:"M 230 300 Q 300 200 430 140",fill:"none",stroke:"rgba(139, 92, 246, 0.5)",strokeWidth:"2",strokeDasharray:"4,4",markerEnd:"url(#arrowhead-purple)",opacity:"0.7"}),a.jsx("path",{d:"M 400 150 L 400 255",fill:"none",stroke:"rgba(0, 224, 255, 0.6)",strokeWidth:"3",markerEnd:"url(#arrowhead-blue)"}),a.jsx("path",{d:"M 400 255 Q 400 200 400 150",fill:"none",stroke:"rgba(0, 224, 255, 0.5)",strokeWidth:"2",strokeDasharray:"4,4",markerEnd:"url(#arrowhead-blue)",opacity:"0.7"}),a.jsx("path",{d:"M 430 140 Q 500 200 570 300",fill:"none",stroke:"rgba(0, 224, 255, 0.6)",strokeWidth:"3",markerEnd:"url(#arrowhead-blue)"}),a.jsx("path",{d:"M 570 300 Q 500 200 370 140",fill:"none",stroke:"rgba(34, 197, 94, 0.5)",strokeWidth:"2",strokeDasharray:"4,4",markerEnd:"url(#arrowhead-green)",opacity:"0.7"})]}),a.jsxs("defs",{children:[a.jsx("marker",{id:"arrowhead-blue",markerWidth:"10",markerHeight:"10",refX:"9",refY:"3",orient:"auto",children:a.jsx("polygon",{points:"0 0, 10 3, 0 6",fill:"rgba(0, 224, 255, 0.8)"})}),a.jsx("marker",{id:"arrowhead-purple",markerWidth:"10",markerHeight:"10",refX:"9",refY:"3",orient:"auto",children:a.jsx("polygon",{points:"0 0, 10 3, 0 6",fill:"rgba(139, 92, 246, 0.8)"})}),a.jsx("marker",{id:"arrowhead-green",markerWidth:"10",markerHeight:"10",refX:"9",refY:"3",orient:"auto",children:a.jsx("polygon",{points:"0 0, 10 3, 0 6",fill:"rgba(34, 197, 94, 0.8)"})})]})]})}),_0=()=>a.jsxs("div",{className:"w-full h-full bg-[#0A0A0F] flex items-center justify-center p-8 relative overflow-hidden","data-always-dark":!0,children:[a.jsx("div",{className:"absolute inset-0 opacity-10",children:a.jsx("div",{className:"absolute inset-0",style:{backgroundImage:` 79 linear-gradient(90deg, rgba(0, 224, 255, 0.1) 1px, transparent 1px), 80 linear-gradient(rgba(0, 224, 255, 0.1) 1px, transparent 1px) 81 `,backgroundSize:"40px 40px"}})}),a.jsxs("div",{className:"w-full max-w-6xl h-full flex items-center justify-center relative z-10",children:[a.jsxs("div",{className:"flex items-center justify-center gap-8 md:gap-16",children:[a.jsx("div",{className:"flex flex-col items-center gap-4",children:a.jsx("div",{className:"relative",children:a.jsxs("svg",{width:"180",height:"160",viewBox:"0 0 934 816",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"drop-shadow-2xl",children:[a.jsxs("defs",{children:[a.jsxs("radialGradient",{id:"socleGrad1",cx:"0",cy:"0",r:"1",gradientTransform:"matrix(-535.127 -411.653 792.89 -872.965 696.75 463.37)",gradientUnits:"userSpaceOnUse",children:[a.jsx("stop",{offset:"0.15",stopColor:"#0080FF",stopOpacity:"0"}),a.jsx("stop",{offset:"0.497302",stopColor:"#3DC2FF",stopOpacity:"0.85"}),a.jsx("stop",{offset:"1",stopColor:"#7DDFFF"})]}),a.jsxs("radialGradient",{id:"socleGrad2",cx:"0",cy:"0",r:"1",gradientTransform:"matrix(535.127 411.653 -792.89 872.965 237.246 352.054)",gradientUnits:"userSpaceOnUse",children:[a.jsx("stop",{offset:"0.15",stopColor:"#0080FF",stopOpacity:"0"}),a.jsx("stop",{offset:"0.497302",stopColor:"#3DC2FF",stopOpacity:"0.85"}),a.jsx("stop",{offset:"1",stopColor:"#7DDFFF"})]}),a.jsxs("filter",{id:"socleGlow",children:[a.jsx("feGaussianBlur",{stdDeviation:"4",result:"coloredBlur"}),a.jsxs("feMerge",{children:[a.jsx("feMergeNode",{in:"coloredBlur"}),a.jsx("feMergeNode",{in:"SourceGraphic"})]})]})]}),a.jsx("path",{d:"M869.587 4.52141C874.226 4.19575 878.649 4.3625 882.816 4.97363C910.598 9.04931 927.019 32.9512 920.572 63.3959L813.179 570.56C827.391 503.442 823.083 441.624 803.676 389.059L801.753 384.003C788.585 350.424 769.157 320.763 744.396 296.086C740.504 292.207 736.478 288.452 732.326 284.823C747.428 257.708 758.627 228.88 764.905 199.229
81C769.541 177.339 771.221 156.294 770.213 136.403L271.173 171.432C261.583 192.067 254.267 213.507 249.632 235.398C243.354 265.047 242.499 293.147 246.4 318.926C252.463 358.999 270.019 393.473 296.579 419.462C333.641 455.729 388.232 475.482 453.572 470.896C518.912 466.309 583.642 438.181 637.414 395.538C663.973 421.528 681.529 456.002 687.593 496.074C610.016 553.615 518.775 591.225 426.724 597.687C334.673 604.148 256.847 578.405 201.666 530.182C197.514 526.553 193.489 522.793 189.597 518.914C164.837 494.237 145.412 464.575 132.245 430.997C111.21 377.357 106.143 313.723 120.814 244.44L147.662 117.648C154.109 87.2038 181.3 60.2406 211.672 52.0829C216.228 50.8595 220.856 50.0575 225.495 49.7319L547.541 27.1266L869.587 4.52141Z",fill:"url(#socleGrad1)",filter:"url(#socleGlow)"}),a.jsx("path",{d:"M64.4092 810.903C59.7697 811.229 55.3475 811.062 51.1801 810.451C23.3981 806.375 6.97748 782.474 13.4242 752.029L120.817 244.864C106.605 311.983 110.913 373.801 130.32 426.366L132.243 431.422C145.411 465.001 164.84 494.661 189.6 519.339C193.492 523.218 197.519 526.973 201.671 530.602C186.569 557.717 175.369 586.545 169.091 616.196C164.456 638.086 162.775 659.13 163.783 679.021L662.823 643.993C672.413 623.358 679.729 601.917 684.364 580.027C690.642 550.378 691.497 522.278 687.596 496.498C681.533 456.426 663.977 421.952 637.417 395.963C600.355 359.696 545.764 339.943 480.424 344.529C415.084 349.116 350.354 377.244 296.582 419.887C270.023 393.897 252.467 359.423 246.403 319.351C323.98 261.809 415.221 224.199 507.272 217.738C599.323 211.277 677.149 237.02 732.33 285.243C736.482 288.872 740.507 292.631 744.399 296.51C769.159 321.188 788.584 350.85 801.751 384.428C822.786 438.067 827.853 501.702 813.183 570.985L786.334 697.776C779.888 728.221 752.696 755.184 722.324 763.342C717.768 764.565 713.141 765.367 708.501 765.693L386.455 788.298L64.4092 810.903Z",fill:"url(#socleGrad2)",filter:"url(#socleGlow)"})]})})}),a.jsx("div",{className:"text-white text-6xl md:text-8xl font-bold opacity-90",children:"&"}),a.jsx("div",{className:"flex flex-col items-center gap-2",children:a.jsxs("div",{className:"relative",children:[a.jsxs("div",{className:"absolute inset-0 flex items-center gap-8 opacity-30",children:[a.jsxs("div",{className:"flex flex-col gap-2",children:[a.jsx("div",{className:"w-1 h-12 bg-neon-blue"}),a.jsx("div",{className:"w-1 h-12 bg-neon-blue"})]}),a.jsxs("div",{className:"flex flex-col gap-2",children:[a.jsx("div",{className:"w-1 h-12 bg-neon-blue"}),a.jsx("div",{className:"w-1 h-12 bg-neon-blue"})]})]}),a.jsxs("div",{className:"relative text-white font-bold tracking-wider",children:[a.jsx("div",{className:"text-4xl md:text-5xl",style:{textShadow:"0 0 20px rgba(0, 224, 255, 0.6)"},children:"FAST"}),a.jsx("div",{className:"text-4xl md:text-5xl neon-text-strong",children:"MCP"})]})]})})]}),a.jsx("div",{className:"absolute bottom-8 left-1/2 -translate-x-1/2 flex items-center gap-4 text-text-secondary text-sm",children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("div",{className:"w-2 h-2 rounded-full bg-neon-blue animate-pulse"}),a.jsx("span",{children:"Communication Protocol"})]})})]})]}),Q0=()=>a.jsx("div",{className:"w-full h-full bg-[#0A0A0F] flex items-center justify-center p-8","data-always-dark":!0,children:a.jsxs("svg",{viewBox:"0 0 800 600",className:"w-full h-full max-w-full max-h-full",children:[a.jsxs("g",{id:"agent",children:[a.jsx("circle",{cx:"400",cy:"150",r:"50",fill:"rgba(0, 224, 255, 0.2)",stroke:"rgba(0, 224, 255, 0.5)",strokeWidth:"2"}),a.jsx("circle",{cx:"400",cy:"150",r:"35",fill:"rgba(0, 224, 255, 0.1)",stroke:"rgba(0, 224, 255, 0.4)",strokeWidth:"1.5"}),a.jsx("text",{x:"400",y:"155",textAnchor:"middle",fill:"#00E0FF",fontSize:"16",fontWeight:"bold",children:"Agent"}),a.jsx("circle",{cx:"400",cy:"150",r:"15",fill:"#00E0FF",opacity:"0.6"})]}),a.jsxs("g",{id:"vector-dbs",children:[a.jsxs("g",{id:"db1",children:[a.jsx("rect",{x:"100",y:"350",width:"140",height:"180",rx:"8",fill:"rgba(139, 92, 246, 0.15)",stroke:"rgba(139, 92, 246, 0.4)",strokeWidth:"2"}),a.jsx("rect",{x:"110",y:"360",width:"120",height:"20",rx:"4",fill:"rgba(139, 92, 246, 0.3)"}),a.jsx("text",{x:"170",y:"373",textAnchor:"middle",fill:"#8B5CF6",fontSize:"12",fontWeight:"600",children:"Vector DB 1"}),a.jsx("line",{x1:"130",y1:"390",x2:"210",y2:"390",stroke:"rgba(139, 92, 246, 0.3)",strokeWidth:"1"}),a.jsx("line",{x1:"130",y1:"410",x2:"210",y2:"410",stroke:"rgba(139, 92, 246, 0.3)",strokeWidth:"1"}),a.jsx("line",{x1:"130",y1:"430",x2:"210",y2:"430",stroke:"rgba(139, 92, 246, 0.3)",strokeWidth:"1"}
81),a.jsx("circle",{cx:"170",cy:"500",r:"8",fill:"#8B5CF6",opacity:"0.6"}),a.jsx("text",{x:"170",y:"520",textAnchor:"middle",fill:"#8B5CF6",fontSize:"10",children:"Embeddings"})]}),a.jsxs("g",{id:"db2",children:[a.jsx("rect",{x:"330",y:"350",width:"140",height:"180",rx:"8",fill:"rgba(139, 92, 246, 0.15)",stroke:"rgba(139, 92, 246, 0.4)",strokeWidth:"2"}),a.jsx("rect",{x:"340",y:"360",width:"120",height:"20",rx:"4",fill:"rgba(139, 92, 246, 0.3)"}),a.jsx("text",{x:"400",y:"373",textAnchor:"middle",fill:"#8B5CF6",fontSize:"12",fontWeight:"600",children:"Vector DB 2"}),a.jsx("line",{x1:"360",y1:"390",x2:"440",y2:"390",stroke:"rgba(139, 92, 246, 0.3)",strokeWidth:"1"}),a.jsx("line",{x1:"360",y1:"410",x2:"440",y2:"410",stroke:"rgba(139, 92, 246, 0.3)",strokeWidth:"1"}),a.jsx("line",{x1:"360",y1:"430",x2:"440",y2:"430",stroke:"rgba(139, 92, 246, 0.3)",strokeWidth:"1"}),a.jsx("circle",{cx:"400",cy:"500",r:"8",fill:"#8B5CF6",opacity:"0.6"}),a.jsx("text",{x:"400",y:"520",textAnchor:"middle",fill:"#8B5CF6",fontSize:"10",children:"Embeddings"})]}),a.jsxs("g",{id:"db3",children:[a.jsx("rect",{x:"560",y:"350",width:"140",height:"180",rx:"8",fill:"rgba(139, 92, 246, 0.15)",stroke:"rgba(139, 92, 246, 0.4)",strokeWidth:"2"}),a.jsx("rect",{x:"570",y:"360",width:"120",height:"20",rx:"4",fill:"rgba(139, 92, 246, 0.3)"}),a.jsx("text",{x:"630",y:"373",textAnchor:"middle",fill:"#8B5CF6",fontSize:"12",fontWeight:"600",children:"Vector DB 3"}),a.jsx("line",{x1:"590",y1:"390",x2:"670",y2:"390",stroke:"rgba(139, 92, 246, 0.3)",strokeWidth:"1"}),a.jsx("line",{x1:"590",y1:"410",x2:"670",y2:"410",stroke:"rgba(139, 92, 246, 0.3)",strokeWidth:"1"}),a.jsx("line",{x1:"590",y1:"430",x2:"670",y2:"430",stroke:"rgba(139, 92, 246, 0.3)",strokeWidth:"1"}),a.jsx("circle",{cx:"630",cy:"500",r:"8",fill:"#8B5CF6",opacity:"0.6"}),a.jsx("text",{x:"630",y:"520",textAnchor:"middle",fill:"#8B5CF6",fontSize:"10",children:"Embeddings"})]})]}),a.jsxs("g",{id:"connections",children:[a.jsx("path",{d:"M 370 180 Q 250 250 170 350",fill:"none",stroke:"rgba(0, 224, 255, 0.4)",strokeWidth:"2",markerEnd:"url(#arrowhead)",className:"animate-pulse"}),a.jsx("path",{d:"M 170 350 L 210 350",fill:"none",stroke:"rgba(0, 224, 255, 0.4)",strokeWidth:"2",markerEnd:"url(#arrowhead)"}),a.jsx("path",{d:"M 400 200 L 400 350",fill:"none",stroke:"rgba(0, 224, 255, 0.4)",strokeWidth:"2",markerEnd:"url(#arrowhead)",className:"animate-pulse"}),a.jsx("path",{d:"M 430 180 Q 550 250 630 350",fill:"none",stroke:"rgba(0, 224, 255, 0.4)",strokeWidth:"2",markerEnd:"url(#arrowhead)",className:"animate-pulse"}),a.jsx("path",{d:"M 630 350 L 590 350",fill:"none",stroke:"rgba(0, 224, 255, 0.4)",strokeWidth:"2",markerEnd:"url(#arrowhead)"}),a.jsx("path",{d:"M 210 380 Q 250 280 370 200",fill:"none",stroke:"rgba(139, 92, 246, 0.4)",strokeWidth:"2",strokeDasharray:"4,4",markerEnd:"url(#arrowhead-purple)",opacity:"0.6"}),a.jsx("path",{d:"M 440 380 Q 400 280 430 200",fill:"none",stroke:"rgba(139, 92, 246, 0.4)",strokeWidth:"2",strokeDasharray:"4,4",markerEnd:"url(#arrowhead-purple)",opacity:"0.6"}),a.jsx("path",{d:"M 590 380 Q 550 280 430 200",fill:"none",stroke:"rgba(139, 92, 246, 0.4)",strokeWidth:"2",strokeDasharray:"4,4",markerEnd:"url(#arrowhead-purple)",opacity:"0.6"})]}),a.jsxs("defs",{children:[a.jsx("marker",{id:"arrowhead",markerWidth:"10",markerHeight:"10",refX:"9",refY:"3",orient:"auto",children:a.jsx("polygon",{points:"0 0, 10 3, 0 6",fill:"rgba(0, 224, 255, 0.6)"})}),a.jsx("marker",{id:"arrowhead-purple",markerWidth:"10",markerHeight:"10",refX:"9",refY:"3",orient:"auto",children:a.jsx("polygon",{points:"0 0, 10 3, 0 6",fill:"rgba(139, 92, 246, 0.6)"})})]})]})}),$0=()=>{const[e,t]=w.useState(0),{t:n}=U(),{theme:s}=xf(),i=[{id:"llm-asr",title:n("powerful.features.llmAsr.title"),description:n("powerful.features.llmAsr.description"),media:{type:"component",component:a.jsx(W0,{})}},{id:"rag",title:n("powerful.features.rag.title"),description:n("powerful.features.rag.description"),media:{type:"component",component:a.jsx(Q0,{})}},{id:"a2a-ecosystem",title:n("powerful.features.a2aEcosystem.title"),description:a.jsxs(a.Fragment,{children:[n("powerful.features.a2aEcosystem.description")," ",a.jsxs("a",{href:"https://a2a-protocol.org/",target:"_blank",rel:"noopener noreferrer",className:"text-white hover:text-neon-blue transition-colors font-medium inline-flex items-center gap-1",children:[n("powerful.features.a2aEcosystem.a2aDocumentation")," ",a.jsx("span",{children:"â"})]})]}),media:{type:"component",component:a.jsx(K0,{})}},{id:"socle-fastmcp",title:n("powerful.features.socleFastmcp.title"),description:n("powerful.features.socleFastmcp.description"),media:{type:"component",component:a.jsx(_0,{})}}],r=o=>{t(o===e?null:o)};return a.jsx("section",{id:"powerful",className:"min-h-screen py-12 px-2 relative",style:{isolation:"isolate",zIndex:1},children:a.jsxs("div",{className:"container mx-auto max-w-7xl",children:[a.jsx(A.div,{initial:{opacity:0,y:50},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.8},className:"mb-12",children:a.jsx("h2",{className:"text-2xl md:text-3xl font-semibold neon-text",children:n("powerful.subtitle")})}),a.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-12 items-start",children:[a.jsx("div",{className:"space-y-6",children:i.map((o,l)=>{const u=e===l;return a.jsx("div",{className:"relative",children:a.jsxs("div",{onClick:()=>{r(l)},className:"w-full text-left space-y-4 cursor-pointer py-2 transition-opacity hover:opacity-100 focus:outline-none",style:{opacity:u?1:s==="light"?.45:.38,pointerEvents:"auto"},role:"button",tabIndex:0,onKeyDown:c=>{(c.key==="Enter"||c.key===" ")&&(c.preventDefault(),r(l))},children:[a.jsx(A.h3,{animate:{fontSize:u?"3rem":"2.5rem"},transition:{duration:.4,ease:"easeInOut"},className:"text-4xl md:text-5xl font-bold pointer-events-none transition-colors duration-300",style:{color:u?"var(--color-text)":"var(--color-text-muted)"},children:o.title}),u&&a.jsx(A.div,{initial:{height:0,opacity:0}
81,animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:.5,ease:"easeInOut"},className:"overflow-hidden pointer-events-none",children:a.jsx("p",{className:"text-lg leading-relaxed text-text-primary",children:o.description})})]})},o.id)})}),a.jsx("div",{className:"sticky top-24 h-[600px] md:h-[700px]","data-always-dark":!0,children:a.jsx("div",{className:"relative w-full h-full rounded-2xl overflow-hidden glass-strong",children:a.jsx(Cn,{mode:"wait",children:e!==null?a.jsxs(A.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.95},transition:{duration:.5,ease:"easeInOut"},className:"absolute inset-0",children:[i[e].media.type==="component"?i[e].media.component:i[e].media.type==="image"?a.jsx("img",{src:i[e].media.src,alt:i[e].media.alt,className:"w-full h-full object-cover",loading:"lazy"}):a.jsx("video",{src:i[e].media.src,autoPlay:!0,loop:!0,muted:!0,playsInline:!0,className:"w-full h-full object-cover",children:"Your browser does not support the video tag."}),a.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-black/30 via-transparent to-transparent pointer-events-none"})]},i[e].id):a.jsx(A.div,{initial:{opacity:0}
81,animate:{opacity:1},exit:{opacity:0},className:"w-full h-full flex items-center justify-center bg-glass",children:a.jsxs("div",{className:"text-center text-text-secondary",children:[a.jsx("div",{className:"text-6xl mb-4",children:"ð¯"}),a.jsx("p",{className:"text-lg",children:"Click on a feature to view"})]})},"default")})})})]})]})})},vm=({children:e,className:t="",hover:n=!0,gold:s=!1})=>{const r=`2px solid ${s?"var(--color-gold)":"var(--color-accent)"}`,o="16px";return a.jsxs(A.div,{whileHover:n?{scale:1.01,y:-3}:{},transition:{duration:.22,ease:"easeOut"},className:`relative glass p-6 md:p-8 transition-all duration-300 ease-out 82 ${n?"hover:glass-strong":""} 83 ${t}`,children:[a.jsx("div",{style:{position:"absolute",top:0,left:0,width:o,height:o,borderTop:r,borderLeft:r,pointerEvents:"none",zIndex:2}}),a.jsx("div",{style:{position:"absolute",top:0,right:0,width:o,height:o,borderTop:r,borderRight:r,pointerEvents:"none",zIndex:2}}),a.jsx("div",{style:{position:"absolute",bottom:0,left:0,width:o,height:o,borderBottom:r,borderLeft:r,pointerEvents:"none",zIndex:2}}),a.jsx("div",{style:{position:"absolute",bottom:0,right:0,width:o,height:o,borderBottom:r,borderRight:r,pointerEvents:"none",zIndex:2}}),e]})},Y0=()=>{const e=[{label:"Nuclear",value:68.6,color:"#8B5CF6"},{label:"Hydropower",value:11.6,color:"#3B82F6"},{label:"Wind",value:8.6,color:"#2563EB"},{label:"Biofuels",value:1.7,color:"#F97316"},{label:"Solar",value:5.6,color:"#FBBF24"},{label:"Gas & Others",value:3.8,color:"#64748B"}],t=96,n=e.reduce((u,c)=>u+c.value,0);let s=-90;const i=300,r=250,o=120,l=80;return a.jsx("div",{className:"w-full h-full bg-[#0A0A0F] flex items-center justify-center p-8",children:a.jsxs("svg",{viewBox:"0 0 600 500",className:"w-full h-full max-w-full max-h-full",preserveAspectRatio:"xMidYMid meet",children:[a.jsx("defs",{children:a.jsxs("filter",{id:"chartGlow",children:[a.jsx("feGaussianBlur",{stdDeviation:"2",result:"coloredBlur"}),a.jsxs("feMerge",{children:[a.jsx("feMergeNode",{in:"coloredBlur"}),a.jsx("feMergeNode",{in:"SourceGraphic"})]})]})}),a.jsxs("g",{id:"donut-chart",transform:`translate(${i}, ${r})`,children:[e.map((u,c)=>{const m=u.value/n*100/100*360,p=s,h=s+m;s=h;const v=p*Math.PI/180,x=h*Math.PI/180,I=Math.cos(v)*o,b=Math.sin(v)*o,g=Math.cos(x)*o,f=Math.sin(x)*o,y=m>180?1:0,S=[`M ${I} ${b}`,`A ${o} ${o} 0 ${y} 1 ${g} ${f}`,`L ${Math.cos(x)*l} ${Math.sin(x)*l}`,`A ${l} ${l} 0 ${y} 0 ${Math.cos(v)*l} ${Math.sin(v)*l}`,"Z"].join(" "),E=(p+h)/2*Math.PI/180,k=o+30,N=Math.cos(E)*k,P=Math.sin(E)*k;return a.jsxs("g",{children:[a.jsx("path",{d:S,fill:u.color,opacity:"0.8",stroke:"rgba(255, 255, 255, 0.1)",strokeWidth:"1",filter:"url(#chartGlow)"}),a.jsx("line",{x1:Math.cos(E)*o,y1:Math.sin(E)*o,x2:N,y2:P,stroke:"rgba(255, 255, 255, 0.3)",strokeWidth:"1"}),a.jsxs("text",{x:N+(N>0?5:-5),y:P,fill:"#E0E0E5",fontSize:"10",textAnchor:N>0?"start":"end",dominantBaseline:"middle",children:[u.label,": ",u.value,"%"]})]},c)}),a.jsx("circle",{cx:"0",cy:"0",r:l-5,fill:"rgba(34, 197, 94, 0.1)",stroke:"rgba(34, 197, 94, 0.4)",strokeWidth:"2"}),a.jsxs("text",{x:"0",y:"-10",textAnchor:"middle",fill:"#22C55E",fontSize:"36",fontWeight:"bold",filter:"url(#chartGlow)",children:[t,"%"]}),a.jsx("text",{x:"0",y:"15",textAnchor:"middle",fill:"#22C55E",fontSize:"16",fontWeight:"600",children:"Low Carbon"})]}),a.jsx("text",{x:"300",y:"30",textAnchor:"middle",fill:"#FFFFFF",fontSize:"18",fontWeight:"bold",children:"Electricity generation in France 2024/2025"}),a.jsx("text",{x:"300",y:"470",textAnchor:"middle",fill:"#6B6B7B",fontSize:"10",children:"lowcarbonpower.org/region/France"})]})})},J0=()=>a.jsx("div",{className:"w-full h-full bg-[#0A0A0F] flex items-center justify-center p-8",children:a.jsxs("svg",{viewBox:"0 0 800 600",className:"w-full h-full max-w-full max-h-full",children:[a.jsxs("defs",{children:[a.jsxs("filter",{id:"shadowGlow",children:[a.jsx("feGaussianBlur",{stdDeviation:"3",result:"coloredBlur"}),a.jsxs("feMerge",{children:[a.jsx("feMergeNode",{in:"coloredBlur"}),a.jsx("feMergeNode",{in:"SourceGraphic"})]})]}),a.jsx("marker",{id:"arrowhead-red",markerWidth:"10",markerHeight:"10",refX:"9",refY:"3",orient:"auto",children:a.jsx("polygon",{points:"0 0, 10 3, 0 6",fill:"rgba(239, 68, 68, 0.7)"})}),a.jsx("marker",{id:"arrowhead-blocked",markerWidth:"10",markerHeight:"10",refX:"9",refY:"3",orient:"auto",children:a.jsx("polygon",{points:"0 0, 10 3, 0 6",fill:"rgba(34, 197, 94, 0.7)"})})]}),a.jsxs("g",{id:"european-server",transform:"translate(400, 300)",children:[a.jsx("rect",{x:"-80",y:"-120",width:"160",height:"240",rx:"8",fill:"rgba(255, 255, 255, 0.1)",stroke:"rgba(255, 255, 255, 0.2)",strokeWidth:"2"}),[0,1,2,3,4].map(e=>a.jsx("rect",{x:"-75",y:-110+e*45,width:"150",height:"35",rx:"4",fill:"rgba(255, 255, 255, 0.05)",stroke:"rgba(255, 255, 255, 0.15)",strokeWidth:"1"},e)),a.jsx("circle",{cx:"-60",cy:"-90",r:"4",fill:"#22C55E",filter:"url
83(#shadowGlow)"}),a.jsx("circle",{cx:"-60",cy:"-45",r:"4",fill:"#22C55E",filter:"url(#shadowGlow)"}),a.jsx("circle",{cx:"-60",cy:"0",r:"4",fill:"#22C55E",filter:"url(#shadowGlow)"}),a.jsx("circle",{cx:"-60",cy:"45",r:"4",fill:"#22C55E",filter:"url(#shadowGlow)"}),a.jsx("circle",{cx:"-60",cy:"90",r:"4",fill:"#22C55E",filter:"url(#shadowGlow)"}),a.jsxs("g",{transform:"translate(0, -40)",children:[a.jsx("rect",{x:"-30",y:"-25",width:"60",height:"50",rx:"4",fill:"#003399"}),a.jsx("g",{fill:"#FFCC00",children:[0,1,2,3,4,5,6,7,8,9,10,11].map(e=>{const t=e*30*Math.PI/180,n=Math.cos(t)*15,s=Math.sin(t)*15;return a.jsx("circle",{cx:n,cy:s,r:"3",fill:"#FFCC00"},e)})})]}),a.jsxs("g",{transform:"translate(0, 50)",children:[a.jsx("rect",{x:"-40",y:"-15",width:"80",height:"30",rx:"4",fill:"rgba(0, 51, 153, 0.3)",stroke:"rgba(0, 51, 153, 0.5)",strokeWidth:"2"}),a.jsx("text",{x:"0",y:"5",textAnchor:"middle",fill:"#FFCC00",fontSize:"10",fontWeight:"bold",children:"EU Data"})]}),a.jsx("text",{x:"0",y:"130",textAnchor:"middle",fill:"#00E0FF",fontSize:"14",fontWeight:"600",children:"European Server"})]}),a.jsxs("g",{id:"protection-shield",children:[a.jsx("circle",{cx:"400",cy:"300",r:"200",fill:"none",stroke:"rgba(0, 224, 255, 0.3)",strokeWidth:"3",strokeDasharray:"8,4"}),a.jsx("circle",{cx:"400",cy:"300",r:"180",fill:"rgba(0, 224, 255, 0.05)"}),a.jsx("text",{x:"400",y:"120",textAnchor:"middle",fill:"#00E0FF",fontSize:"16",fontWeight:"bold",children:"Protected Zone"})]}),a.jsxs("g",{id:"usa-threat",transform:"translate(150, 300)",children:[a.jsx("rect",{x:"-60",y:"-40",width:"120",height:"80",rx:"8",fill:"rgba(239, 68, 68, 0.1)",stroke:"rgba(239, 68, 68, 0.4)",strokeWidth:"2"}),a.jsx("text",{x:"0",y:"-25",textAnchor:"middle",fill:"#EF4444",fontSize:"14",fontWeight:"bold",children:"USA"}),a.jsx("text",{x:"0",y:"-10",textAnchor:"middle",fill:"#EF4444",fontSize:"12",opacity:"0.8",children:"Cloud Act"}),a.jsx("line",{x1:"-50",y1:"0",x2:"50",y2:"0",stroke:"#EF4444",strokeWidth:"2",opacity:"0.5"}),a.jsx("line",{x1:"-50",y1:"10",x2:"50",y2:"10",stroke:"#EF4444",strokeWidth:"2",opacity:"0.5"}),a.jsx("line",{x1:"-50",y1:"20",x2:"50",y2:"20",stroke:"#EF4444",strokeWidth:"2",opacity:"0.5"})]}),a.jsxs("g",{id:"china-threat",transform:"translate(650, 300)",children:[a.jsx("rect",{x:"-60",y:"-40",width:"120",height:"80",rx:"8",fill:"rgba(239, 68, 68, 0.1)",stroke:"rgba(239, 68, 68, 0.4)",strokeWidth:"2"}),a.jsx("text",{x:"0",y:"-25",textAnchor:"middle",fill:"#EF4444",fontSize:"14",fontWeight:"bold",children:"China"}),a.jsx("text",{x:"0",y:"-10",textAnchor:"middle",fill:"#EF4444",fontSize:"12",opacity:"0.8",children:"Data Laws"}),a.jsx("rect",{x:"-40",y:"0",width:"80",height:"25",fill:"rgba(239, 68, 68, 0.3)",rx:"2"}),a.jsx("circle",{cx:"0",cy:"12",r:"8",fill:"#FFCC00",opacity:"0.5"})]}),a.jsxs("g",{id:"secure-indicator",children:[a.jsx("text",{x:"400",y:"480",textAnchor:"middle",fill:"#22C55E",fontSize:"14",fontWeight:"600",children:"â 100% European Data Protection"}),a.jsx("text",{x:"400",y:"500",textAnchor:"middle",fill:"#6B6B7B",fontSize:"12",children:"No Cloud Act | No Foreign Access"})]})]})}),Z0=()=>{const{t:e}=U();return a.jsx("section",{id:"sovereign",className:"min-h-screen py-12 px-6 relative",style:{isolation:"isolate",zIndex:1},children:a.jsxs("div",{className:"container mx-auto max-w-7xl",children:[a.jsx(A.div,{initial:{opacity:0,y:50},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.8},className:"mb-16",children:a.jsx("h2",{className:"text-2xl md:text-3xl font-semibold neon-text",children:e("sovereign.subtitle")})}),a.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-8 mb-16",children:[a.jsx(A.div,{initial:{opacity:0,x:-50},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.8},children:a.jsxs(vm,{className:"h-full flex flex-col",children:[a.jsx("h3",{className:"text-3xl md:text-4xl font-bold text-white mb-4",children:a.jsx(re,{children:e("sovereign.noCloudAct.title")})}),a.jsx("p",{className:"text-lg text-text-primary leading-relaxed mb-6",children:e("sovereign.noCloudAct.description")}),a.jsx("div",{className:"flex-1 flex items-center justify-center min-h-[400px] rounded-lg overflow-hidden bg-[#0A0A0F]","data-always-dark":!0,children:a.jsx(J0,{})})]})}),a.jsx(A.div,{initial:{opacity:0,x:50},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.8},children:a.jsxs(vm,{className:"h-full flex flex-col",children:[a.jsx("h3",{className:"text-3xl md:text-4xl font-bold text-white mb-4",children:a.jsx(re,{children:e("sovereign.noConflict.title")})}),a.jsx("p",{className:"text-lg text-text-primary leading-relaxed mb-6",children:e("sovereign.noConflict.description")}),a.jsx("div",{className:"flex-1 flex items-center justify-center min-h-[300px] rounded-lg overflow-hidden bg-[#0A0A0F]","data-always-dark":!0,children:a.jsx("img",{src:"/images/no-conflict-interest.png",alt:"No conflict of interest - by design",className:"w-full h-full object-contain p-8"})})]})})]}),a.jsxs(A.div,{initial:{opacity:0,y:50},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.8},className:"grid grid-cols-1 lg:grid-cols-2 gap-8 items-center",children:[a.jsxs("div",{children:[a.jsx("h3",{className:"text-3xl md:text-4xl font-bold text-white mb-4",children:a.jsx(re,{children:e("sovereign.sustainability.title")})}),a.jsx("p",{className:"text-lg text-text-primary leading-relaxed",children:e("sovereign.sustainability.description")})]}),a.jsxs("div",{className:"space-y-6",children:[a.jsx("div",{className:"h-[400px] rounded-xl overflow-hidden glass-strong border border-white/10 transition-all duration-300 hover:border-neon-blue hover:shadow-card-hover",children:a.jsx(Y0,{})}),a.jsxs("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-4",children:[a.jsxs("a",{href:"https://discord.gg/socle-ai",target:"_blank",rel:"noopener noreferrer",className:"group flex flex-col items-center p-5 rounded-xl glass border border-white/10 hover:border-neon-blue hover:shadow-card-hover transition-all duration-300 text-center",children:[a.jsx("span",{className:"mb-3 text-neon-blue","aria-hidden":!0,
83children:a.jsx("svg",{className:"w-8 h-8",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":!0,children:a.jsx("path",{d:"M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028 14.09 14.09 0 0 0 1.226-1.994.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418z"})})}),a.jsx("span",{className:"font-bold text-white block",children:e("sovereign.links.discord")}),a.jsx("span",{className:"text-sm text-text-secondary",children:e("sovereign.links.discordSub")})]}),a.jsxs("a",{href:"https://app.socle.ai/documentation",target:"_blank",rel:"noopener noreferrer",className:"group flex flex-col items-center p-5 rounded-xl glass border border-white/10 hover:border-neon-blue hover:shadow-card-hover transition-all duration-300 text-center",children:[a.jsx("span",{className:"mb-3 text-neon-blue","aria-hidden":!0,children:a.jsxs("svg",{className:"w-8 h-8",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[a.jsx("path",{d:"M4 19.5A2.5 2.5 0 0 1 6.5 17H20"}),a.jsx("path",{d:"M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"}),a.jsx("path",{d:"M8 7h8"}),a.jsx("path",{d:"M8 11h8"}),a.jsx("path",{d:"M8 15h4"})]})}),a.jsx("span",{className:"font-bold text-white block",children:e("sovereign.links.documentation")}),a.jsx("span",{className:"text-sm text-text-secondary",children:e("sovereign.links.documentationSub")})]}),a.jsxs("a",{href:"https://x.com/socleai",target:"_blank",rel:"noopener noreferrer",className:"group flex flex-col items-center p-5 rounded-xl glass border border-white/10 hover:border-neon-blue hover:shadow-card-hover transition-all duration-300 text-center",children:[a.jsx("span",{className:"mb-3 text-neon-blue","aria-hidden":!0,children:a.jsx("svg",{className:"w-8 h-8",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":!0,children:a.jsx("path",{d:"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"})})}),a.jsx("span",{className:"font-bold text-white block",children:e("sovereign.links.x")}),a.jsx("span",{className:"text-sm text-text-secondary",children:e("sovereign.links.xSub")})]}),a.jsxs("a",{href:"https://www.linkedin.com/company/socle-ai",target:"_blank",rel:"noopener noreferrer",className:"group flex flex-col items-center p-5 rounded-xl glass border border-white/10 hover:border-neon-blue hover:shadow-card-hover transition-all duration-300 text-center",children:[a.jsx("span",{className:"mb-3 text-neon-blue","aria-hidden":!0,children:a.jsx("svg",{className:"w-8 h-8",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":!0,children:a.jsx("path",{d:"M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"})})}),a.jsx("span",{className:"font-bold text-white block",children:e("sovereign.links.linkedin")}),a.jsx("span",{className:"text-sm text-text-secondary",children:e("sovereign.links.linkedinSub")})]})]})]})]})]})})},X0=[a.jsxs("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[a.jsx("circle",{cx:"12",cy:"12",r:"10"}),a.jsx("polyline",{points:"12 6 12 12 16 14"})]},"clock"),a.jsxs("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[a.jsx("path",{d:"M17 8C8 10 5.9 16.17 3.82 19.03L5.71 21 10 17l1 4 7-9"}),a.jsx("path",{d:"M2 22c2-3 4-6 6-8"})]},"leaf"),a.jsx("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:a.jsx("path",{d:"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"})},"shield"),a.jsxs("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[a.jsx("rect",{x:"3",y:"3",width:"7",height:"7"}),a.jsx("rect",{x:"14",y:"3",width:"7",height:"7"}),a.jsx("rect",{x:"14",y:"14",width:"7",height:"7"}),a.jsx("rect",{x:"3",y:"14",width:"7",height:"7"})]},"grid"),a.jsxs("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[a.jsx("rect",{x:"3",y:"11",width:"18",height:"11",rx:"2",ry:"2"}),a.jsx("path",{d:"M7 11V7a5 5 0 0 1 10 0v4"})]},"lock")],eS=({stat:e,index:t})=>a.jsxs(A.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,delay:t*.08},className:"flex flex-col items-center text-center py-8 px-4 relative group",children:[t>0&&a.jsx("div",{className:"absolute left-0 top-1/4 h-1/2 w-px hidden md:block",style:{background:"var(--color-border)"}}
83),a.jsx("div",{className:"mb-3 transition-colors duration-300 group-hover:scale-110 transform",style:{color:"var(--color-accent)"},children:X0[t]}),a.jsxs("div",{className:"font-mono font-bold text-3xl md:text-4xl mb-1 leading-none",children:[a.jsx("span",{className:"transition-colors duration-300",style:{color:"var(--color-text)"},children:e.value}),e.unit&&a.jsx("span",{className:"text-xl ml-1",style:{color:"var(--color-accent)"},children:e.unit})]}),a.jsx("div",{className:"font-mono text-[11px] tracking-[0.12em] uppercase font-semibold mb-1",style:{color:"var(--color-text)"},children:e.label}),e.sub&&a.jsx("div",{className:"text-xs",style:{color:"var(--color-text-muted)"},children:e.sub})]}),tS=()=>{const{t:e}=U(),t=e("stats.items"),n=e("stats.label");return a.jsxs("section",{className:"relative overflow-hidden",style:{borderTop:"1px solid var(--color-border)",borderBottom:"1px solid var(--color-border)",background:"var(--color-bg-secondary)"},children:[a.jsx(A.div,{initial:{opacity:0},whileInView:{opacity:1},viewport:{once:!0},className:"text-center pt-6 pb-2",children:a.jsxs("span",{className:"hud-text inline-flex items-center gap-3",style:{fontSize:"10px",letterSpacing:"0.18em"},children:[a.jsx("span",{className:"inline-block w-8 h-px",style:{background:"var(--color-accent)",opacity:.5}}),n,a.jsx("span",{className:"inline-block w-8 h-px",style:{background:"var(--color-accent)",opacity:.5}})]})}),a.jsx("div",{className:"container mx-auto max-w-6xl px-6",children:a.jsx("div",{className:"grid grid-cols-2 md:grid-cols-5",children:t.map((s,i)=>a.jsx(eS,{stat:s,index:i},i))})})]})},bm=e=>({Reconnaissance:"var(--color-gold)",Recognition:"var(--color-gold)",Partenariat:"var(--color-accent)",Partnership:"var(--color-accent)",Presse:"var(--color-text-muted)",Press:"var(--color-text-muted)",Ãvénement:"var(--color-accent)",Event:"var(--color-accent)"})[e]||"var(--color-text-muted)",nS=({item:e,index:t})=>a.jsxs(A.div,{initial:{opacity:0,y:24},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,delay:t*.1},className:"glass rounded-xl p-6 flex flex-col gap-4 group transition-all duration-300",style:{border:"1px solid var(--color-border)"},onMouseEnter:n=>n.currentTarget.style.borderColor="color-mix(in srgb, var(--color-accent) 40%, transparent)",onMouseLeave:n=>n.currentTarget.style.borderColor="var(--color-border)",children:[a.jsxs("div",{className:"flex items-start justify-between gap-3",children:[a.jsx("span",{className:"font-mono font-bold text-sm tracking-wide",style:{color:"var(--color-text)"},children:e.source}),a.jsx("span",{className:"hud-text text-[9px] px-2 py-0.5 rounded-full border shrink-0",style:{color:bm(e.tag),borderColor:bm(e.tag),opacity:.85},children:e.tag})]}),a.jsxs("p",{className:"text-sm leading-relaxed flex-1 italic transition-colors duration-300 group-hover:text-white",style:{color:"var(--color-text-muted)"},children:['"',e.headline,'"']}),a.jsx("span",{className:"hud-text text-[10px]",style:{color:"var(--color-text-muted)",opacity:.55},children:e.date})]}),sS=()=>{const{t:e}=U(),t=e("press.items"),n=e("press.badge"),s=e("press.title"),i=e("press.testimonialQuote"),r=e("press.testimonialRole"),o=e("press.testimonialLabel");return a.jsx("section",{className:"py-24 px-6 relative",style:{isolation:"isolate",zIndex:1},children:a.jsxs("div",{className:"container mx-auto max-w-6xl",children:[a.jsxs("div",{className:"text-center mb-14",children:[a.jsx(A.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},className:"mb-5",children:a.jsxs("span",{className:"hud-text inline-flex items-center gap-3",style:{fontSize:"10px",letterSpacing:"0.18em"},children:[a.jsx("span",{className:"inline-block w-8 h-px",style:{background:"var(--color-accent)",opacity:.5}}),n,a.jsx("span",{className:"inline-block w-8 h-px",style:{background:"var(--color-accent)",opacity:.5}})]})}),a.jsx(A.h2,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:.1,duration:.6},className:"text-3xl md:text-4xl lg:text-5xl font-bold",style:{color:"var(--color-text)"},children:s})]}),a.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-4 mb-14",children:t.map((l,u)=>a.jsx(nS,{item:l,index:u},u))}),a.jsxs(A.div,{initial:{opacity:0,y:24},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:.3,duration:.6},className:"glass rounded-2xl p-8 md:p-12 relative overflow-hidden",style:{border:"1px solid var(--color-border)"},children:[a.jsx("div",{className:"absolute top-0 left-0 right-0 h-px",style:{background:"linear-gradient(90deg, transparent, var(--color-accent), transparent)"}}),a.jsxs("div",{className:"flex flex-col md:flex-row gap-8 items-start",children:[a.jsxs("div",{className:"shrink-0 md:w-32",children:[a.jsx("span",{className:"hud-text text-[10px] block mb-2",style:{color:"var(--color-accent)"},children:o}),a.jsx("div",{className:"text-7xl font-serif leading-none select-none",style:{color:"var(--color-accent)",opacity:.18},children:'"'})]}),a.jsxs("div",{className:"flex-1",children:[a.jsx("p",{className:"text-lg md:text-xl leading-relaxed mb-6 italic",style:{color:"var(--color-text)"},children:i}),a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx("div",{className:"w-8 h-px",style:{background:"var(--color-accent)"}}),a.jsx("span",{className:"font-mono text-sm",style:{color:"var(--color-text-muted)"},children:r})]})]})]})]})]})})},aS=({copyright:e})=>{const t=w.useRef(null),n=_u(t,{once:!1,margin:"-20px"}),[s,i]=w.useState(0);return w.useEffect(()=>{if(!n)return;const r=setInterval(()=>i(o=>o+1),5e3);return()=>clearInterval(r)},[n]),a.jsxs("div",{ref:t,className:"status-bar px-0 py-3 flex flex-wrap items-center gap-x-3 gap-y-1",children:[a.jsx("span",{children:e}),a.jsx("span",{className:"hud-sep hidden md:inline",children:"//"}),a.jsxs("span",{className:"hidden md:inline flex items-center gap-x-3",children:[a.jsxs("span",{children:["UNIT_ID:"," ",a.jsx(ga,{text:"SOCLE-01",delay:80,speed:36,className:"hud-accent"})]}),a.jsx("span",{className:"hud-sep",children:"//"}),a.jsxs("span",{children:["SOVEREIGNTY:"," ",a.jsx(ga,{text:"100%",delay:460,speed:36,className:"hud-accent"})]})]},s)]})},iS=()=>{const{t:e,language:t}=U(),n=r=>r.startsWith("/#")?`${be(t,"/")}${r.slice(1)}`:r,s=r=>n({studio:"https://uc.socle.ai",platform:"https://app.socle.ai",documentation:"https://app.socle.ai/documentation",usecase:"#",usecases:"/#now",contactUs:"/#contact",community:"https://discord.gg/socle-ai",x:"https://x.com/socleai",youtube:"https://youtube.com/@socleai",linkedin:"https://www.linkedin.com/company/socle-ai",about:"/#about-us",terms:"/#terms",privacy:"/#privacy"}[r]||"#"),i=[{titleKey:"footer.product",items:[{key:"platform",labelKey:"footer.links.platform"},{key:"documentation",labelKey:"footer.links.documentation"},{key:"usecase",labelKey:"footer.links.usecase"}]},{titleKey:"footer.company",items:[{key:"usecases",labelKey:"footer.links.usecases"},{key:"about",labelKey:"footer.links.about"},{key:"terms",labelKey:"footer.links.terms"},{key:"privacy",labelKey:"footer.links.privacy"}]},{titleKey:"footer.connect",items:[{key:"contactUs",labelKey:"footer.links.contactUs"},{key:"community",labelKey:"footer.links.community"},{key:"x",labelKey:"footer.links.x"},{key:"youtube",labelKey:"footer.links.youtube"},{key:"linkedin",labelKey:"footer.links.linkedin"}]}];return a.jsxs("footer",{className:"relative",style:{borderTop:"1px solid var(--color-border)"},children:[a.jsx("div",{style:{height:"2px",background:"linear-gradient(90deg, transparent 0%, var(--color-accent) 40%, var(--color-gold) 60%, transparent 100%)",opacity:.35}}),a.jsxs("div",{className:"container mx-auto max-w-7xl px-6 pt-12 pb-4 relative z-10",children:[a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-5 ga
83p-8 mb-10",children:[a.jsxs("div",{children:[a.jsx("h3",{className:"font-mono font-bold tracking-[0.2em] text-base mb-3 uppercase",style:{color:"var(--color-accent)"},children:"SOCLE AI"}),a.jsx("p",{className:"text-sm leading-relaxed",style:{color:"var(--color-text-muted)"},children:e("footer.tagline")})]}),i.map(r=>a.jsxs("div",{children:[a.jsxs("h4",{className:"font-mono text-[10px] tracking-[0.18em] uppercase mb-4",style:{color:"var(--color-text-muted)"},children:["[",e(r.titleKey),"]"]}),a.jsx("ul",{className:"space-y-2.5",children:r.items.map(o=>{const l=s(o.key);return a.jsx("li",{children:a.jsx("a",{href:l,className:"text-sm transition-colors duration-150",style:{color:"var(--color-text-muted)"},onMouseEnter:u=>u.currentTarget.style.color="var(--color-accent)",onMouseLeave:u=>u.currentTarget.style.color="var(--color-text-muted)",...l.startsWith("http")?{target:"_blank",rel:"noopener noreferrer"}:{},children:e(o.labelKey)})},o.key)})})]},r.titleKey))]}),a.jsx("div",{style:{height:"1px",background:"var(--color-border)"}}),a.jsx(aS,{copyright:e("footer.copyright").replace("{year}",new Date().getFullYear())})]})]})},yf=[{slug:"langchain",image:"/images/battle-cards/langchain.svg",opponent:"LangChain",updated:"2026-08-05",metaDescription:"Socle AI vs LangChain : plateforme d'entreprise clé en main et souveraine contre framework de développement à coder soi-même. Forces, objections, questions clés.",positioning:{competitorRole:"Librairie de code (framework)",socleRole:"Plateforme d'entreprise clé en main",lead:"Socle AI est une plateforme d'entreprise clé en main, souveraine et prête à l'emploi (UI, gouvernance, workflows visuels, API), là où LangChain est une librairie de code qu'il faut tout programmer, intégrer et maintenir soi-même.",summary:"Là où LangChain est un jeu de LEGO pour développeurs Python/JS, Socle AI est la plateforme d'entreprise complète, qui vous permet de faire vos projets en production."},comparisonTable:[{dimension:"Nature du produit",competitor:"Librairie à intégrer",socle:"Plateforme complète"},{dimension:"Interface métier",competitor:"à développer",socle:"Incluse (chat, RAG, dashboards)"},{dimension:"Workflows visuels",competitor:"Non",socle:"Glisser-déposer natif"},{dimension:"Gouvernance et audit",competitor:"LangSmith (cloud US)",socle:"Intégrée et souveraine"},{dimension:"Multimodalité",competitor:"Librairies à assembler",socle:"Native (ASR, TTS, vision)"},{dimension:"Hébergement",competitor:"à votre charge",socle:"SaaS France ou on-premise"},{dimension:"Time-to-market",competitor:"6 à 12 mois de dev",socle:"Immédiat"}],weaknesses:[{title:"Coût de développement et dette technique élevés",body:"LangChain est une bibliothèque de code, pas un logiciel. Pour obtenir une application utilisable, les équipes doivent coder l'interface, la gestion des utilisateurs et des rôles, le RAG, l'authentification et l'infrastructure."},{title:"Instabilité et breaking changes fréquents",body:"L'écosystème LangChain évolue très vite, avec de fréquentes mises à jour qui cassent le code existant, imposant une lourde charge de maintenance aux équipes."},{title:"Aucune interface métier ni no-code natif",body:"Les équipes Produit, Métier ou Ops ne peuvent pas utiliser LangChain directement. Tout passe par du code Python ou TypeScript."},{title:"Souveraineté et gouvernance complexes",body:"Pour le suivi, le monitoring et le réentraînement (via LangSmith), les données transitent souvent par un SaaS américain. Coder sa propre alternative on-premise d'audit et de métriques demande des mois de travail."}],strengths:[{title:"Plateforme clé en main vs framework à coder",body:"Socle AI fournit directement une interface complète (chat, gestion de bases documentaires RAG, tableaux de bord de gouvernance) et un constructeur visuel de workflows par glisser-déposer."},{title:"Time-to-market immédiat, compatible OpenAI",body:"Des mois de développement économisés. La compatibilité 100 % API OpenAI (base_url) permet aux développeurs de garder leurs outils habituels tout en profitant d'une plateforme souveraine."},{title:"Souveraineté, sécurité et on-premise natif",body:"Disponible en SaaS souverain en France (Scaleway) ou déployable on-premise sur vos propres serveurs, en architecture Docker. Les données restent sous contrôle total."},{title:"Multimodalité et orchestration intégrées",body:"Là où LangChain demande d'assembler des dizaines de librairies, Socle AI intègre nativement la transcription audio avec diarization, la synthèse vocale, la vision, le RAG hybride avec reranking et les serveurs MCP."},{title:"Gouvernance et métriques métier",body:"Métriques d'usage, suivi des coûts par organisation et par membre, journal d'audit complet des actions des agents et boucles de feedback utilisateur, dès le premier jour."}],killerQuestions:["Avez-vous estimé le budget et le temps homme (devs, QA, ops) nécessaires pour coder et maintenir l'interface, la gouvernance et le RAG autour de LangChain ?","Comment comptez-vous gérer la dette technique et l'instabilité des mises à jour de LangChain en environnement de production critique ?","Vos équipes métier auront-elles l'autonomie de créer leurs propres workflows d'agents sans repasser systématiquement par l'IT ?"],objections:[{objection:"LangChain est gratuit et open source, pourquoi payer Socle AI ?",response:"Le code de la librairie est gratuit, mais le coût total de possession est élevé : coder l'UI, le RAG, la sécurité multi-tenant, la multimodalité et la gouvernance prend 6 à 12 mois à une équipe de devs. Socle AI donne une plateforme opérationnelle immédiatement, hébergée en France ou on-premise, pour un coût global réduit."},{objection:"Nos développeurs connaissent déjà LangChain et veulent garder la main sur le code.",response:"Socle AI n'impose aucune contrainte aux développeurs : grâce à l'API REST compatible OpenAI, ils peuvent continuer à coder, ou même utiliser LangChain, tout en pointant vers notre socle souverain (base_url). Ãa leur évite juste de réinventer l'infra, l'audio, le RAG et les interfaces."},{objection:"LangChain propose LangSmith pour la gouvernance et le suivi.",response:"LangSmith est un service cloud américain soumis aux lois extraterritoriales. Socle AI intègre nativement la traçabilité des agents, les métriques d'usage, l'auditabilité et les boucles de feedback, sur notre infrastru
83cture française chez Scaleway ou on-premise sur vos serveurs."}]},{slug:"mistral",image:"/images/battle-cards/mistral.svg",opponent:"Mistral AI",updated:"2026-08-05",metaDescription:"Socle AI vs Mistral AI : plateforme souveraine d'orchestration et de gouvernance contre fournisseur de modèles (LLM). Stack, forces, objections, questions clés.",positioning:{competitorRole:"Fournisseur de modèles (LLM)",socleRole:"Plateforme d'orchestration souveraine",lead:"Socle AI est une plateforme souveraine d'orchestration, d'automatisation et de gouvernance IA (SaaS Scaleway ou on-premise Docker), là où Mistral AI est un fournisseur de modèles (LLM).",summary:"Mistral fournit le moteur, Socle AI fournit tout le véhicule métier, et peut même faire tourner les modèles Mistral."},comparisonTable:[{dimension:"Nature du produit",competitor:"Modèles via API",socle:"Plateforme d'orchestration"},{dimension:"Choix du modèle",competitor:"Modèles Mistral",socle:"+12 modèles, dont Mistral"},{dimension:"Orchestration multi-agents",competitor:"à développer",socle:"Native (protocole A2A)"},{dimension:"Workflows visuels",competitor:"Non",socle:"Glisser-déposer natif"},{dimension:"Gouvernance et audit",competitor:"Non fournie",socle:"Intégrée"},{dimension:"Multimodalité",competitor:"Texte et vision",socle:"Texte, vision, ASR, TTS, images"},{dimension:"Hébergement",competitor:"API cloud",socle:"SaaS France ou on-premise Docker"}],stackComparison:{competitor:{label:"Avec Mistral AI",items:["Mistral API","LangChain","Vector DB","Backend","Frontend","Auth","Monitoring"],result:"Complexité élevée"},socle:{label:"Avec Socle AI",items:["Agents","RAG","UI","Orchestration"],result:"Tout intégré"}},weaknesses:[{title:"Fournisseur de briques, pas d'une plateforme métier",body:"Mistral vend l'accès à ses modèles via API. Pour construire une solution d'entreprise (RAG hybride, orchestration multi-agents, workflows visuels, intégrations SI), il faut mobiliser des développeurs pendant des mois pour construire l'infrastructure autour, ou signer un contrat cadre avec Mistral."},{title:"Absence d'outils de gouvernance et d'auditabilité native",body:"Mistral ne fournit pas d'interfaces clé en main pour piloter les taux de succès par tâche, collecter les boucles de feedback utilisateur, ou suivre pas à pas les décisions prises par les agents."},{title:"Ãcosystème multimodal limité",body:"Mistral est centré sur les modèles de langage et la vision. Pas de suite intégrée pour la transcription audio avancée avec diarization, la synthèse vocale, ou l'édition/génération d'images dans le même environnement."},{title:"Risque de dépendance aux API propriétaires",body:"Se connecter directement aux API Mistral enferme la stack technique. Si un autre modèle (Qwen, Llama...) devient plus performant ou plus économique sur un cas d'usage, la migration demande du re-développement."}],strengths:[{title:"Plateforme clé en main et agnostique, +12 modèles",body:"Socle AI orchestre plus de 12 modèles (dont ceux de Mistral, Llama, Qwen), mis à jour en continu. Compatibilité 100 % API OpenAI (base_url) : on change de modèle ou de fournisseur sans modifier une ligne de code."},{title:"Orchestration agentique et workflows visuels",body:"Moteur multi-agents natif (protocole A2A), constructeur visuel par glisser-déposer, et serveurs MCP pour connecter l'IA aux outils métier (Slack, HubSpot, Notion, bases SQL) en quelques clics."},{title:"Souveraineté et sécurité absolue",body:"Déploiement au choix en SaaS souverain en France (Scaleway) ou on-premise (Docker) sur l'infrastructure du client. Immunité totale aux lois extraterritoriales, aucune donnée partagée ni utilisée pour entraîner un modèle."},{title:"Gouvernance, métriques et conformité",body:"Tableaux de bord intégrés pour suivre la consommation, mesurer le succès des échanges par tâche, capturer le feedback des utilisateurs finaux et conserver un journal d'audit complet des actions des agents."},{title:"Accompagnement et expertise métier (7 à 8 ans)",body:"Une méthodologie éprouvée sur des projets critiques (banque, défense, assurance) : étude de faisabilité, mise en place et intégration inclus, pas seulement un logiciel."}],killerQuestions:["Mistral vous fournit l'API du modèle, mais qui va développer et maintenir l'orchestration multi-agents, le RAG hybride et l'interface de gouvernance pour vos équipes ?","Comment comptez-vous mesurer l'adoption réelle par vos utilisateurs et suivre le taux de succès des tâches exécutées par l'IA au quotidien ?","Si demain un modèle open-source surpasse Mistral sur votre cas d'usage précis, quelle sera votre agilité pour switcher sans réécrire vos développements ?"],objections:[{objection:"Mistral est le champion souverain de l'IA en France, pourquoi ne pas passer directement par eux ?",response:"Mistral est un excellent concepteur de modèles, c'est justement pour ça que Socle AI supporte nativement ses modèles. Mais un modèle seul est comme un moteur sans voiture : Socle AI fournit la carrosserie, le tableau de bord et les connecteurs métier. En passant par Socle AI, vous utilisez le modèle Mistral si vous le souhaitez, avec une plateforme complète de gouvernance et d'orchestration en plus."},{objection:"Mistral propose déjà une API simple et Le Chat Pro.",response:"Le Chat est un outil de conversation individuelle, pas un moteur d'automatisation d'entreprise, et l'API Mistral demande de tout coder soi-même. Socle AI permet d'interconnecter des agents autonomes à vos outils (Slack, CRM, bases de données), de créer des workflows visuels, d'orchestrer la multimodalité (voix, image) et de tout installer on-premise si besoin. Tout dépend si vous voulez un simple chat pour vos collaborateurs, ou intégrer l'IA dans vos process et vos produits."},{objection:"Mistral est conforme RGPD et européen.",response:"C'est vrai, mais Socle AI va plus loin : hébergement 100 % français chez Scaleway ou sur vos propres serveurs via Docker, étanchéité totale aux lois extraterritoriales, RAG hybride sécurisé, et absence stricte de réentraînement sur vos données."}]},{slug:"scaleway",image:"/images/battle-cards/scaleway.svg",opponent:"Scaleway",tone:"complementary",competitorLabel:"LE PARTENAIRE",updated:"2026-08-05",metaDescription:"Socle AI et Scaleway : plateforme logicielle IA souveraine et infrastru
83cture cloud française, deux couches complémentaires. Qui fait quoi, et pourquoi les combiner.",positioning:{competitorRole:"Infrastructure cloud (IaaS/PaaS)",socleRole:"Plateforme logicielle IA prête à l'emploi",lead:"Socle AI est une plateforme logicielle applicative d'IA souveraine prête à l'emploi (UI, agents, RAG, workflows visuels, gouvernance), tandis que Scaleway est un fournisseur d'infrastructure cloud : serveurs, GPU, instances et inférence brute de modèles.",summary:"Scaleway fournit le réseau et la puissance de calcul ; Socle AI fournit la suite applicative métier prête à être utilisée par vos équipes. Si vous voulez une IA française, responsable et simple à mettre en place, travaillez avec Scaleway ET Socle AI."},synergy:"Le SaaS de Socle AI tourne directement sur l'infrastructure française de Scaleway. Ce n'est donc pas un choix à trancher : c'est la même souveraineté, avec la couche applicative en plus.",comparisonTable:[{dimension:"Couche couverte",competitor:"Infrastructure (serveurs, GPU)",socle:"Applicatif métier"},{dimension:"Interface utilisateur",competitor:"Console cloud",socle:"Chat, agents, tableaux de bord"},{dimension:"RAG",competitor:"à développer",socle:"Hybride avec reranking, natif"},{dimension:"Orchestration multi-agents",competitor:"à développer",socle:"Native (protocole A2A)"},{dimension:"Workflows visuels",competitor:"Non",socle:"Glisser-déposer natif"},{dimension:"Multimodalité",competitor:"Inférence de modèles",socle:"ASR, TTS, vision intégrés"},{dimension:"Ce qui est mesuré",competitor:"Consommation d'infrastru
83cture",socle:"Succès métier, audit, feedback"}],weaknessesTitle:"Scaleway est un fournisseur de cloud, pas un éditeur d'IA applicative",weaknesses:[{title:"Fournisseur cloud, pas éditeur de logiciel applicatif IA",body:"Scaleway propose des serveurs GPU et des endpoints d'inférence (Managed Inference sur des modèles open-source), mais aucune interface métier prête à l'emploi pour les utilisateurs finaux ou les équipes Produit."},{title:"Pas de briques applicatives natives",body:"Pas de constructeur visuel de workflows, pas de moteur d'orchestration multi-agents, pas de gestionnaire de RAG hybride avec reranking, ni de suite multimodale intégrée (transcription avec diarization, synthèse vocale, vision)."},{title:"Coûts et délais de développement à prévoir",body:"Passer directement par l'API d'inférence suppose de coder l'application, les bases vectorielles, la gestion de la mémoire, les droits d'accès et l'interface utilisateur."},{title:"Gouvernance au niveau de l'infrastructure",body:"Scaleway mesure l'usage des instances, la mémoire et les tokens consommés. Le succès métier des tâches, l'auditabilité des décisions des agents et les boucles de feedback relèvent de la couche applicative."}],strengthsTitle:"Voilà pourquoi nous nous complétons",strengths:[{title:"Souveraineté cloud + puissance applicative",body:"Socle AI s'appuie nativement sur Scaleway en France (certifié ISO/IEC 27001, HDS, conforme RGPD) pour son offre SaaS, ou s'installe en on-premise (Docker) sur l'infrastructure privée du client. Vous cumulez la souveraineté de Scaleway et la couche applicative de Socle AI."},{title:"Plateforme clé en main plutôt qu'API brute",body:"Interface de chat complète, modules de création d'agents, constructeur de workflows visuels, connecteurs métier (Slack, HubSpot, Notion, bases de données) et gestion documentaire en RAG hybride, dès le premier jour."},{title:"Multimodalité et orchestration multi-agents natives",body:"Gestion de la voix (Whisper / Gladia avec diarization), génération d'images, synthèse vocale, et orchestration dynamique d'agents spécialisés via le protocole A2A."},{title:"Gouvernance et conformité métier",body:"Tableaux de bord de consommation par organisation, traçabilité des échanges, journaux d'audit et boucles de feedback utilisateur."},{title:"Accompagnement et expertise (7 à 8 ans)",body:"Une méthodologie globale pour cadrer et déployer vos cas d'usage métier complexes, au-delà de la fourniture du logiciel."}],killerQuestions:["Scaleway vous donne accès à des instances GPU et à de l'inférence brute, mais quelle équipe va coder l'interface, le moteur de RAG hybride et les connecteurs vers vos outils métier ?","Comment allez-vous mesurer le taux de réussite des tâches IA et l'adoption par vos utilisateurs métier avec un tableau de bord d'infrastru
83cture cloud ?","Saviez-vous que le SaaS de Socle AI est hébergé en France chez Scaleway ? Vous gardez les mêmes garanties de souveraineté sans avoir à réinventer la couche applicative."],objections:[{objection:"Scaleway propose déjà des API d'inférence de modèles d'IA managées.",response:"Une API d'inférence renvoie du texte brut à un développeur. Pour en faire un service utile à vos métiers, il faut construire le RAG, l'orchestration multi-agents, les workflows et l'interface. Socle AI fournit toute cette couche applicative prête à l'emploi, et peut s'interconnecter aux modèles hébergés sur Scaleway."},{objection:"Nous voulons rester 100 % souverains en passant par un cloud français comme Scaleway.",response:"Nous partageons exactement cette vision : le SaaS Socle AI est hébergé directement chez Scaleway en France, sans exposition aux lois extraterritoriales et sans donnée partagée ni utilisée pour entraîner un modèle. Vous avez la garantie souveraine de Scaleway couplée à l'agilité logicielle de Socle AI."},{objection:"Passer en direct avec Scaleway nous coûtera moins cher en licence.",response:"L'infrastructure brute coûte moins cher au départ, mais le coût total de possession grimpe vite quand il faut payer des développeurs pendant 6 à 12 mois pour créer et maintenir l'application autour. Socle AI réduit fortement le délai de mise sur le marché."}]},{slug:"iguane-solutions",draft:!0,image:"/images/battle-cards/iguane-solutions.svg",opponent:"Iguane Solutions",tone:"complementary",competitorLabel:"L'INFOGÃREUR",updated:"2026-08-05",metaDescription:"Socle AI et Iguane Solutions : plateforme logicielle IA clé en main et hébergeur-infogéreur d'infrastructure sur-mesure. Qui fait quoi, et pourquoi les associer.",positioning:{competitorRole:"Hébergeur et infogéreur d'infrastructure",socleRole:"Ãditeur de plateforme logicielle IA",lead:"Socle AI est une plateforme logicielle applicative clé en main dédiée à l'orchestration, l'automatisation et la gouvernance de l'IA, tandis qu'Iguane Solutions est un hébergeur et infogéreur d'infrastructures cloud et IT sur-mesure.",summary:"Iguane fournit les serveurs, le matériel et la tuyauterie ; Socle AI fournit la plateforme d'intelligence, l'interface et les workflows métier prêts à l'emploi, qui peuvent tourner sur l'infrastructure d'Iguane."},synergy:"L'idéal si vous voulez allier une vraie expertise de déploiement d'infrastructure pour faire tourner de l'IA, et une solution éprouvée pour que vos équipes l'utilisent dans de
83s conditions industrielles : prenez Socle AI et Iguane Solutions.",comparisonTable:[{dimension:"CÅur de métier",competitor:"Hébergement et infogérance sur-mesure",socle:"Ãdition de logiciel IA"},{dimension:"MCO de l'infrastructure",competitor:"Expertise principale",socle:"Délégué à l'hébergeur"},{dimension:"Couche applicative IA",competitor:"Présente, hors spécialité",socle:"Spécialité"},{dimension:"Ce qui est mesuré",competitor:"Uptime, CPU, mémoire, réseau",socle:"Succès des tâches, qualité, feedback"},{dimension:"Modèles accessibles",competitor:"Ceux déployés sur l'infrastructure",socle:"+12 via API compatible OpenAI"},{dimension:"Déploiement",competitor:"Infrastructure gérée",socle:"S'installe sur cette infrastructure"}],weaknessesTitle:"Iguane, un expert de l'infrastructure IA",weaknesses:[{title:"Infogéreur d'infrastructure avant tout",body:"Iguane excelle dans le maintien en condition opérationnelle de serveurs, de clusters Kubernetes ou de clouds privés. Une couche applicative capable de créer des agents, de faire du RAG ou d'orchestrer des LLM existe, mais ce n'est pas là que se situe leur cÅur de métier."},{title:"Gouvernance infrastructure plutôt que métier",body:"Iguane surveille le CPU, la mémoire, le réseau et l'uptime. Mesurer le taux de succès des tâches IA, suivre la qualité des réponses ou gérer les boucles de feedback utilisateur relève d'une autre couche."}],strengthsTitle:"Pourquoi associer Socle AI à Iguane est une bonne idée",strengths:[{title:"Plateforme applicative prête à l'emploi",body:"Interface utilisateur, gestion des vector stores pour le RAG hybride, orchestration multi-agents et constructeur de workflows no-code/low-code, disponibles immédiatement. La transcription vocale, la synthèse vocale, la génération d'images et les LLM sont déjà gérés."},{title:"Expertise IA métier intégrée (7 à 8 ans)",body:"Au-delà du logiciel, une méthodologie éprouvée pour transformer des besoins complexes (banque, assurance, défense) en cas d'usage concrets, avec accompagnement et intégration inclus."},{title:"Souplesse de déploiement",body:"Socle AI s'installe en SaaS souverain ou directement en on-premise (architecture Docker) sur l'infrastructure privée de votre choix, y compris sur des serveurs gérés par Iguane Solutions."},{title:"Gouvernance et métriques métier",body:"Tableaux de bord de consommation, usage par membre, auditabilité complète et mesure de la réussite des tâches via des boucles de feedback."},{title:"Standardisation API OpenAI",body:"Compatibilité 100 % API OpenAI (base_url) : vos développeurs basculent d'un modèle à l'autre sans réécriture, y compris vers des modèles qui ne sont pas déployés sur l'infrastructure, utile en phase d'expérimentation ou sur des cas particuliers."}],killerQuestions:["Iguane gère vos serveurs et vos GPU, mais qui va permettre à vos développeurs de monitorer les usages de vos agents et d'interconnecter vos outils ?","Comment allez-vous mesurer l'efficacité de vos workflows IA et collecter le feedback de vos utilisateurs avec un prestataire d'infrastructure seul ?","Saviez-vous que la plateforme Socle AI se déploie en on-premise via Docker directement sur votre infrastru
83cture gérée, pour allier le meilleur du logiciel IA et de la souveraineté infra ?"],objections:[{objection:"Iguane Solutions nous garantit un hébergement et une infogérance 100 % sur-mesure en France.",response:"C'est une excellente chose pour l'infrastructure. Mais l'infrastructure seule ne résout pas vos cas d'usage métier : Socle AI est une plateforme logicielle qui s'installe en on-premise (Docker) sur n'importe quel cloud ou serveur privé. Vous conservez votre hébergement sécurisé tout en disposant d'une plateforme d'IA applicative prête à l'emploi dès le premier jour."},{objection:"Iguane peut nous déployer des modèles open source sur des serveurs GPU dédiés.",response:"Déployer un modèle sur un serveur donne une API brute, pas un service métier. Socle AI apporte la surcouche logicielle indispensable : interface de chat, mémoire contextuelle, RAG hybride (PDF, Word, audio), transcription vocale et connecteurs vers vos outils (Slack, CRM, bases de données). Sans elle, il faut tout coder."},{objection:"Nous avons déjà un contrat cadre avec Iguane pour toute notre infrastru
83cture IT.",response:"Socle AI n'est pas un concurrent d'Iguane, nous sommes complémentaires : nous sommes éditeur de logiciel d'IA. Vous pouvez parfaitement conserver votre contrat d'infrastructure et y déployer la brique applicative Socle AI pour répondre immédiatement aux besoins IA de vos équipes."}]},{slug:"outscale",image:"/images/battle-cards/outscale.svg",opponent:"OUTSCALE",tone:"complementary",competitorLabel:"L'INFRASTRUCTURE QUALIFIÃE",updated:"2026-08-05",metaDescription:"Socle AI et OUTSCALE (3DS OUTSCALE) : cloud souverain qualifié SecNumCloud 3.2 et plateforme applicative d'IA. Qui fait quoi, et pourquoi les déployer ensemble.",positioning:{competitorRole:"Cloud IaaS/PaaS qualifié SecNumCloud 3.2",socleRole:"Plateforme applicative logicielle d'IA",lead:"OUTSCALE fournit l'infrastructure cloud IaaS/PaaS souveraine la plus hautement certifiée (SecNumCloud 3.2), tandis que Socle AI fournit la plateforme applicative logicielle d'IA : interface, agents, RAG hybride, workflows visuels et gouvernance.",summary:"OUTSCALE fournit la fondation matérielle et la sécurité de niveau Ãtat, les GPU et le cloud qualifié ; Socle AI fournit la suite logicielle métier clé en main."},synergy:"Socle AI se déploie via Docker ou Kubernetes (OKS) directement dans votre tenant OUTSCALE : vous conservez la qualification SecNumCloud 3.2 et gagnez la couche applicative par-dessus.",comparisonTable:[{dimension:"Couche couverte",competitor:"Infrastructure (GPU, VM, Kubernetes)",socle:"Applicative métier"},{dimension:"Qualification",competitor:"SecNumCloud 3.2 (ANSSI)",socle:"S'installe dans ce périmètre"},{dimension:"Interface métier",competitor:"Console cloud",socle:"Chat, agents, tableaux de bord"},{dimension:"RAG hybride",competitor:"à développer",socle:"Natif, multi-sources avec reranking"},{dimension:"Orchestration multi-agents",competitor:"à développer",socle:"Native (protocole A2A)"},{dimension:"Multimodalité",competitor:"Calcul GPU",socle:"Transcription, TTS, vision intégrés"},{dimension:"Ce qui est mesuré",competitor:"GPU, RAM, stockage, bande passante",socle:"Adoption, succès par tâche, feedback"}],weaknessesTitle:"Pourquoi OUTSCALE seul ne suffit pas",weaknesses:[{title:"Acteur IaaS/PaaS, pas éditeur de logiciel applicatif IA",body:"OUTSCALE excelle dans la fourniture de puissance de calcul GPU, de machines virtuelles et de clusters Kubernetes qualifiés SecNumCloud. En revanche, il ne fournit pas d'interface graphique clé en main pour les utilisateurs métier non techniques."},{title:"Pas de briques applicatives ni d'orchestration IA natives",body:"Pas de moteur d'orchestration multi-agents (protocole A2A), pas de constructeur visuel no-code/low-code de workflows, pas de moteur de RAG hybride multi-sources avec reranking, ni de suite multimodale (transcription avec diarization, TTS, vision)."},{title:"Délais et coûts de développement applicatif",body:"Déployer un modèle ou une instance GPU sur OUTSCALE donne accès à un service d'infrastructure ou à une API. Vos équipes doivent ensuite coder l'application, l'interface, la gestion des droits, la mémoire contextuelle et la gouvernance métier."},{title:"Gouvernance au niveau de l'infrastructure",body:"OUTSCALE suit la consommation de ressources (GPU, RAM, stockage, bande passante). Le suivi de l'adoption métier, le taux de succès par tâche exécutée par les agents et les boucles de feedback relèvent de la couche applicative."}],strengthsTitle:"L'alliance gagnante : Socle AI sur OUTSCALE",strengths:[{title:"La stack IA souveraine de référence",body:"En déployant Socle AI (Docker ou Kubernetes OKS) directement sur l'infrastructure OUTSCALE, le client obtient le niveau maximal de sécurité délivré en France par l'ANSSI (SecNumCloud 3.2), combiné à une suite applicative d'IA prête à l'emploi."},{title:"Time-to-market immédiat pour les entités critiques",body:"Secteur public, défense, santé (certifié HDS), banque et OIV peuvent déployer des copilotes métier, du RAG sur documents confidentiels et des agents autonomes en quelques jours, sans passer des mois à développer l'infrastru
83cture logicielle."},{title:"Orchestration multi-agents et workflows visuels",body:"Moteur d'agents autonomes, studio de workflows par glisser-déposer, connecteurs d'outils métier, et compatibilité 100 % API OpenAI (base_url) pour basculer entre plus de 12 modèles."},{title:"Gouvernance et auditabilité complète",body:"Tableaux de bord de consommation d'IA par direction et par membre, journaux d'audit détaillés des actions prises par les agents, et collecte de feedback utilisateur intégrée."},{title:"Accompagnement métier de bout en bout",body:"7 à 8 ans d'expertise dans le cadrage et l'intégration de cas d'usage IA à fort enjeu."}],killerQuestions:["OUTSCALE vous garantit un cloud souverain qualifié SecNumCloud 3.2 pour vos GPU, mais quelle application et quelle interface vos collaborateurs vont-ils utiliser au quotidien pour interagir avec ces modèles ?","Avez-vous chiffré l'effort de développement interne pour créer le moteur RAG, l'orchestrateur d'agents et la gestion des droits d'accès au-dessus de vos instances OUTSCALE ?","Saviez-vous que la plateforme Socle AI s'installe directement sur votre tenant OUTSCALE, pour combiner le plus haut niveau de sécurité européen avec une solution d'IA métier immédiatement opérationnelle ?"],objections:[{objection:"Nous sommes tenus à la doctrine « Cloud au centre » et devons utiliser un cloud SecNumCloud comme OUTSCALE.",response:"C'est une excellente décision, et Socle AI n'a pas vocation à remplacer votre hébergeur : la plateforme s'installe en on-premise (Docker ou Kubernetes) directement au sein de votre environnement OUTSCALE SecNumCloud 3.2. Vous respectez à 100 % les exigences d'Ãtat tout en disposant immédiatement d'une plateforme logicielle d'IA complète."},{objection:"OUTSCALE propose déjà des offres d'IA et de GPU managés.",response:"OUTSCALE fournit la puissance de calcul brute et l'hébergement de modèles. Mais un GPU ou une API ne fournit ni interface de chat, ni gestionnaire de bases documentaires RAG, ni connecteurs métier. Socle AI est le moteur applicatif qui vient se poser sur les GPU d'OUTSCALE pour rendre l'IA exploitable par vos équipes métier."},{objection:"Pourquoi ne pas développer notre propre application d'IA au-dessus d'OUTSCALE ?",response:"Développer en interne une plateforme sécurisée, multi-agents, multimodale (voix, image), avec RAG hybride et gouvernance représente 6 à 12 mois de R&D lourde. Avec Socle AI déployé sur OUTSCALE, vous gagnez ce temps et bénéficiez d'une solution éprouvée en environnement critique."}]},{slug:"ovhcloud",image:"/images/battle-cards/ovhcloud.svg",opponent:"OVHcloud",tone:"complementary",competitorLabel:"L'INFRASTRUCTURE",updated:"2026-08-05",metaDescription:"Socle AI et OVHcloud : infrastructure cloud souveraine européenne et plateforme logicielle d'IA applicative. Qui fait quoi, et pourquoi les combiner pour une stack 100 % française.",positioning:{competitorRole:"Infrastructure cloud souveraine européenne",socleRole:"Plateforme logicielle d'IA applicative",lead:"OVHcloud fournit l'infrastructure cloud souveraine européenne (IaaS/PaaS, GPU, serveurs dédiés, AI Endpoints), tandis que Socle AI fournit la plateforme logicielle d'IA applicative prête à l'emploi : interface, agents autonomes, RAG hybride, workflows visuels et gouvernance.",summary:"OVHcloud fournit la puissance brute et le matériel français ; Socle AI fournit la suite d'intelligence et les interfaces métier. Ensemble, une stack 100 % française et immédiatement opérationnelle."},synergy:"Socle AI se déploie via Docker directement sur vos serveurs ou instances GPU OVHcloud : vous valorisez l'infrastructure que vous avez déjà , sans repartir de zéro.",comparisonTable:[{dimension:"Couche couverte",competitor:"Infrastructure (GPU, serveurs, endpoints)",socle:"Applicative métier"},{dimension:"Interface métier",competitor:"Console cloud",socle:"Chat, agents, tableaux de bord"},{dimension:"Workflows visuels",competitor:"Non",socle:"Studio par glisser-déposer"},{dimension:"RAG hybride",competitor:"à développer",socle:"Natif avec reranking documentaire"},{dimension:"Orchestration multi-agents",competitor:"à développer",socle:"Native (protocole A2A)"},{dimension:"Multimodalité",competitor:"Inférence de modèles",socle:"Transcription, TTS, vision intégrés"},{dimension:"Ce qui est mesuré",competitor:"Compute, GPU, bande passante",socle:"Adoption, réussite des tâches, feedback"}],weaknessesTitle:"Pourquoi OVHcloud seul ne suffit pas",weaknesses:[{title:"Fournisseur d'infrastru
83cture, pas éditeur de logiciel métier",body:"OVHcloud propose des instances GPU, des AI Endpoints (inférence de modèles) et des bases de données managées, mais aucune interface graphique (chat, tableau de bord) pour les équipes métier non techniques."},{title:"Pas d'orchestration ni de briques IA avancées",body:"Pas de constructeur visuel de workflows, pas d'orchestration multi-agents dynamique (protocole A2A), pas de gestionnaire de RAG hybride avec reranking documentaire, ni de suite multimodale intégrée (transcription avec diarization, TTS, vision)."},{title:"Délais et coûts de développement",body:"Passer par les API d'inférence ou louer des GPU chez OVHcloud vous laisse avec une API brute. Vos équipes doivent développer l'application, l'interface, la mémoire contextuelle, la gestion des droits et la gouvernance."},{title:"Gouvernance au niveau de l'infrastructure",body:"OVHcloud calcule la consommation de compute, de GPU et de bande passante. Mesurer l'adoption par les collaborateurs, le taux de réussite des tâches IA ou collecter les boucles de feedback relève d'une autre couche."}],strengthsTitle:"L'alliance gagnante : Socle AI sur OVHcloud",strengths:[{title:"Stack 100 % France et Europe",body:"En déployant Socle AI (SaaS ou on-premise via Docker) sur une infrastructure OVHcloud (SecNumCloud, HDS), vous obtenez une immunité totale face aux lois extraterritoriales (Cloud Act), sans compromis sur l'expérience utilisateur."},{title:"Plateforme clé en main plutôt qu'API brute",body:"Interface de chat complète, modules de création d'agents, studio de workflows par glisser-déposer, connecteurs métier (Slack, CRM, bases de données) et gestion documentaire RAG dès le premier jour."},{title:"Orchestration multi-agents et agnosticisme",body:"Moteur multi-agents natif (protocole A2A) et compatibilité 100 % API OpenAI (base_url) : vous orchestrez n'importe quel modèle open source (Mistral, Llama, Qwen) hébergé sur OVHcloud sans modifier votre code."},{title:"Gouvernance, conformité et boucles de feedback",body:"Tableaux de bord de suivi d'usage par membre, journal d'audit complet des décisions prises par les agents, et mesure de la réussite des tâches au sein de l'organisation."},{title:"Accompagnement et expertise (7 à 8 ans)",body:"Une méthodologie éprouvée pour passer du cadrage à la production sur des cas d'usage critiques : banque, défense, santé."}],killerQuestions:["OVHcloud vous fournit des serveurs GPU ou des AI Endpoints, mais quelle équipe va coder l'interface, le RAG documentaire et l'orchestrateur d'agents pour vos collaborateurs ?","Comment comptez-vous mesurer le taux de succès des tâches IA et l'adoption par vos utilisateurs avec un simple tableau de bord de facturation cloud ?","Saviez-vous que la plateforme Socle AI se déploie directement sur vos serveurs ou instances GPU OVHcloud, pour allier l'excellence de l'infrastructure française à une solution applicative opérationnelle en quelques minutes ?"],objections:[{objection:"Nous avons déjà un contrat d'hébergement ou des crédits chez OVHcloud.",response:"C'est une excellente nouvelle : Socle AI est 100 % compatible avec OVHcloud. Vous pouvez déployer la plateforme en on-premise (Docker) directement sur vos serveurs. Vous valorisez votre infrastru
83cture souveraine tout en donnant des outils métier prêts à l'emploi à vos équipes."},{objection:"OVHcloud propose déjà des AI Endpoints pour utiliser des modèles IA.",response:"Les AI Endpoints sont des API brutes destinées aux développeurs. Elles ne fournissent ni interface de chat, ni gestionnaire de bases documentaires RAG, ni workflows visuels, ni système de gouvernance. Socle AI apporte cette couche applicative, indispensable pour rendre l'IA exploitable par vos métiers."},{objection:"Passer en direct par OVHcloud nous évitera de payer une licence logicielle.",response:"L'infrastructure coûte moins cher au départ, mais le coût total de possession grimpe vite quand il faut payer une équipe de développeurs pendant 6 à 12 mois pour créer et maintenir l'application autour. Socle AI vous fait économiser ces mois de R&D tout en sécurisant votre feuille de route."}]},{slug:"openai",image:"/images/battle-cards/openai.svg",opponent:"OpenAI",updated:"2026-08-05",metaDescription:"Socle AI vs OpenAI (ChatGPT Enterprise, API directe) : souveraineté européenne contre infrastru
83cture américaine soumise au Cloud Act. Forces, objections, questions clés.",positioning:{competitorRole:"ChatGPT Enterprise et API directe (Ãtats-Unis)",socleRole:"Plateforme souveraine européenne",lead:"Socle AI est une plateforme d'IA souveraine, hébergée en France ou installable sur vos serveurs, là où OpenAI est un fournisseur américain soumis au Cloud Act et impossible à déployer chez vous.",summary:"Souveraineté européenne contre géant américain sous Cloud Act : vous gardez le SDK OpenAI, sans la dépendance ni le risque réglementaire."},comparisonTable:[{dimension:"Hébergement",competitor:"Ãtats-Unis, soumis au Cloud Act",socle:"France (Scaleway) ou vos serveurs"},{dimension:"On-premise",competitor:"Impossible",socle:"Oui, via Docker"},{dimension:"Vos données",competitor:"Exposition extraterritoriale",socle:"Aucune donnée partagée ni entraînée"},{dimension:"Choix du modèle",competitor:"Modèles OpenAI uniquement",socle:"+12 modèles (Mistral, Llama, Qwenâ¦)"},{dimension:"Code existant",competitor:"Ãcosystème propriétaire",socle:"Même SDK, base_url redirigée"}],weaknesses:[{title:"Risque réglementaire et Cloud Act",body:"Soumis au droit américain, avec une exposition aux risques de fuite de données sensibles et à l'extraterritorialité."},{title:"Enfermement propriétaire total",body:"Tout le code développé sur l'écosystème propriétaire d'OpenAI vous enferme chez eux."},{title:"Impossible en on-premise",body:"Aucune possibilité d'installer ChatGPT sur vos propres serveurs ou sur un cloud souverain."}],strengths:[{title:"Souveraineté dès la conception",body:"Hébergement 100 % en France (Scaleway) ou on-premise (Docker) sur vos serveurs. Aucune donnée partagée, aucune donnée utilisée pour entraîner un modèle."},{title:"Compatibilité API OpenAI (base_url)",body:"Vos développeurs gardent le même SDK OpenAI et redirigent simplement les requêtes vers Socle AI. Vous gardez le code, sans la dépendance."},{title:"Multi-modèles (+12)",body:"Basculez entre Mistral, Llama, Qwen et les autres selon le coût et le besoin métier."}],killerQuestions:["Ãtes-vous prêts à confier les données stratégiques de vos clients ou de votre R&D à une infrastructure américaine soumise au Cloud Act ?"],objections:[{objection:"OpenAI possède les meilleurs modèles du monde.",response:"C'est vrai pour l'usage généraliste. Mais pour vos processus métier critiques, un modèle open source (Mistral, Qwen) orchestré sur Socle AI est plus sécurisé, plus souverain, moins cher, et offre des performances équivalentes sur des tâches ciblées."}]},{slug:"developpement-interne",image:"/images/battle-cards/developpement-interne.svg",opponent:"Développement interne",competitorLabel:"L'AUTRE OPTION",updated:"2026-08-05",metaDescription:"Socle AI vs développement interne : plateforme clé en main contre 6 à 12 mois de R&D pour réinventer l'UI, le RAG, le multi-agent et la gouvernance. Coût total, time-to-market, objections.",positioning:{competitorRole:"Tout construire soi-même",socleRole:"Plateforme clé en main",lead:"Développer sa propre plateforme d'IA en interne, c'est réinventer l'interface, la gestion des droits, l'infrastructure RAG, le multi-agent et la gouvernance, là où Socle AI les livre déjà assemblés.",summary:"Plateforme clé en main contre réinvention de la roue : la vraie question n'est pas de savoir si vos équipes en sont capables, mais si c'est là que vous voulez dépenser leur temps."},comparisonTable:[{dimension:"Time-to-market",competitor:"6 à 12 mois de R&D",socle:"Opérationnel immédiatement"},{dimension:"Ce que code votre équipe",competitor:"UI, droits, RAG, multi-agent, gouvernance",socle:"Votre valeur métier"},{dimension:"Maintenance et mises à jour",competitor:"à votre charge",socle:"Incluses"},{dimension:"Veille technologique",competitor:"à votre charge",socle:"MCP, A2A, nouveaux modèles en continu"},{dimension:"Coût",competitor:"Plusieurs postes d'ingénieurs IA",socle:"Une fraction d'un salaire d'ingénieur"}],weaknessesTitle:"Les limites du fait maison",weaknesses:[{title:"Time-to-market catastrophique",body:"6 à 12 mois de R&D lourde pour développer l'interface, la gestion des droits, l'infrastru
83cture RAG, le multi-agent et la gouvernance."},{title:"Coût d'opportunité et dette technique",body:"Mobiliser une équipe d'ingénieurs talentueux sur la tuyauterie d'infrastructure plutôt que sur les fonctionnalités métier à forte valeur."}],strengths:[{title:"Opérationnel immédiatement",body:"Plateforme prête à l'emploi (SaaS ou Docker on-premise), livrée avec 8 ans d'expérience capitalisée."},{title:"Ãconomie massive sur le coût total",body:"Pour une fraction du salaire d'un ingénieur IA, vous obtenez une plateforme maintenue, mise à jour et sécurisée."},{title:"Ãvolution constante",body:"Socle AI intègre les dernières avancées en continu : MCP, A2A, nouveaux modèles, multimodalité."}],killerQuestions:["Souhaitez-vous que vos développeurs passent les 8 prochains mois à coder des interfaces et des tuyaux de bases vectorielles, ou à créer de la valeur métier pour vos clients dès la semaine prochaine ?"],objections:[{objection:"Nous préférons développer sur-mesure pour garder 100 % du contrôle.",response:"Socle AI ne vous enlève aucun contrôle : notre API 100 % compatible OpenAI vous permet de coder tout ce que vous voulez au-dessus. Nous vous libérons simplement des 80 % de code d'infrastructure sans valeur ajoutée."}]},{slug:"dify-flowise",image:"/images/battle-cards/dify-flowise.svg",opponent:"Dify / Flowise",updated:"2026-08-05",metaDescription:"Socle AI vs Dify et Flowise : solution d'entreprise gouvernée contre outils open source low-code. Gouvernance, audit, RAG hybride, support et maintien en condition opérationnelle.",positioning:{competitorRole:"Outils open source low-code",socleRole:"Solution d'entreprise gouvernée",lead:"Dify et Flowise sont d'excellents outils open source pour prototyper vite, là où Socle AI apporte la gouvernance, l'auditabilité, le support et la conformité qu'exige un déploiement en entreprise.",summary:"L'agilité visuelle sans la rigueur d'entreprise suffit pour un prototype. En production, la gouvernance, l'audit et le support ne sont plus optionnels."},comparisonTable:[{dimension:"Gouvernance et audit",competitor:"Rudimentaires",socle:"Journal d'audit complet, taux de succès"},{dimension:"Isolation multi-organisations",competitor:"Non stricte",socle:"Stricte"},{dimension:"Contrôle des coûts",competitor:"Absent",socle:"Plafonds anti-abus configurables"},{dimension:"Maintien en condition opérationnelle",competitor:"à votre charge",socle:"Assuré"},{dimension:"Multimodalité",competitor:"Limitée",socle:"Transcription Gladia/Whisper avec diarization"},{dimension:"Accompagnement",competitor:"Communauté",socle:"Ãquipe d'experts, du cadrage à la production"}],weaknessesTitle:"Les limites de Dify et Flowise",weaknesses:[{title:"Sécurité et gouvernance rudimentaires",body:"Pas de gestion fine de l'auditabilité, pas d'isolation stricte entre organisations, pas de contrôle des coûts."},{title:"Maintenance lourde",body:"Ce sont des projets open source dont il faut assurer soi-même le maintien en condition opérationnelle."},{title:"Absence d'accompagnement métier",body:"Pas d'équipe de support ni d'experts pour cadrer l'intégration."}],strengths:[{title:"Gouvernance d'entreprise et audit",body:"Journal d'audit complet, calcul des taux de succès par tâche, boucles de feedback utilisateur et plafonds anti-abus configurables."},{title:"RAG hybride et multimodalité intégrée",body:"Gestion poussée des formats jusqu'à 5 Go, transcription vocale Gladia/Whisper avec diarization."},{title:"Support et accompagnement (7 à 8 ans)",body:"Une équipe d'experts pour vous accompagner du cadrage à la mise en production."}],killerQuestions:["Si vous déployez Dify en interne, qui assumera la responsabilité de la gouvernance, du suivi des coûts par équipe et du support technique lors des pannes ?"],objections:[{objection:"Dify est gratuit et permet de créer des agents visuels très vite.",response:"Dify est très bien pour du prototypage rapide. Mais en entreprise, la sécurité, l'auditabilité des décisions, le suivi des coûts et la conformité souveraine sont indispensables. Socle AI vous offre l'agilité visuelle et la rigueur d'entreprise."}]},{slug:"n8n-make",image:"/images/battle-cards/n8n-make.svg",opponent:"n8n / Make",updated:"2026-08-05",metaDescription:"Socle AI vs n8n et Make : moteur d'IA agentique spécialisé contre automatisation de flux générique. Mémoire longue durée, RAG hybride, orchestration multi-agents, et complémentarité iPaaS.",positioning:{competitorRole:"Automatisation de flux générique (iPaaS)",socleRole:"Moteur d'IA agentique spécialisé",lead:"Les iPaaS comme n8n ou Make font circuler des données entre des API, là où Socle AI orchestre des agents autonomes avec mémoire longue durée, RAG hybride et raisonnement.",summary:"Ce n'est pas un choix à trancher : un iPaaS excelle sur l'automatisation de flux, Socle AI sur l'IA agentique. Les deux se branchent l'un sur l'autre."}
83,synergy:"Socle AI respectant le protocole OpenAI, vous pouvez l'utiliser directement depuis n8n, et même appeler un workflow ou une équipe d'agents comme s'il s'agissait d'un modèle. Ne choisissez pas : utilisez la force de l'iPaaS AVEC la puissance de l'IA.",comparisonTable:[{dimension:"Conçu pour",competitor:"Faire circuler des données entre API",socle:"Orchestrer des agents IA"},{dimension:"Mémoire longue durée",competitor:"Non native",socle:"Native"},{dimension:"RAG hybride avec reranking",competitor:"Non",socle:"Natif"},{dimension:"Raisonnement agentique",competitor:"Non (ReAct, PlanAct)",socle:"Natif"},{dimension:"Multi-agents (A2A)",competitor:"Non",socle:"Natif, avec synthèse finale"},{dimension:"Multimodalité",competitor:"Via API tierces",socle:"Audio, image, TTS intégrés"}],weaknessesTitle:"Les limites des iPaaS",weaknesses:[{title:"Non conçus pour l'IA complexe",body:"Ils traitent l'IA comme une simple API externe, sans gestion native de la mémoire longue durée, du RAG hybride avec reranking, ni du raisonnement agentique (ReAct, PlanAct)."},{title:"Pas d'orchestration multi-agents native",body:"Incapables de faire collaborer dynamiquement plusieurs agents spécialisés entre eux, avec synthèse finale."}],strengths:[{title:"Plateforme nativement agentique",body:"Moteur d'orchestration multi-agents (A2A), serveurs MCP natifs, bases vectorielles RAG et workflows visuels pensés IA d'abord."},{title:"Complémentarité avec votre iPaaS",body:"Les workflows Socle AI s'appellent très simplement comme un « node » depuis n8n ou Make."},{title:"Multimodalité native",body:"Audio (transcription et diarization), image et synthèse vocale au sein de la même plateforme."}],killerQuestions:["Un outil comme n8n fait circuler des données entre des API. Mais comment comptez-vous gérer la mémoire des conversations, le RAG documentaire et le raisonnement autonome de vos agents ?"],objections:[{objection:"Nous faisons déjà des workflows IA dans n8n.",response:"n8n est génial pour les automatisations simples. Dès qu'il faut orchestrer des écosystèmes d'agents, analyser des documents volumineux (RAG) ou piloter la gouvernance des modèles, n8n montre ses limites. Vous pouvez d'ailleurs utiliser Socle AI au sein de vos workflows n8n existants."}]},{slug:"hermes",image:"/images/battle-cards/hermes.svg",opponent:"Hermes",tone:"parallel",competitorLabel:"L'AUTRE APPROCHE",updated:"2026-09-08",metaDescription:"Socle AI vs Hermes (Nous Research) : agent personnel auto-hébergé qui apprend de vous, contre plateforme agentique d'entreprise souveraine. Même révolution, échelle différente.",positioning:{competitorRole:"Agent IA personnel autonome",socleRole:"Plateforme agentique d'entreprise souveraine",lead:"Hermes, développé par Nous Research, est un agent personnel auto-hébergé qui accumule de la mémoire et se fabrique ses propres compétences au fil du temps. Socle AI est la plateforme sur laquelle une organisation construit, orchestre et gouverne ses agents.",summary:"Même révolution, échelle différente. Hermes est construit autour de l'agent, Socle AI autour de l'organisation : agents spécialisés, écosystèmes, workflows, rôles, isolation et traçabilité."},synergy:"Ces deux outils ne s'excluent pas. Hermes peut appeler n'importe quel endpoint compatible OpenAI : un agent ou un écosystème Socle AI se branche donc dessus comme un modèle, et rend accessible à l'agent personnel le RAG documentaire et les outils métier gouvernés de l'organisation.",duel:{label:"DEUX PHILOSOPHIES",title:"Un agent qui grandit avec vous, une plateforme qui grandit avec votre organisation",competitor:{caption:"AGENT PERSONNEL",head:"Votre agent",chain:["Mémoire","Compétences","Outils"],outcome:"Votre assistant"},socle:{caption:"PLATEFORME AGENTIQUE D'ENTREPRISE",head:"Vos agents",chain:["Ãcosystème","Workflow","Gouvernance"],outcome:"Votre infrastru
83cture métier"},note:"Hermes est construit autour de l'agent. Socle AI est construit autour de l'organisation."},comparisonTable:[{dimension:"Cible",competitor:"Individus, développeurs, power users",socle:"Entreprises, équipes Produit et Tech"},{dimension:"Unité de base",competitor:"Un agent persistant",socle:"Des agents spécialisés"},{dimension:"Mémoire longue durée",competitor:"Point fort, mémoire auto-curée",socle:"Mémoire par agent et par organisation"},{dimension:"Compétences",competitor:"Auto-apprentissage, standard agentskills.io",socle:"Agents, outils et workflows configurés"},{dimension:"Multi-agents",competitor:"Bots spécialisés et sous-agents",socle:"Orchestration native (A2A)"},{dimension:"Workflows visuels",competitor:"Non documenté",socle:"Constructeur glisser-déposer"},{dimension:"Modèles",competitor:"Multi-fournisseurs, endpoints libres",socle:"Multi-modèles, API compatible OpenAI"},{dimension:"Multimodalité",competitor:"Centrée agent et outils",socle:"Texte, vision, ASR, TTS, image"},{dimension:"Organisations et rôles",competitor:"Non documenté",socle:"Rôles, isolation, clés API dédiées"},{dimension:"Traçabilité",competitor:"Journaux et historique",socle:"Audit de l'exécution, étape par étape"},{dimension:"Déploiement",competitor:"Auto-hébergé (local, Docker, SSHâ¦)",socle:"SaaS France ou on-premise"}],weaknessesTitle:"Le périmètre d'Hermes, et là où il s'arrête",weaknesses:[{title:"Un agent, pas une organisation",body:"Hermes est conçu autour d'un agent persistant qui vous connaît. Le mode Bots et les sous-agents permettent de faire travailler plusieurs spécialistes ensemble, mais l'unité de compte reste l'utilisateur, pas l'entreprise."},{title:"Pas de gouvernance multi-organisation",body:"La documentation ne décrit ni rôles admin/membre/invité, ni isolation stricte entre organisations, ni suivi de consommation par équipe : autant de prérequis dès qu'une DSI doit ouvrir l'outil à plusieurs métiers."},{title:"Pas de constructeur de workflows visuel",body:"L'enchaînement d'actions est décidé par l'agent, ce qui est puissant en usage personnel. Une équipe métier qui doit rejouer un processus à l'identique, avec conditions, branches et validations humaines, cherchera un workflow explicite."},{title:"Hébergement et exploitation à votre charge",body:"L'auto-hébergement est un atout de contrôle, mais l'installation, les mises à jour, la sauvegarde et la disponibilité restent à la charge de celui qui déploie. Il n'y a pas d'offre SaaS souveraine opérée."}],strengthsTitle:"Ce que Socle AI apporte à une organisation",strengths:[{title:"Construire : des agents spécialisés plutôt qu'un agent unique",body:"Chaque agent a son modèle, ses instructions, sa mémoire, sa base documentaire et ses outils. Un agent juridique, un agent support et un agent analyse ne partagent ni le même contexte ni les mêmes accès."},{title:"Orchestrer : des écosystèmes d'agents",body:"Un écosystème sélectionne les agents utiles à la demande, exécute les étapes et synthétise le résultat, via le protocole A2A. C'est l'orchestration qui est déclarée, pas laissée à l'initiative d'un agent unique."},{title:"Automatiser : un constructeur de workflows visuel",body:"Agents, conditions, appels d'API, outils, notifications, branches et sous-workflows en glisser-déposer, déclenchés manuellement, par webhook ou par planification, avec validation humaine là où elle est nécessaire."},{title:"Passer à l'échelle : gouvernance et souveraineté",body:"Multi-organisation, rôles et isolation, suivi de consommation, clés API dédiées, journal d'audit et purge des données. En SaaS hébergé en France chez Scaleway ou en on-premise sur vos serveurs."},{title:"S'intégrer : compatibilité OpenAI et outils métier",body:"L'API compatible OpenAI permet d'appeler un agent ou un écosystème comme un modèle, depuis vos applications existantes, vos serveurs MCP et vos connecteurs métier."}],killerQuestions:["Un agent personnel apprend de son utilisateur. Que se passe-t-il quand cette personne quitte l'entreprise, et à qui appartient la mémoire accumulée ?","Comment allez-vous ouvrir cet usage à plusieurs équipes avec des rôles, une isolation des données et un suivi de consommation par organisation ?","Vos processus critiques peuvent-ils reposer sur un enchaînement décidé par l'agent, ou avez-vous besoin d'un workflow explicite, rejouable et auditable étape par étape ?"],objections:[{objection:"Hermes est open source et auto-hébergé, c'est déjà souverain.",response:"L'auto-hébergement donne effectivement le contrôle de l'exécution, et c'est un vrai point fort. La souveraineté d'entreprise demande en plus une exploitation opérée, l'isolation entre organisations, la traçabilité des décisions et une garantie contractuelle sur l'hébergement. Socle AI propose le SaaS en France chez Scaleway ou l'on-premise, avec la gouvernance en face."},{objection:"La mémoire persistante et les compétences auto-apprises d'Hermes sont plus avancées que la configuration d'agents.",response:"C'est vrai, et c'est le cÅur de sa proposition : un agent qui s'améliore tout seul en vous observant. En entreprise, cette même autonomie devient une question de conformité : il faut pouvoir dire qui a accès à quoi, rejouer une décision et la justifier. Socle AI privilégie donc des agents explicitement configurés et des workflows tracés."},{objection:"Nos développeurs préfèrent un agent qu'ils contrôlent entièrement en local.",response:"Les deux cohabitent très bien. Socle AI expose une API compatible OpenAI : Hermes peut pointer sur un agent ou un écosystème Socle comme sur n'importe quel endpoint, et récupérer ainsi le RAG documentaire et les outils métier de l'organisation, sans que vos développeurs abandonnent leur agent personnel."}]}],rS=[{slug:"langchain",image:"/images/battle-cards/langchain.svg",opponent:"LangChain",updated:"2026-08-05",metaDescription:"Socle AI vs LangChain: a turnkey, sovereign enterprise platform versus a development framework you have to code yourself. Strengths, objections, key questions.",positioning:{competitorRole:"Code library (framework)",socleRole:"Turnkey enterprise platform",lead:"Socle AI is a turnkey, sovereign enterprise platform that works out of the box (UI, governance, visual workflows, API), whereas LangChain is a code library you have to program, integrate and maintain entirely yourself.",summary:"Where LangChain is a box of LEGO for Python/JS developers, Socle AI is the complete enterprise platform that gets your projects into production."},comparisonTable:[{dimension:"Type of product",competitor:"Library to integrate",socle:"Complete platform"},{dimension:"Business-user interface",competitor:"To be built",socle:"Included (chat, RAG, dashboards)"},{dimension:"Visual workflows",competitor:"No",socle:"Native drag and drop"},{dimension:"Governance and audit",competitor:"LangSmith (US cloud)",socle:"Built in and sovereign"},{dimension:"Multimodality",competitor:"Libraries to assemble",socle:"Native (ASR, TTS, vision)"},{dimension:"Hosting",competitor:"Your problem",socle:"French SaaS or on-premise"},{dimension:"Time to market",competitor:"6 to 12 months of development",socle:"Immediate"}],weaknesses:[{title:"High development cost and technical debt",body:"LangChain is a code library, not a piece of software. To end up with a usable application, teams have to build the interface, user and role management, RAG, authentication and the infrastru
83cture."},{title:"Instability and frequent breaking changes",body:"The LangChain ecosystem moves very fast, with frequent updates that break existing code and put a heavy maintenance burden on your teams."},{title:"No business interface, no native no-code",body:"Product, business and Ops teams cannot use LangChain directly. Everything goes through Python or TypeScript code."},{title:"Complex sovereignty and governance",body:"For tracing, monitoring and retraining (via LangSmith), data often transits through a US SaaS. Coding your own on-premise alternative for audit and metrics takes months of work."}],strengths:[{title:"Turnkey platform vs framework to code",body:"Socle AI ships a complete interface (chat, RAG document base management, governance dashboards) and a visual drag-and-drop workflow builder."},{title:"Immediate time to market, OpenAI compatible",body:"Months of development saved. Full OpenAI API compatibility (base_url) lets developers keep their usual tooling while running on a sovereign platform."},{title:"Sovereignty, security and native on-premise",body:"Available as sovereign SaaS in France (Scaleway) or deployable on-premise on your own servers, on a Docker architecture. Your data stays entirely under your control."},{title:"Built-in multimodality and orchestration",body:"Where LangChain asks you to assemble dozens of libraries, Socle AI natively integrates audio transcription with diarization, speech synthesis, vision, hybrid RAG with reranking, and MCP servers."},{title:"Governance and business metrics",body:"Usage metrics, cost tracking per organisation and per member, a complete audit log of agent actions and user feedback loops, from day one."}],killerQuestions:["Have you budgeted the money and the headcount (devs, QA, ops) needed to build and maintain the interface, the governance and the RAG layer around LangChain?","How do you plan to handle technical debt and unstable LangChain releases in a business-critical production environment?","Will your business teams be able to build their own agent workflows without going through IT every single time?"],objections:[{objection:"LangChain is free and open source, why pay for Socle AI?",response:"The library itself is free, but the total cost of ownership is high: coding the UI, RAG, multi-tenant security, multimodality and governance takes a dev team 6 to 12 months. Socle AI gives you an operational platform immediately, hosted in France or on-premise, for a lower overall cost."},{objection:"Our developers already know LangChain and want to keep control of the code.",response:"Socle AI puts no constraints on developers: thanks to the OpenAI-compatible REST API they can keep writing code, or even keep using LangChain, while pointing at our sovereign platform (base_url). It simply spares them from reinventing the infrastructure, audio, RAG and interfaces."},{objection:"LangChain offers LangSmith for governance and monitoring.",response:"LangSmith is a US cloud service subject to extraterritorial law. Socle AI natively includes agent traceability, usage metrics, auditability and feedback loops, on our French infrastructure at Scaleway or on-premise on your servers."}]},{slug:"mistral",image:"/images/battle-cards/mistral.svg",opponent:"Mistral AI",updated:"2026-08-05",metaDescription:"Socle AI vs Mistral AI: a sovereign orchestration and governance platform versus a model (LLM) provider. Stack, strengths, objections, key questions.",positioning:{competitorRole:"Model provider (LLM)",socleRole:"Sovereign orchestration platform",lead:"Socle AI is a sovereign platform for AI orchestration, automation and governance (SaaS on Scaleway or on-premise with Docker), whereas Mistral AI is a model (LLM) provider.",summary:"Mistral supplies the engine, Socle AI supplies the entire business vehicle, and can even run Mistral models inside it."},comparisonTable:[{dimension:"Type of product",competitor:"Models via API",socle:"Orchestration platform"},{dimension:"Choice of model",competitor:"Mistral models",socle:"12+ models, Mistral included"},{dimension:"Multi-agent orchestration",competitor:"To be built",socle:"Native (A2A protocol)"},{dimension:"Visual workflows",competitor:"No",socle:"Native drag and drop"},{dimension:"Governance and audit",competitor:"Not provided",socle:"Built in"},{dimension:"Multimodality",competitor:"Text and vision",socle:"Text, vision, ASR, TTS, images"},{dimension:"Hosting",competitor:"Cloud API",socle:"French SaaS or on-premise Docker"}],stackComparison:{competitor:{label:"With Mistral AI",items:["Mistral API","LangChain","Vector DB","Backend","Frontend","Auth","Monitoring"],result:"High complexity"},socle:{label:"With Socle AI",items:["Agents","RAG","UI","Orchestration"],result:"All included"}},weaknesses:[{title:"A supplier of building blocks, not a business platform",body:"Mistral sells access to its models through an API. Building an enterprise solution on top (hybrid RAG, multi-agent orchestration, visual workflows, integration with your systems) means putting developers on it for months, or signing a framework contract with Mistral."}
83,{title:"No native governance or auditability tooling",body:"Mistral provides no turnkey interface to track success rates per task, collect user feedback loops, or follow step by step the decisions taken by your agents."},{title:"Limited multimodal ecosystem",body:"Mistral focuses on language models and vision. There is no integrated suite for advanced audio transcription with diarization, speech synthesis, or image generation and editing within the same environment."},{title:"Risk of lock-in to proprietary APIs",body:"Wiring your stack directly to the Mistral APIs locks it in. If another model (Qwen, Llama and so on) becomes better or cheaper for one of your use cases, migrating means redevelopment."}],strengths:[{title:"Turnkey, model-agnostic platform with 12+ models",body:"Socle AI orchestrates more than 12 models (including Mistral, Llama and Qwen), continuously updated. Full OpenAI API compatibility (base_url) means switching model or provider without changing a line of code."},{title:"Agentic orchestration and visual workflows",body:"A native multi-agent engine (A2A protocol), a visual drag-and-drop builder, and MCP servers to connect AI to your business tools (Slack, HubSpot, Notion, SQL databases) in a few clicks."},{title:"Absolute sovereignty and security",body:"Deploy either as sovereign SaaS in France (Scaleway) or on-premise (Docker) on the customer infrastructure. Total immunity to extraterritorial law, no data shared and none used to train a model."},{title:"Governance, metrics and compliance",body:"Built-in dashboards to track consumption, measure success rates per task, capture end-user feedback and keep a complete audit log of agent actions."},{title:"Support and domain expertise (7 to 8 years)",body:"A methodology proven on business-critical projects (banking, defence, insurance): feasibility study, setup and integration included, not just a piece of software."}],killerQuestions:["Mistral gives you the model API, but who is going to build and maintain the multi-agent orchestration, the hybrid RAG and the governance interface for your teams?","How do you plan to measure real adoption by your users and track the success rate of the tasks your AI performs day to day?","If an open-source model overtakes Mistral on your specific use case tomorrow, how quickly could you switch without rewriting your work?"],objections:[{objection:"Mistral is the French sovereign AI champion, why not go to them directly?",response:"Mistral builds excellent models, which is exactly why Socle AI supports them natively. But a model on its own is an engine without a car: Socle AI provides the bodywork, the dashboard and the business connectors. Going through Socle AI, you still use the Mistral model if you want to, with a complete governance and orchestration platform on top."},{objection:"Mistral already offers a simple API and Le Chat Pro.",response:"Le Chat is a tool for individual conversation, not an enterprise automation engine, and the Mistral API means coding everything yourself. Socle AI lets you connect autonomous agents to your tools (Slack, CRM, databases), build visual workflows, orchestrate multimodality (voice, image) and install everything on-premise if needed. It comes down to whether you want a simple chat for your staff, or AI embedded in your processes and your products."},{objection:"Mistral is GDPR compliant and European.",response:"True, but Socle AI goes further: 100% French hosting at Scaleway or on your own servers via Docker, complete insulation from extraterritorial law, secure hybrid RAG, and a strict no-retraining policy on your data."}]},{slug:"scaleway",image:"/images/battle-cards/scaleway.svg",opponent:"Scaleway",tone:"complementary",competitorLabel:"THE PARTNER",updated:"2026-08-05",metaDescription:"Socle AI and Scaleway: a sovereign AI software platform and a French cloud infrastructure, two complementary layers. Who does what, and why combine them.",positioning:{competitorRole:"Cloud infrastructure (IaaS/PaaS)",socleRole:"Ready-to-use AI software platform",lead:"Socle AI is a sovereign AI application software platform that works out of the box (UI, agents, RAG, visual workflows, governance), while Scaleway is a cloud infrastru
83cture provider: servers, GPUs, instances and raw model inference.",summary:"Scaleway provides the network and the compute; Socle AI provides the business application suite your teams can use straight away. If you want French AI that is responsible and simple to roll out, work with Scaleway AND Socle AI."},synergy:"The Socle AI SaaS runs directly on French Scaleway infrastructure. So this is not an either-or decision: it is the same sovereignty, with the application layer on top.",comparisonTable:[{dimension:"Layer covered",competitor:"Infrastructure (servers, GPUs)",socle:"Business application"},{dimension:"User interface",competitor:"Cloud console",socle:"Chat, agents, dashboards"},{dimension:"RAG",competitor:"To be built",socle:"Native, hybrid with reranking"},{dimension:"Multi-agent orchestration",competitor:"To be built",socle:"Native (A2A protocol)"},{dimension:"Visual workflows",competitor:"No",socle:"Native drag and drop"},{dimension:"Multimodality",competitor:"Model inference",socle:"ASR, TTS, vision built in"},{dimension:"What gets measured",competitor:"Infrastructure consumption",socle:"Business success, audit, feedback"}],weaknessesTitle:"Scaleway is a cloud provider, not an applied AI software vendor",weaknesses:[{title:"Cloud provider, not an AI application software vendor",body:"Scaleway offers GPU servers and inference endpoints (Managed Inference on open-source models), but no ready-to-use business interface for end users or product teams."},{title:"No native application building blocks",body:"No visual workflow builder, no multi-agent orchestration engine, no hybrid RAG manager with reranking, and no integrated multimodal suite (transcription with diarization, speech synthesis, vision)."},{title:"Development cost and lead time to plan for",body:"Going straight to the inference API means coding the application, the vector databases, memory management, access rights and the user interface."},{title:"Governance at the infrastructure level",body:"Scaleway measures instance usage, memory and tokens consumed. Business success per task, auditability of agent decisions and feedback loops belong to the application layer."}],strengthsTitle:"This is why we complement each other",strengths:[{title:"Cloud sovereignty plus application power",body:"Socle AI natively runs on Scaleway in France (ISO/IEC 27001 and HDS certified, GDPR compliant) for its SaaS offering, or installs on-premise (Docker) on the customer private infrastructure. You get Scaleway sovereignty and the Socle AI application layer."},{title:"A turnkey platform rather than a raw API",body:"A complete chat interface, agent creation modules, a visual workflow builder, business connectors (Slack, HubSpot, Notion, databases) and hybrid RAG document management, from day one."},{title:"Native multimodality and multi-agent orchestration",body:"Voice handling (Whisper / Gladia with diarization), image generation, speech synthesis, and dynamic orchestration of specialised agents through the A2A protocol."},{title:"Business governance and compliance",body:"Consumption dashboards per organisation, conversation traceability, audit logs and user feedback loops."},{title:"Support and expertise (7 to 8 years)",body:"An end-to-end methodology to frame and deploy your complex business use cases, beyond simply supplying the software."}],killerQuestions:["Scaleway gives you GPU instances and raw inference, but which team is going to build the interface, the hybrid RAG engine and the connectors to your business tools?","How will you measure AI task success rates and adoption by your business users from a cloud infrastructure dashboard?","Did you know the Socle AI SaaS is hosted in France at Scaleway? You keep exactly the same sovereignty guarantees without having to reinvent the application layer."],objections:[{objection:"Scaleway already offers managed AI model inference APIs.",response:"An inference API returns raw text to a developer. Turning that into a service your teams find useful means building the RAG, the multi-agent orchestration, the workflows and the interface. Socle AI provides that whole application layer ready to use, and can connect to models hosted on Scaleway."},{objection:"We want to stay 100% sovereign by using a French cloud like Scaleway.",response:"We share that view exactly: the Socle AI SaaS is hosted at Scaleway in France, with no exposure to extraterritorial law and no data shared or used to train a model. You get the Scaleway sovereignty guarantee combined with Socle AI software agility."},{objection:"Going direct with Scaleway will cost us less in licence fees.",response:"Raw infrastru
83cture is cheaper up front, but the total cost of ownership climbs fast once you have to pay developers for 6 to 12 months to build and maintain the application around it. Socle AI shortens time to market dramatically."}]},{slug:"iguane-solutions",draft:!0,image:"/images/battle-cards/iguane-solutions.svg",opponent:"Iguane Solutions",tone:"complementary",competitorLabel:"THE MANAGED HOSTING PROVIDER",updated:"2026-08-05",metaDescription:"Socle AI and Iguane Solutions: a turnkey AI software platform and a custom infrastructure hosting and managed services provider. Who does what, and why pair them.",positioning:{competitorRole:"Infrastructure hosting and managed services",socleRole:"AI software platform vendor",lead:"Socle AI is a turnkey application software platform dedicated to AI orchestration, automation and governance, while Iguane Solutions is a host and managed services provider for bespoke cloud and IT infrastructure.",summary:"Iguane provides the servers, the hardware and the plumbing; Socle AI provides the intelligence platform, the interface and the ready-to-use business workflows, which can run on Iguane infrastructure."},synergy:"Ideal if you want real infrastructure expertise to run AI, combined with a proven solution your teams can actually use in industrial
83conditions: take Socle AI and Iguane Solutions.",comparisonTable:[{dimension:"Core business",competitor:"Bespoke hosting and managed services",socle:"AI software publishing"},{dimension:"Infrastructure upkeep",competitor:"Core expertise",socle:"Delegated to the host"},{dimension:"AI application layer",competitor:"Present, outside their specialty",socle:"Their specialty"},{dimension:"What gets measured",competitor:"Uptime, CPU, memory, network",socle:"Task success, quality, feedback"},{dimension:"Models available",competitor:"Those deployed on the infrastructure",socle:"12+ via OpenAI-compatible API"},{dimension:"Deployment",competitor:"Managed infrastructure",socle:"Installs on that infrastructure"}],weaknessesTitle:"Iguane, an AI infrastructure expert",weaknesses:[{title:"An infrastructure managed services provider first and foremost",body:"Iguane excels at keeping servers, Kubernetes clusters and private clouds running. An application layer able to create agents, run RAG or orchestrate LLMs does exist, but that is not where their core business lies."},{title:"Infrastructure governance rather than business governance",body:"Iguane monitors CPU, memory, network and uptime. Measuring AI task success rates, tracking answer quality or handling user feedback loops belongs to another layer."}],strengthsTitle:"Why pairing Socle AI with Iguane is a good idea",strengths:[{title:"A ready-to-use application platform",body:"User interface, vector store management for hybrid RAG, multi-agent orchestration and a no-code/low-code workflow builder, available immediately. Speech-to-text, speech synthesis, image generation and LLMs are already handled."},{title:"Built-in AI domain expertise (7 to 8 years)",body:"Beyond the software, a proven methodology for turning complex needs (banking, insurance, defence) into concrete use cases, with support and integration included."},{title:"Deployment flexibility",body:"Socle AI installs as sovereign SaaS or directly on-premise (Docker architecture) on the private infrastructure of your choice, including servers managed by Iguane Solutions."},{title:"Business governance and metrics",body:"Consumption dashboards, usage per member, full auditability and measurement of task success through feedback loops."},{title:"OpenAI API standardisation",body:"Full OpenAI API compatibility (base_url): your developers switch from one model to another without rewriting anything, including models that are not deployed on the infrastructure, which is useful when experimenting or handling edge cases."}],killerQuestions:["Iguane manages your servers and your GPUs, but who is going to let your developers monitor how your agents are used and connect them to your tools?","How will you measure the effectiveness of your AI workflows and collect user feedback with an infrastructure provider alone?","Did you know the Socle AI platform deploys on-premise via Docker directly on your managed infrastructure, combining the best of AI software and infrastructure sovereignty?"],objections:[{objection:"Iguane Solutions guarantees us fully bespoke hosting and managed services in France.",response:"That is excellent for the infrastructure. But infrastructure alone does not solve your business use cases: Socle AI is a software platform that installs on-premise (Docker) on any cloud or private server. You keep your secure hosting while getting a ready-to-use applied AI platform from day one."},{objection:"Iguane can deploy open-source models for us on dedicated GPU servers.",response:"Deploying a model on a server gives you a raw API, not a business service. Socle AI adds the essential software layer on top: chat interface, contextual memory, hybrid RAG (PDF, Word, audio), speech-to-text and connectors to your tools (Slack, CRM, databases). Without it, everything has to be coded."},{objection:"We already have a framework agreement with Iguane for all our IT infrastructure.",response:"Socle AI is not a competitor to Iguane, we are complementary: we publish AI software. You can absolutely keep your infrastructure contract and deploy the Socle AI application layer on it to answer your teams AI needs right away."}]}
83,{slug:"outscale",image:"/images/battle-cards/outscale.svg",opponent:"OUTSCALE",tone:"complementary",competitorLabel:"THE QUALIFIED INFRASTRUCTURE",updated:"2026-08-05",metaDescription:"Socle AI and OUTSCALE (3DS OUTSCALE): a SecNumCloud 3.2 qualified sovereign cloud and an AI application platform. Who does what, and why deploy them together.",positioning:{competitorRole:"IaaS/PaaS cloud qualified SecNumCloud 3.2",socleRole:"AI application software platform",lead:"OUTSCALE provides the most highly certified sovereign IaaS/PaaS cloud infrastructure (SecNumCloud 3.2), while Socle AI provides the AI application software platform: interface, agents, hybrid RAG, visual workflows and governance.",summary:"OUTSCALE provides the hardware foundation, state-grade security, the GPUs and the qualified cloud; Socle AI provides the turnkey business software suite."},synergy:"Socle AI deploys via Docker or Kubernetes (OKS) directly inside your OUTSCALE tenant: you keep the SecNumCloud 3.2 qualification and gain the application layer on top.",comparisonTable:[{dimension:"Layer covered",competitor:"Infrastructure (GPU, VM, Kubernetes)",socle:"Business application"},{dimension:"Qualification",competitor:"SecNumCloud 3.2 (ANSSI)",socle:"Installs inside that perimeter"},{dimension:"Business interface",competitor:"Cloud console",socle:"Chat, agents, dashboards"},{dimension:"Hybrid RAG",competitor:"To be built",socle:"Native, multi-source with reranking"},{dimension:"Multi-agent orchestration",competitor:"To be built",socle:"Native (A2A protocol)"},{dimension:"Multimodality",competitor:"GPU compute",socle:"Transcription, TTS, vision built in"},{dimension:"What gets measured",competitor:"GPU, RAM, storage, bandwidth",socle:"Adoption, success per task, feedback"}],weaknessesTitle:"Why OUTSCALE alone is not enough",weaknesses:[{title:"An IaaS/PaaS player, not an AI application software vendor",body:"OUTSCALE excels at providing GPU compute, virtual machines and SecNumCloud qualified Kubernetes clusters. It does not, however, provide a turnkey graphical interface for non-technical business users."},{title:"No native application blocks or AI orchestration",body:"No multi-agent orchestration engine (A2A protocol), no visual no-code/low-code workflow builder, no multi-source hybrid RAG engine with reranking, and no multimodal suite (transcription with diarization, TTS, vision)."},{title:"Application development cost and lead time",body:"Deploying a model or a GPU instance on OUTSCALE gives you access to an infrastructure service or an API. Your teams then have to code the application, the interface, access rights, contextual memory and business governance."},{title:"Governance at the infrastructure level",body:"OUTSCALE tracks resource consumption (GPU, RAM, storage, bandwidth). Tracking business adoption, success rates per task executed by agents, and feedback loops belongs to the application layer."}],strengthsTitle:"The winning combination: Socle AI on OUTSCALE",strengths:[{title:"The benchmark sovereign AI stack",body:"By deploying Socle AI (Docker or Kubernetes OKS) directly on OUTSCALE infrastructure, the customer gets the highest security level issued in France by ANSSI (SecNumCloud 3.2), combined with a ready-to-use AI application suite."},{title:"Immediate time to market for critical organisations",body:"Public sector, defence, healthcare (HDS certified), banking and operators of vital importance can deploy business copilots, RAG over confidential documents and autonomous agents in a matter of days, without spending months building the software infrastructure."},{title:"Multi-agent orchestration and visual workflows",body:"An autonomous agent engine, a drag-and-drop workflow studio, business tool connectors, and full OpenAI API compatibility (base_url) to switch between more than 12 models."},{title:"Complete governance and auditability",body:"AI consumption dashboards per department and per member, detailed audit logs of the actions taken by agents, and built-in user feedback collection."},{title:"End-to-end business support",body:"7 to 8 years of expertise framing and integrating high-stakes AI use cases."}],killerQuestions:["OUTSCALE guarantees you a SecNumCloud 3.2 qualified sovereign cloud for your GPUs, but which application and which interface will your staff actually use day to day to work with those models?","Have you costed the internal development effort to build the RAG engine, the agent orchestrator and access rights management on top of your OUTSCALE instances?","Did you know the Socle AI platform installs directly inside your OUTSCALE tenant, combining the highest level of European security with an immediately operational business AI solution?"],objections:[{objection:'We are bound by the French "Cloud at the centre" doctrine and must use a SecNumCloud provider such as OUTSCALE.',response:"That is an excellent decision, and Socle AI is not there to replace your host: the platform installs on-premise (Docker or Kubernetes) directly inside your OUTSCALE SecNumCloud 3.2 environment. You meet state requirements 100% while getting a complete AI software platform immediately."},{objection:"OUTSCALE already offers managed AI and GPU services.",response:"OUTSCALE provides raw compute and model hosting. But a GPU or an API provides neither a chat interface, nor a RAG document base manager, nor business connectors. Socle AI is the application engine that sits on top of OUTSCALE GPUs to make AI usable by your business teams."},{objection:"Why not build our own AI application on top of OUTSCALE?",response:"Building a secure, multi-agent, multimodal (voice, image) platform in house, with hybrid RAG and governance, represents 6 to 12 months of heavy R&D. With Socle AI deployed on OUTSCALE you save that time and get a solution proven in critical environments."}]},{slug:"ovhcloud",image:"/images/battle-cards/ovhcloud.svg",opponent:"OVHcloud",tone:"complementary",competitorLabel:"THE INFRASTRUCTURE",updated:"2026-08-05",metaDescription:"Socle AI and OVHcloud: European sovereign cloud infrastru
83cture and an AI application software platform. Who does what, and why combine them into a 100% French stack.",positioning:{competitorRole:"European sovereign cloud infrastructure",socleRole:"AI application software platform",lead:"OVHcloud provides European sovereign cloud infrastructure (IaaS/PaaS, GPUs, dedicated servers, AI Endpoints), while Socle AI provides the ready-to-use AI application software platform: interface, autonomous agents, hybrid RAG, visual workflows and governance.",summary:"OVHcloud provides the raw power and the French hardware; Socle AI provides the intelligence suite and the business interfaces. Together, a 100% French stack that is operational immediately."},synergy:"Socle AI deploys via Docker directly on your OVHcloud servers or GPU instances: you get value from the infrastructure you already have, without starting over.",comparisonTable:[{dimension:"Layer covered",competitor:"Infrastructure (GPU, servers, endpoints)",socle:"Business application"},{dimension:"Business interface",competitor:"Cloud console",socle:"Chat, agents, dashboards"},{dimension:"Visual workflows",competitor:"No",socle:"Drag-and-drop studio"},{dimension:"Hybrid RAG",competitor:"To be built",socle:"Native with document reranking"},{dimension:"Multi-agent orchestration",competitor:"To be built",socle:"Native (A2A protocol)"},{dimension:"Multimodality",competitor:"Model inference",socle:"Transcription, TTS, vision built in"},{dimension:"What gets measured",competitor:"Compute, GPU, bandwidth",socle:"Adoption, task success, feedback"}],weaknessesTitle:"Why OVHcloud alone is not enough",weaknesses:[{title:"An infrastructure provider, not a business software vendor",body:"OVHcloud offers GPU instances, AI Endpoints (model inference) and managed databases, but no graphical interface (chat, dashboard) for non-technical business teams."},{title:"No orchestration or advanced AI building blocks",body:"No visual workflow builder, no dynamic multi-agent orchestration (A2A protocol), no hybrid RAG manager with document reranking, and no integrated multimodal suite (transcription with diarization, TTS, vision)."},{title:"Development cost and lead time",body:"Going through the inference APIs or renting GPUs at OVHcloud leaves you with a raw API. Your teams still have to build the application, the interface, contextual memory, access rights and governance."},{title:"Governance at the infrastructure level",body:"OVHcloud measures compute, GPU and bandwidth consumption. Measuring adoption by your staff, AI task success rates or collecting feedback loops belongs to another layer."}],strengthsTitle:"The winning combination: Socle AI on OVHcloud",strengths:[{title:"A 100% France and Europe stack",body:"Deploying Socle AI (SaaS or on-premise via Docker) on OVHcloud infrastructure (SecNumCloud, HDS) gives you total immunity to extraterritorial law (Cloud Act), with no compromise on user experience."},{title:"A turnkey platform rather than a raw API",body:"A complete chat interface, agent creation modules, a drag-and-drop workflow studio, business connectors (Slack, CRM, databases) and RAG document management from day one."},{title:"Multi-agent orchestration and model agnosticism",body:"A native multi-agent engine (A2A protocol) and full OpenAI API compatibility (base_url): you orchestrate any open-source model (Mistral, Llama, Qwen) hosted on OVHcloud without changing your code."},{title:"Governance, compliance and feedback loops",body:"Dashboards tracking usage per member, a complete audit log of the decisions taken by agents, and measurement of task success across the organisation."},{title:"Support and expertise (7 to 8 years)",body:"A proven methodology to go from framing to production on critical use cases: banking, defence, healthcare."}],killerQuestions:["OVHcloud gives you GPU servers or AI Endpoints, but which team is going to code the interface, the document RAG and the agent orchestrator for your staff?","How do you plan to measure AI task success rates and user adoption from a plain cloud billing dashboard?","Did you know the Socle AI platform deploys directly on your OVHcloud servers or GPU instances, combining excellent French infrastru
83cture with a solution that is operational in minutes?"],objections:[{objection:"We already have a hosting contract or credits at OVHcloud.",response:"That is good news: Socle AI is fully compatible with OVHcloud. You can deploy the platform on-premise (Docker) directly on your servers. You get value from your sovereign infrastructure while giving your teams ready-to-use business tools."},{objection:"OVHcloud already offers AI Endpoints to use AI models.",response:"AI Endpoints are raw APIs aimed at developers. They provide no chat interface, no RAG document base manager, no visual workflows and no governance system. Socle AI brings that application layer, which is what makes AI usable by your business teams."},{objection:"Going direct with OVHcloud saves us a software licence.",response:"Infrastructure is cheaper up front, but the total cost of ownership climbs fast once you have to pay a dev team for 6 to 12 months to build and maintain the application around it. Socle AI saves you those months of R&D while de-risking your roadmap."}]},{slug:"openai",image:"/images/battle-cards/openai.svg",opponent:"OpenAI",updated:"2026-08-05",metaDescription:"Socle AI vs OpenAI (ChatGPT Enterprise, direct API): European sovereignty versus US infrastructure subject to the Cloud Act. Strengths, objections, key questions.",positioning:{competitorRole:"ChatGPT Enterprise and direct API (United States)",socleRole:"Sovereign European platform",lead:"Socle AI is a sovereign AI platform, hosted in France or installable on your own servers, whereas OpenAI is a US provider subject to the Cloud Act that cannot be deployed on your premises.",summary:"European sovereignty versus a US giant under the Cloud Act: you keep the OpenAI SDK, without the dependency or the regulatory risk."},comparisonTable:[{dimension:"Hosting",competitor:"United States, subject to the Cloud Act",socle:"France (Scaleway) or your servers"},{dimension:"On-premise",competitor:"Impossible",socle:"Yes, via Docker"},{dimension:"Your data",competitor:"Extraterritorial exposure",socle:"No data shared, none used for training"},{dimension:"Choice of model",competitor:"OpenAI models only",socle:"12+ models (Mistral, Llama, Qwen and more)"},{dimension:"Existing code",competitor:"Proprietary ecosystem",socle:"Same SDK, base_url redirected"}],weaknesses:[{title:"Regulatory risk and the Cloud Act",body:"Subject to US law, with exposure to sensitive data leaks and to extraterritoriality."},{title:"Total proprietary lock-in",body:"All the code you write on the OpenAI proprietary ecosystem locks you in with them."},{title:"On-premise impossible",body:"There is no way to install ChatGPT on your own servers or on a sovereign cloud."}],strengths:[{title:"Sovereign by design",body:"100% hosting in France (Scaleway) or on-premise (Docker) on your servers. No data shared, no data used to train a model."},{title:"OpenAI API compatibility (base_url)",body:"Your developers keep the same OpenAI SDK and simply redirect requests to Socle AI. You keep the code, without the dependency."},{title:"Multi-model (12+)",body:"Switch between Mistral, Llama, Qwen and the rest depending on cost and business need."}],killerQuestions:["Are you comfortable handing your customers strategic data, or your R&D data, to a US infrastructure subject to the Cloud Act?"],objections:[{objection:"OpenAI has the best models in the world.",response:"True for general-purpose use. But for your critical business processes, an open-source model (Mistral, Qwen) orchestrated on Socle AI is more secure, more sovereign, cheaper, and performs just as well on targeted tasks."}]},{slug:"developpement-interne",image:"/images/battle-cards/developpement-interne.svg",opponent:"In-house development",competitorLabel:"THE OTHER OPTION",updated:"2026-08-05",metaDescription:"Socle AI vs in-house development: a turnkey platform versus 6 to 12 months of R&D reinventing the UI, RAG, multi-agent and governance. Total cost, time to market, objections.",positioning:{competitorRole:"Build everything yourself",socleRole:"Turnkey platform",lead:"Building your own AI platform in house means reinventing the interface, access rights, the RAG infrastru
83cture, multi-agent orchestration and governance, all of which Socle AI already ships assembled.",summary:"A turnkey platform versus reinventing the wheel: the real question is not whether your teams could do it, but whether that is where you want to spend their time."},comparisonTable:[{dimension:"Time to market",competitor:"6 to 12 months of R&D",socle:"Operational immediately"},{dimension:"What your team codes",competitor:"UI, rights, RAG, multi-agent, governance",socle:"Your business value"},{dimension:"Maintenance and updates",competitor:"Your problem",socle:"Included"},{dimension:"Technology watch",competitor:"Your problem",socle:"MCP, A2A, new models, continuously"},{dimension:"Cost",competitor:"Several AI engineer salaries",socle:"A fraction of one engineer salary"}],weaknessesTitle:"The limits of building it yourself",weaknesses:[{title:"Disastrous time to market",body:"6 to 12 months of heavy R&D to build the interface, access rights, the RAG infrastructure, multi-agent orchestration and governance."},{title:"Opportunity cost and technical debt",body:"Tying up a team of talented engineers on infrastructure plumbing rather than on high-value business features."}],strengths:[{title:"Operational immediately",body:"A ready-to-use platform (SaaS or on-premise Docker), shipped with 8 years of accumulated experience."},{title:"Massive saving on total cost",body:"For a fraction of one AI engineer salary, you get a platform that is maintained, updated and secured."},{title:"Constant evolution",body:"Socle AI continuously integrates the latest advances: MCP, A2A, new models, multimodality."}],killerQuestions:["Do you want your developers spending the next 8 months coding interfaces and vector database plumbing, or creating business value for your customers starting next week?"],objections:[{objection:"We would rather build our own so we keep 100% of the control.",response:"Socle AI takes no control away from you: our fully OpenAI-compatible API lets you code whatever you want on top. We simply free you from the 80% of infrastructure code that adds no value."}]},{slug:"dify-flowise",image:"/images/battle-cards/dify-flowise.svg",opponent:"Dify / Flowise",updated:"2026-08-05",metaDescription:"Socle AI vs Dify and Flowise: a governed enterprise solution versus open-source low-code tools. Governance, audit, hybrid RAG, support and operational upkeep.",positioning:{competitorRole:"Open-source low-code tools",socleRole:"Governed enterprise solution",lead:"Dify and Flowise are excellent open-source tools for fast prototyping, whereas Socle AI brings the governance, auditability, support and compliance an enterprise rollout demands.",summary:"Visual agility without enterprise rigour is fine for a prototype. In production, governance, audit and support stop being optional."},comparisonTable:[{dimension:"Governance and audit",competitor:"Rudimentary",socle:"Full audit log, success rates"},{dimension:"Multi-organisation isolation",competitor:"Not strict",socle:"Strict"},{dimension:"Cost control",competitor:"Absent",socle:"Configurable anti-abuse caps"},{dimension:"Operational upkeep",competitor:"Your problem",socle:"Covered"},{dimension:"Multimodality",competitor:"Limited",socle:"Gladia/Whisper transcription with diarization"},{dimension:"Support",competitor:"Community",socle:"A team of experts, from framing to production"}],weaknessesTitle:"The limits of Dify and Flowise",weaknesses:[{title:"Rudimentary security and governance",body:"No fine-grained auditability, no strict isolation between organisations, no cost control."},{title:"Heavy maintenance",body:"These are open-source projects whose operational upkeep is entirely on you."},{title:"No business support",body:"No support team and no experts to frame the integration."}],strengths:[{title:"Enterprise governance and audit",body:"A complete audit log, success rates computed per task, user feedback loops and configurable anti-abuse caps."},{title:"Built-in hybrid RAG and multimodality",body:"Advanced handling of formats up to 5 GB, Gladia/Whisper speech-to-text with diarization."},{title:"Support and guidance (7 to 8 years)",body:"A team of experts to support you from framing through to production."}],killerQuestions:["If you deploy Dify in house, who takes responsibility for governance, cost tracking per team, and technical support when it breaks?"],objections:[{objection:"Dify is free and lets us build visual agents very fast.",response:"Dify is great for fast prototyping. But in an enterprise, security, auditability of decisions, cost tracking and sovereign compliance are essential. Socle AI gives you visual agility and enterprise rigour."}]},{slug:"n8n-make",image:"/images/battle-cards/n8n-make.svg",opponent:"n8n / Make",updated:"2026-08-05",metaDescription:"Socle AI vs n8n and Make: a specialised agentic AI engine versus generic workflow automation. Long-term memory, hybrid RAG, multi-agent orchestration, and iPaaS complementarity.",positioning:{competitorRole:"Generic workflow automation (iPaaS)",socleRole:"Specialised agentic AI engine",lead:"iPaaS tools such as n8n or Make move data between APIs, whereas Socle AI orchestrates autonomous agents with long-term memory, hybrid RAG and reasoning.",summary:"This is not an either-or: an iPaaS excels at workflow automation, Socle AI at agentic AI. The two plug into each other."},synergy:"Because Socle AI follows the OpenAI protocol, you can use it straight from n8n, and even call a workflow or a team of agents as if it were a model. Do not choose: use the strength of your iPaaS WITH the power of AI.",comparisonTable:[{dimension:"Designed for",competitor:"Moving data between APIs",socle:"Orchestrating AI agents"},{dimension:"Long-term memory",competitor:"Not native",socle:"Native"},{dimension:"Hybrid RAG with reranking",competitor:"No",socle:"Native"},{dimension:"Agentic reasoning",competitor:"No (ReAct, PlanAct)",socle:"Native"},{dimension:"Multi-agent (A2A)",competitor:"No",socle:"Native, with final synthesis"},{dimension:"Multimodality",competitor:"Through third-party APIs",socle:"Audio, image, TTS built in"}],weaknessesTitle:"The limits of iPaaS tools",weaknesses:[{title:"Not designed for c
83omplex AI",body:"They treat AI as just another external API, with no native handling of long-term memory, hybrid RAG with reranking, or agentic reasoning (ReAct, PlanAct)."},{title:"No native multi-agent orchestration",body:"They cannot dynamically make several specialised agents collaborate with one another and produce a final synthesis."}],strengths:[{title:"A natively agentic platform",body:"A multi-agent orchestration engine (A2A), native MCP servers, RAG vector databases and visual workflows designed AI-first."},{title:"Complementary to your iPaaS",body:"Socle AI workflows can be called as a simple node from n8n or Make."},{title:"Native multimodality",body:"Audio (transcription and diarization), image and speech synthesis within the same platform."}],killerQuestions:["A tool like n8n moves data between APIs. But how do you plan to handle conversation memory, document RAG and the autonomous reasoning of your agents?"],objections:[{objection:"We already build AI workflows in n8n.",response:"n8n is great for simple automation. As soon as you need to orchestrate ecosystems of agents, analyse large documents (RAG) or govern your models, n8n shows its limits. And you can perfectly well use Socle AI inside your existing n8n workflows."}]},{slug:"hermes",image:"/images/battle-cards/hermes.svg",opponent:"Hermes",tone:"parallel",competitorLabel:"THE OTHER APPROACH",updated:"2026-09-08",metaDescription:"Socle AI vs Hermes (Nous Research): a self-hosted personal agent that learns from you, versus a sovereign enterprise agentic platform. Same revolution, different scale.",positioning:{competitorRole:"Autonomous personal AI agent",socleRole:"Sovereign enterprise agentic platform",lead:"Hermes, built by Nous Research, is a self-hosted personal agent that accumulates memory and creates its own skills over time. Socle AI is the platform an organisation uses to build, orchestrate and govern its agents.",summary:"Same revolution, different scale. Hermes is built around the agent, Socle AI around the organisation: specialised agents, ecosystems, workflows, roles, isolation and traceability."},synergy:"These two tools do not exclude each other. Hermes can call any OpenAI-compatible endpoint: a Socle AI agent or ecosystem plugs in like a model, giving the personal agent access to the organisation's document RAG and governed business tools.",duel:{label:"TWO PHILOSOPHIES",title:"An agent that grows with you, a platform that grows with your organisation",competitor:{caption:"PERSONAL AGENT",head:"Your agent",chain:["Memory","Skills","Tools"],outcome:"Your assistant"},socle:{caption:"ENTERPRISE AGENTIC PLATFORM",head:"Your agents",chain:["Ecosystem","Workflow","Governance"],outcome:"Your business infrastructure"},note:"Hermes is built around the agent. Socle AI is built around the organisation."},comparisonTable:[{dimension:"Audience",competitor:"Individuals, developers, power users",socle:"Companies, product and tech teams"},{dimension:"Core unit",competitor:"One persistent agent",socle:"Specialised agents"},{dimension:"Long-term memory",competitor:"Key strength, self-curated memory",socle:"Memory per agent and per organisation"},{dimension:"Skills",competitor:"Self-learned, agentskills.io standard",socle:"Configured agents, tools and workflows"},{dimension:"Multi-agent",competitor:"Specialist bots and subagents",socle:"Native orchestration (A2A)"},{dimension:"Visual workflows",competitor:"Not documented",socle:"Drag-and-drop builder"},{dimension:"Models",competitor:"Multi-provider, any endpoint",socle:"Multi-model, OpenAI-compatible API"},{dimension:"Multimodality",competitor:"Agent and tool oriented",socle:"Text, vision, ASR, TTS, image"},{dimension:"Organisations and roles",competitor:"Not documented",socle:"Roles, isolation, dedicated API keys"},{dimension:"Traceability",competitor:"Logs and history",socle:"Step-by-step execution audit"},{dimension:"Deployment",competitor:"Self-hosted (local, Docker, SSHâ¦)",socle:"SaaS in France or on-premise"}],weaknessesTitle:"What Hermes covers, and where it stops",weaknesses:[{title:"An agent, not an organisation",body:"Hermes is designed around a persistent agent that knows you. Bot mode and subagents let several specialists work together, but the unit of account stays the user, not the company."},{title:"No multi-organisation governance",body:"The documentation describes neither admin/member/guest roles, nor strict isolation between organisations, nor usage tracking per team: all prerequisites once IT has to open the tool to several business units."},{title:"No visual workflow builder",body:"The chain of actions is decided by the agent, which is powerful for personal use. A business team that has to replay a process identically, with conditions, branches and human validation, will look for an explicit workflow."},{title:"Hosting and operations are on you",body:"Self-hosting is a real control advantage, but installation, updates, backups and availability remain the responsibility of whoever deploys it. There is no operated sovereign SaaS offering."}],strengthsTitle:"What Socle AI brings to an organisation",strengths:[{title:"Build: specialised agents rather than a single agent",body:"Each agent has its own model, instructions, memory, knowledge base and tools. A legal agent, a support agent and an analysis agent share neither the same context nor the same access rights."},{title:"Orchestrate: agent ecosystems",body:"An ecosystem selects the agents a request needs, runs the steps and synthesises the result through the A2A protocol. The orchestration is declared, not left to the initiative of a single agent."},{title:"Automate: a visual workflow builder",body:"Agents, conditions, API calls, tools, notifications, branches and sub-workflows by drag and drop, triggered manually, by webhook or on a schedule, with human validation wherever it is needed."},{title:"Scale: governance and sovereignty",body:"Multi-organisation, roles and isolation, usage tracking, dedicated API keys, audit log and data purge. As SaaS hosted in France on Scaleway, or on-premise on your own servers."},{title:"Integrate: OpenAI compatibility and business tools",body:"The OpenAI-compatible API lets you call an agent or an ecosystem like a model, from your existing applications, your MCP servers and your business connectors."}],killerQuestions:["A personal agent learns from its user. What happens when that person leaves the company, and who owns the memory it accumulated?","How will you open this usage to several teams with roles, data isolation and usage tracking per organisation?","Can your critical processes rely on a chain of actions decided by the agent, or do you need an explicit workflow that can be replayed and audited step by step?"],objections:[{objection:"Hermes is open source and self-hosted, that is already sovereign.",response:"Self-hosting does give you control over execution, and that is a genuine strength. Enterprise sovereignty additionally requires operated hosting, isolation between organisations, traceability of decisions and a contractual guarantee on where data lives. Socle AI offers SaaS in France on Scaleway or on-premise, with the governance layer that goes with it."},{objection:"Hermes's persistent memory and self-learned skills are more advanced than configuring agents.",response:"That is true, and it is the heart of its proposition: an agent that improves on its own by observing you. In a company, that same autonomy becomes a compliance question: you have to be able to say who has access to what, replay a decision and justify it. Socle AI therefore favours explicitly configured agents and traced workflows."},{objection:"Our developers prefer an agent they fully control locally.",response:"The two coexist very well. Socle AI exposes an OpenAI-compatible API: Hermes can point at a S
83ocle agent or ecosystem like any other endpoint, and pick up the organisation's document RAG and business tools, without your developers giving up their personal agent."}]}],oS=[{slug:"langchain",image:"/images/battle-cards/langchain.svg",opponent:"LangChain",updated:"2026-08-05",metaDescription:"Socle AI vs LangChain: plataforma corporativa soberana pronta para uso contra um framework de desenvolvimento que você precisa programar sozinho. Forças, objeções, perguntas-chave.",positioning:{competitorRole:"Biblioteca de código (framework)",socleRole:"Plataforma corporativa pronta para uso",lead:"A Socle AI é uma plataforma corporativa soberana e pronta para uso (interface, governança, workflows visuais, API), enquanto o LangChain é uma biblioteca de código que você precisa programar, integrar e manter inteiramente por conta própria.",summary:"Onde o LangChain é um kit de LEGO para desenvolvedores Python/JS, a Socle AI é a plataforma corporativa completa que leva os seus projetos até a produção."},comparisonTable:[{dimension:"Tipo de produto",competitor:"Biblioteca a integrar",socle:"Plataforma completa"},{dimension:"Interface para a área de negócio",competitor:"A desenvolver",socle:"IncluÃda (chat, RAG, dashboards)"},{dimension:"Workflows visuais",competitor:"Não",socle:"Arrastar e soltar nativo"},{dimension:"Governança e auditoria",competitor:"LangSmith (nuvem dos EUA)",socle:"Integrada e soberana"},{dimension:"Multimodalidade",competitor:"Bibliotecas a montar",socle:"Nativa (ASR, TTS, visão)"},{dimension:"Hospedagem",competitor:"Por sua conta",socle:"SaaS na França ou on-premise"},{dimension:"Time to market",competitor:"6 a 12 meses de desenvolvimento",socle:"Imediato"}],weaknesses:[{title:"Alto custo de desenvolvimento e dÃvida técnica",body:"O LangChain é uma biblioteca de código, não um software. Para chegar a uma aplicação utilizável, as equipes precisam programar a interface, a gestão de usuários e perfis, o RAG, a autenticação e a infraestrutura."},{title:"Instabilidade e quebras frequentes de compatibilidade",body:"O ecossistema LangChain evolui muito rápido, com atualizações frequentes que quebram o código existente e impõem uma carga pesada de manutenção à s equipes."},{title:"Nenhuma interface de negócio nem no-code nativo",body:"As equipes de Produto, negócio ou Ops não conseguem usar o LangChain diretamente. Tudo passa por código Python ou TypeScript."},{title:"Soberania e governança complexas",body:"Para rastreamento, monitoramento e retreinamento (via LangSmith), os dados frequentemente transitam por um SaaS norte-americano. Programar a sua própria alternativa on-premise de auditoria e métricas leva meses de trabalho."}],strengths:[{title:"Plataforma pronta para uso vs framework a programar",body:"A Socle AI entrega diretamente uma interface completa (chat, gestão de bases documentais RAG, painéis de governança) e um construtor visual de workflows por arrastar e soltar."},{title:"Time to market imediato, compatÃvel com OpenAI",body:"Meses de desenvolvimento economizados. A compatibilidade 100% com a API OpenAI (base_url) permite que os desenvolvedores mantenham suas ferramentas habituais aproveitando uma plataforma soberana."},{title:"Soberania, segurança e on-premise nativo",body:"DisponÃvel como SaaS soberano na França (Scaleway) ou implantável on-premise nos seus próprios servidores, em arquitetura Docker. Os dados permanecem sob controle total."},{title:"Multimodalidade e orquestração integradas",body:"Onde o LangChain exige montar dezenas de bibliotecas, a Socle AI integra nativamente a transcrição de áudio com diarização, a sÃntese de voz, a visão, o RAG hÃbrido com reranking e os servidores MCP."},{title:"Governança e métricas de negócio",body:"Métricas de uso, acompanhamento de custos por organização e por membro, registro de auditoria completo das ações dos agentes e ciclos de feedback dos usuários, desde o primeiro dia."}],killerQuestions:["Vocês estimaram o orçamento e o esforço em pessoas (devs, QA, ops) necessários para programar e manter a interface, a governança e o RAG em volta do LangChain?","Como pretendem lidar com a dÃvida técnica e a instabilidade das atualizações do LangChain em um ambiente de produção crÃtico?","As suas equipes de negócio terão autonomia para criar os próprios workflows de agentes sem depender sistematicamente da TI?"],objections:[{objection:"O LangChain é gratuito e open source, por que pagar pela Socle AI?",response:"O código da biblioteca é gratuito, mas o custo total de propriedade é alto: programar a interface, o RAG, a segurança multi-tenant, a multimodalidade e a governança leva de 6 a 12 meses de uma equipe de devs. A Socle AI entrega uma plataforma operacional imediatamente, hospedada na França ou on-premise, por um custo global menor."},{objection:"Nossos desenvolvedores já conhecem o LangChain e querem manter o controle do código.",response:"A Socle AI não impõe nenhuma restrição aos desenvolvedores: graças à API REST compatÃvel com OpenAI, eles podem continuar programando, ou até usando o LangChain, apontando para a nossa base soberana (base_url). Isso apenas evita que reinventem a
83infraestrutura, o áudio, o RAG e as interfaces."},{objection:"O LangChain oferece o LangSmith para governança e monitoramento.",response:"O LangSmith é um serviço em nuvem norte-americano sujeito a leis extraterritoriais. A Socle AI integra nativamente a rastreabilidade dos agentes, as métricas de uso, a auditabilidade e os ciclos de feedback, na nossa infraestrutura francesa na Scaleway ou on-premise nos seus servidores."}]},{slug:"mistral",image:"/images/battle-cards/mistral.svg",opponent:"Mistral AI",updated:"2026-08-05",metaDescription:"Socle AI vs Mistral AI: plataforma soberana de orquestração e governança contra um fornecedor de modelos (LLM). Stack, forças, objeções, perguntas-chave.",positioning:{competitorRole:"Fornecedor de modelos (LLM)",socleRole:"Plataforma de orquestração soberana",lead:"A Socle AI é uma plataforma soberana de orquestração, automação e governança de IA (SaaS na Scaleway ou on-premise com Docker), enquanto a Mistral AI é uma fornecedora de modelos (LLM).",summary:"A Mistral fornece o motor, a Socle AI fornece o veÃculo de negócio inteiro, e pode inclusive rodar os modelos da Mistral."},comparisonTable:[{dimension:"Tipo de produto",competitor:"Modelos via API",socle:"Plataforma de orquestração"},{dimension:"Escolha do modelo",competitor:"Modelos Mistral",socle:"+12 modelos, incluindo Mistral"},{dimension:"Orquestração multiagente",competitor:"A desenvolver",socle:"Nativa (protocolo A2A)"},{dimension:"Workflows visuais",competitor:"Não",socle:"Arrastar e soltar nativo"},{dimension:"Governança e auditoria",competitor:"Não fornecida",socle:"Integrada"},{dimension:"Multimodalidade",competitor:"Texto e visão",socle:"Texto, visão, ASR, TTS, imagens"},{dimension:"Hospedagem",competitor:"API em nuvem",socle:"SaaS na França ou on-premise Docker"}],stackComparison:{competitor:{label:"Com a Mistral AI",items:["API Mistral","LangChain","Banco vetorial","Backend","Frontend","Autenticação","Monitoramento"],result:"Complexidade alta"},socle:{label:"Com a Socle AI",items:["Agentes","RAG","Interface","Orquestração"],result:"Tudo integrado"}},weaknesses:[{title:"Fornecedora de peças, não de uma plataforma de negócio",body:"A Mistral vende acesso aos seus modelos via API. Para construir uma solução corporativa (RAG hÃbrido, orquestração multiagente, workflows visuais, integrações com os sistemas internos), é preciso mobilizar desenvolvedores por meses para montar a infraestrutura em volta, ou fechar um contrato-quadro com a Mistral."},{title:"Ausência de ferramentas nativas de governança e auditabilidade",body:"A Mistral não oferece interfaces prontas para acompanhar as taxas de sucesso por tarefa, coletar ciclos de feedback dos usuários ou seguir passo a passo as decisões tomadas pelos agentes."},{title:"Ecossistema multimodal limitado",body:"A Mistral é focada em modelos de linguagem e visão. Não há uma suÃte integrada para transcrição de áudio avançada com diarização, sÃntese de voz ou edição e geração de imagens no mesmo ambiente."},{title:"Risco de dependência de APIs proprietárias",body:"Conectar-se diretamente à s APIs da Mistral prende a stack técnica. Se outro modelo (Qwen, Llama...) se tornar mais eficiente ou mais econômico em um caso de uso, migrar exige redesenvolvimento."}],strengths:[{title:"Plataforma pronta para uso e agnóstica, +12 modelos",body:"A Socle AI orquestra mais de 12 modelos (incluindo os da Mistral, Llama e Qwen), atualizados continuamente. Compatibilidade 100% com a API OpenAI (base_url): troca-se de modelo ou de fornecedor sem alterar uma linha de código."},{title:"Orquestração agêntica e workflows visuais",body:"Motor multiagente nativo (protocolo A2A), construtor visual por arrastar e soltar e servidores MCP para conectar a IA à s ferramentas de negócio (Slack, HubSpot, Notion, bancos SQL) em poucos cliques."},{title:"Soberania e segurança absolutas",body:"Implantação à escolha: SaaS soberano na França (Scaleway) ou on-premise (Docker) na infraestrutura do cliente. Imunidade total a leis extraterritoriais, nenhum dado compartilhado nem usado para treinar um modelo."},{title:"Governança, métricas e conformidade",body:"Painéis integrados para acompanhar o consumo, medir o sucesso das interações por tarefa, capturar o feedback dos usuários finais e manter um registro de auditoria completo das ações dos agentes."},{title:"Acompanhamento e expertise de negócio (7 a 8 anos)",body:"Uma metodologia comprovada em projetos crÃticos (bancos, defesa, seguros): estudo de viabilidade, implantação e integração incluÃdos, não apenas um software."}],killerQuestions:["A Mistral fornece a API do modelo, mas quem vai desenvolver e manter a orquestração multiagente, o RAG hÃbrido e a interface de governança para as suas equipes?","Como pretendem medir a adoção real pelos seus usuários e acompanhar a taxa de sucesso das tarefas executadas pela IA no dia a dia?","Se amanhã um modelo open source superar a Mistral no seu caso de uso especÃfico, qual será a sua agilidade para trocar sem reescrever o que já foi feito?"],objections:[{objection:"A Mistral é a campeã soberana da IA na França, por que não ir direto a eles?",response:"A Mistral é excelente na criação de modelos, e é justamente por isso que a Socle AI suporta os modelos dela nativamente. Mas um modelo sozinho é como um motor sem carro: a Socle AI fornece a carroceria, o painel e os conectores de negócio. Passando pela Socle AI, você usa o modelo da Mistral se quiser, com uma plataforma completa de governança e orquestração por cima."},{objection:"A Mistral já oferece uma API simples e o Le Chat Pro.",response:"O Le Chat é uma ferramenta de conversa individual, não um motor de automação corporativa, e a API da Mistral exige programar tudo por conta própria. A Socle AI permite interconectar agentes autônomos à s suas ferramentas (Slack, CRM, bancos de dados), criar workflows visuais, orquestrar a multimodalidade (voz, imagem) e instalar tudo on-premise, se necessário. Tudo depende de você querer um simples chat para os colaboradores ou integrar a IA aos seus processos e produtos."},{objection:"A Mistral está em conformidade com o GDPR e é europeia.",response:"à verdade, mas a Socle AI vai além: hospedagem 100% francesa na Scaleway ou nos seus próprios servidores via Docker, isolamento total de leis extraterritoriais, RAG hÃbrido seguro e ausência estrita de retreinamento com os seus dados."}]},{slug:"scaleway",image:"/images/battle-cards/scaleway.svg",opponent:"Scaleway",tone:"complementary",competitorLabel:"O PARCEIRO",updated:"2026-08-05",metaDescription:"Socle AI e Scaleway: plataforma de softw
83are de IA soberana e infraestrutura de nuvem francesa, duas camadas complementares. Quem faz o quê, e por que combiná-las.",positioning:{competitorRole:"Infraestrutura de nuvem (IaaS/PaaS)",socleRole:"Plataforma de software de IA pronta para uso",lead:"A Socle AI é uma plataforma de software aplicativo de IA soberana e pronta para uso (interface, agentes, RAG, workflows visuais, governança), enquanto a Scaleway é uma fornecedora de infraestrutura de nuvem: servidores, GPUs, instâncias e inferência bruta de modelos.",summary:"A Scaleway fornece a rede e o poder de processamento; a Socle AI fornece a suÃte aplicativa de negócio pronta para as suas equipes usarem. Se você quer uma IA francesa, responsável e simples de implantar, trabalhe com a Scaleway E com a Socle AI."},synergy:"O SaaS da Socle AI roda diretamente sobre a infraestrutura francesa da Scaleway. Portanto não é uma escolha excludente: é a mesma soberania, com a camada aplicativa a mais.",comparisonTable:[{dimension:"Camada coberta",competitor:"Infraestrutura (servidores, GPUs)",socle:"Aplicativa de negócio"},{dimension:"Interface do usuário",competitor:"Console de nuvem",socle:"Chat, agentes, painéis"},{dimension:"RAG",competitor:"A desenvolver",socle:"HÃbrido com reranking, nativo"},{dimension:"Orquestração multiagente",competitor:"A desenvolver",socle:"Nativa (protocolo A2A)"},{dimension:"Workflows visuais",competitor:"Não",socle:"Arrastar e soltar nativo"},{dimension:"Multimodalidade",competitor:"Inferência de modelos",socle:"ASR, TTS e visão integrados"},{dimension:"O que é medido",competitor:"Consumo de infraestrutura",socle:"Sucesso de negócio, auditoria, feedback"}],weaknessesTitle:"A Scaleway é uma fornecedora de nuvem, não uma editora de IA aplicativa",weaknesses:[{title:"Fornecedora de nuvem, não editora de software aplicativo de IA",body:"A Scaleway oferece servidores GPU e endpoints de inferência (Managed Inference sobre modelos open source), mas nenhuma interface de negócio pronta para os usuários finais ou para as equipes de Produto."},{title:"Sem blocos aplicativos nativos",body:"Sem construtor visual de workflows, sem motor de orquestração multiagente, sem gestor de RAG hÃbrido com reranking, nem suÃte multimodal integrada (transcrição com diarização, sÃntese de voz, visão)."},{title:"Custos e prazos de desenvolvimento a prever",body:"Usar diretamente a API de inferência pressupõe programar a aplicação, os bancos vetoriais, a gestão de memória, os direitos de acesso e a interface do usuário."},{title:"Governança no nÃvel da infraestrutura",body:"A Scaleway mede o uso das instâncias, a memória e os tokens consumidos. O sucesso de negócio das tarefas, a auditabilidade das decisões dos agentes e os ciclos de feedback pertencem à camada aplicativa."}],strengthsTitle:"à por isso que nos complementamos",strengths:[{title:"Soberania de nuvem + potência aplicativa",body:"A Socle AI se apoia nativamente na Scaleway, na França (certificada ISO/IEC 27001, HDS, em conformidade com o GDPR), para a sua oferta SaaS, ou se instala on-premise (Docker) na infraestrutura privada do cliente. Você soma a soberania da Scaleway à camada aplicativa da Socle AI."},{title:"Plataforma pronta para uso em vez de API bruta",body:"Interface de chat completa, módulos de criação de agentes, construtor de workflows visuais, conectores de negócio (Slack, HubSpot, Notion, bancos de dados) e gestão documental em RAG hÃbrido, desde o primeiro dia."},{title:"Multimodalidade e orquestração multiagente nativas",body:"Gestão de voz (Whisper / Gladia com diarização), geração de imagens, sÃntese de voz e orquestração dinâmica de agentes especializados via protocolo A2A."},{title:"Governança e conformidade de negócio",body:"Painéis de consumo por organização, rastreabilidade das interações, registros de auditoria e ciclos de feedback dos usuários."},{title:"Acompanhamento e expertise (7 a 8 anos)",body:"Uma metodologia completa para estruturar e implantar os seus casos de uso complexos, muito além do fornecimento do software."}],killerQuestions:["A Scaleway dá acesso a instâncias GPU e a inferência bruta, mas qual equipe vai programar a interface, o motor de RAG hÃbrido e os conectores para as suas ferramentas de negócio?","Como vocês vão medir a taxa de sucesso das tarefas de IA e a adoção pelos usuários de negócio com um painel de infraestrutura de nuvem?","Vocês sabiam que o SaaS da Socle AI é hospedado na França, na Scaleway? Você mantém exatamente as mesmas garantias de soberania sem precisar reinventar a camada aplicativa."],objections:[{objection:"A Scaleway já oferece APIs gerenciadas de inferência de modelos de IA.",response:"Uma API de inferência devolve texto bruto a um desenvolvedor. Para transformar isso em um serviço útil à s áreas de negócio, é preciso construir o RAG, a orquestração multiagente, os workflows e a interface. A Socle AI entrega toda essa camada aplicativa pronta para uso e pode se conectar aos modelos hospedados na Scaleway."},{objection:"Queremos permanecer 100% soberanos usando uma nuvem francesa como a Scaleway.",response:"Compartilhamos exatamente essa visão: o SaaS da Socle AI é hospedado diretamente na Scaleway, na França, sem exposição a leis extraterritoriais e sem nenhum dado compartilhado ou usado para treinar um modelo. Você tem a garantia soberana da Scaleway somada à agilidade de softw
83are da Socle AI."},{objection:"Ir direto com a Scaleway vai nos custar menos em licenças.",response:"A infraestrutura bruta custa menos no inÃcio, mas o custo total de propriedade sobe rápido quando é preciso pagar desenvolvedores por 6 a 12 meses para criar e manter a aplicação em volta. A Socle AI reduz fortemente o prazo de chegada ao mercado."}]},{slug:"iguane-solutions",draft:!0,image:"/images/battle-cards/iguane-solutions.svg",opponent:"Iguane Solutions",tone:"complementary",competitorLabel:"O PROVEDOR DE INFRAESTRUTURA GERENCIADA",updated:"2026-08-05",metaDescription:"Socle AI e Iguane Solutions: plataforma de software de IA pronta para uso e provedor de hospedagem e infraestrutura gerenciada sob medida. Quem faz o quê, e por que associá-los.",positioning:{competitorRole:"Hospedagem e gestão de infraestrutura",socleRole:"Editora de plataforma de software de IA",lead:"A Socle AI é uma plataforma de software aplicativo pronta para uso, dedicada à orquestração, à automação e à governança da IA, enquanto a Iguane Solutions é uma provedora de hospedagem e gestão de infraestruturas de nuvem e TI sob medida.",summary:"A Iguane fornece os servidores, o hardware e o encanamento; a Socle AI fornece a plataforma de inteligência, a interface e os workflows de negócio prontos para uso, que podem rodar sobre a infraestrutura da Iguane."},synergy:"O ideal se você quer aliar uma verdadeira expertise de implantação de infraestrutura para rodar IA a uma solução comprovada para que as suas equipes a usem em condições industriais: escolha a Socle AI e a Iguane Solutions.",comparisonTable:[{dimension:"Atividade principal",competitor:"Hospedagem e gestão sob medida",socle:"Edição de software de IA"},{dimension:"Manutenção da infraestrutura",competitor:"Expertise principal",socle:"Delegada ao provedor"},{dimension:"Camada aplicativa de IA",competitor:"Presente, fora da especialidade",socle:"Especialidade"},{dimension:"O que é medido",competitor:"Uptime, CPU, memória, rede",socle:"Sucesso das tarefas, qualidade, feedback"},{dimension:"Modelos acessÃveis",competitor:"Os implantados na infraestrutura",socle:"+12 via API compatÃvel com OpenAI"},{dimension:"Implantação",competitor:"Infraestrutura gerenciada",socle:"Instala-se sobre essa infraestrutura"}],weaknessesTitle:"A Iguane, uma especialista em infraestrutura de IA",weaknesses:[{title:"Antes de tudo, uma gestora de infraestrutura",body:"A Iguane é excelente na manutenção operacional de servidores, clusters Kubernetes ou nuvens privadas. Uma camada aplicativa capaz de criar agentes, fazer RAG ou orquestrar LLMs existe, mas não é aà que está o seu negócio principal."},{title:"Governança de infraestrutura em vez de governança de negócio",body:"A Iguane monitora CPU, memória, rede e uptime. Medir a taxa de sucesso das tarefas de IA, acompanhar a qualidade das respostas ou gerir os ciclos de feedback dos usuários pertence a outra camada."}],strengthsTitle:"Por que associar a Socle AI à Iguane é uma boa ideia",strengths:[{title:"Plataforma aplicativa pronta para uso",body:"Interface do usuário, gestão dos vector stores para o RAG hÃbrido, orquestração multiagente e construtor de workflows no-code/low-code, disponÃveis imediatamente. A transcrição de voz, a sÃntese de voz, a geração de imagens e os LLMs já vêm resolvidos."},{title:"Expertise de negócio em IA integrada (7 a 8 anos)",body:"Além do software, uma metodologia comprovada para transformar necessidades complexas (bancos, seguros, defesa) em casos de uso concretos, com acompanhamento e integração incluÃdos."},{title:"Flexibilidade de implantação",body:"A Socle AI se instala como SaaS soberano ou diretamente on-premise (arquitetura Docker) na infraestrutura privada de sua escolha, inclusive em servidores gerenciados pela Iguane Solutions."},{title:"Governança e métricas de negócio",body:"Painéis de consumo, uso por membro, auditabilidade completa e medição do sucesso das tarefas por meio de ciclos de feedback."},{title:"Padronização pela API OpenAI",body:"Compatibilidade 100% com a API OpenAI (base_url): os seus desenvolvedores alternam entre modelos sem reescrever nada, inclusive para modelos que não estão implantados na infraestrutura, o que é útil na fase de experimentação ou em casos particulares."}],killerQuestions:["A Iguane cuida dos seus servidores e das suas GPUs, mas quem vai permitir que os seus desenvolvedores monitorem o uso dos agentes e interconectem as suas ferramentas?","Como vocês vão medir a eficácia dos seus workflows de IA e coletar o feedback dos usuários apenas com um prestador de infraestrutura?","Vocês sabiam que a plataforma Socle AI se implanta on-premise via Docker diretamente na sua infraestrutura gerenciada, unindo o melhor do software de IA e da soberania de infraestrutura?"],objections:[{objection:"A Iguane Solutions nos garante hospedagem e gestão 100% sob medida na França.",response:"Isso é excelente para a infraestrutura. Mas a infraestrutura sozinha não resolve os seus casos de uso de negócio: a Socle AI é uma plataforma de softw
83are que se instala on-premise (Docker) em qualquer nuvem ou servidor privado. Você mantém a sua hospedagem segura e ainda dispõe de uma plataforma de IA aplicativa pronta desde o primeiro dia."},{objection:"A Iguane pode implantar modelos open source em servidores GPU dedicados para nós.",response:"Implantar um modelo em um servidor entrega uma API bruta, não um serviço de negócio. A Socle AI traz a camada de software indispensável por cima: interface de chat, memória contextual, RAG hÃbrido (PDF, Word, áudio), transcrição de voz e conectores para as suas ferramentas (Slack, CRM, bancos de dados). Sem ela, é preciso programar tudo."},{objection:"Já temos um contrato-quadro com a Iguane para toda a nossa infraestrutura de TI.",response:"A Socle AI não é concorrente da Iguane, somos complementares: nós somos editores de software de IA. Você pode perfeitamente manter o seu contrato de infraestrutura e implantar nele o bloco aplicativo Socle AI para atender imediatamente à s necessidades de IA das suas equipes."}]},{slug:"outscale",image:"/images/battle-cards/outscale.svg",opponent:"OUTSCALE",tone:"complementary",competitorLabel:"A INFRAESTRUTURA QUALIFICADA",updated:"2026-08-05",metaDescription:"Socle AI e OUTSCALE (3DS OUTSCALE): nuvem soberana qualificada SecNumCloud 3.2 e plataforma aplicativa de IA. Quem faz o quê, e por que implantá-las juntas.",positioning:{competitorRole:"Nuvem IaaS/PaaS qualificada SecNumCloud 3.2",socleRole:"Plataforma de software aplicativo de IA",lead:"A OUTSCALE fornece a infraestrutura de nuvem IaaS/PaaS soberana mais altamente certificada (SecNumCloud 3.2), enquanto a Socle AI fornece a plataforma de software aplicativo de IA: interface, agentes, RAG hÃbrido, workflows visuais e governança.",summary:"A OUTSCALE fornece a base fÃsica e a segurança de nÃvel de Estado, as GPUs e a nuvem qualificada; a Socle AI fornece a suÃte de software de negócio pronta para uso."},synergy:"A Socle AI se implanta via Docker ou Kubernetes (OKS) diretamente no seu tenant OUTSCALE: você mantém a qualificação SecNumCloud 3.2 e ganha a camada aplicativa por cima.",comparisonTable:[{dimension:"Camada coberta",competitor:"Infraestrutura (GPU, VM, Kubernetes)",socle:"Aplicativa de negócio"},{dimension:"Qualificação",competitor:"SecNumCloud 3.2 (ANSSI)",socle:"Instala-se dentro desse perÃmetro"},{dimension:"Interface de negócio",competitor:"Console de nuvem",socle:"Chat, agentes, painéis"},{dimension:"RAG hÃbrido",competitor:"A desenvolver",socle:"Nativo, multifonte com reranking"},{dimension:"Orquestração multiagente",competitor:"A desenvolver",socle:"Nativa (protocolo A2A)"},{dimension:"Multimodalidade",competitor:"Processamento em GPU",socle:"Transcrição, TTS e visão integrados"},{dimension:"O que é medido",competitor:"GPU, RAM, armazenamento, banda",socle:"Adoção, sucesso por tarefa, feedback"}],weaknessesTitle:"Por que a OUTSCALE sozinha não basta",weaknesses:[{title:"Um player IaaS/PaaS, não uma editora de software aplicativo de IA",body:"A OUTSCALE é excelente no fornecimento de poder de processamento em GPU, máquinas virtuais e clusters Kubernetes qualificados SecNumCloud. Em contrapartida, não fornece uma interface gráfica pronta para os usuários de negócio não técnicos."},{title:"Sem blocos aplicativos nem orquestração de IA nativos",body:"Sem motor de orquestração multiagente (protocolo A2A), sem construtor visual no-code/low-code de workflows, sem motor de RAG hÃbrido multifonte com reranking, nem suÃte multimodal (transcrição com diarização, TTS, visão)."},{title:"Prazos e custos de desenvolvimento aplicativo",body:"Implantar um modelo ou uma instância GPU na OUTSCALE dá acesso a um serviço de infraestrutura ou a uma API. As suas equipes ainda precisam programar a aplicação, a interface, a gestão de direitos, a memória contextual e a governança de negócio."},{title:"Governança no nÃvel da infraestrutura",body:"A OUTSCALE acompanha o consumo de recursos (GPU, RAM, armazenamento, banda). O acompanhamento da adoção pelo negócio, a taxa de sucesso por tarefa executada pelos agentes e os ciclos de feedback pertencem à camada aplicativa."}],strengthsTitle:"A aliança vencedora: Socle AI sobre OUTSCALE",strengths:[{title:"A stack de IA soberana de referência",body:"Ao implantar a Socle AI (Docker ou Kubernetes OKS) diretamente na infraestrutura OUTSCALE, o cliente obtém o nÃvel máximo de segurança concedido na França pela ANSSI (SecNumCloud 3.2), combinado a uma suÃte aplicativa de IA pronta para uso."},{title:"Time to market imediato para organizações crÃticas",body:"Setor público, defesa, saúde (certificada HDS), bancos e operadores de importância vital podem implantar copilotos de negócio, RAG sobre documentos confidenciais e agentes autônomos em poucos dias, sem passar meses desenvolvendo a infraestrutura de softw
83are."},{title:"Orquestração multiagente e workflows visuais",body:"Motor de agentes autônomos, estúdio de workflows por arrastar e soltar, conectores de ferramentas de negócio e compatibilidade 100% com a API OpenAI (base_url) para alternar entre mais de 12 modelos."},{title:"Governança e auditabilidade completas",body:"Painéis de consumo de IA por diretoria e por membro, registros de auditoria detalhados das ações tomadas pelos agentes e coleta de feedback dos usuários integrada."},{title:"Acompanhamento de negócio de ponta a ponta",body:"7 a 8 anos de expertise na estruturação e integração de casos de uso de IA de alto risco."}],killerQuestions:["A OUTSCALE garante uma nuvem soberana qualificada SecNumCloud 3.2 para as suas GPUs, mas qual aplicação e qual interface os seus colaboradores vão usar no dia a dia para interagir com esses modelos?","Vocês calcularam o esforço de desenvolvimento interno para criar o motor de RAG, o orquestrador de agentes e a gestão de direitos de acesso sobre as suas instâncias OUTSCALE?","Vocês sabiam que a plataforma Socle AI se instala diretamente no seu tenant OUTSCALE, combinando o mais alto nÃvel de segurança europeu com uma solução de IA de negócio imediatamente operacional?"],objections:[{objection:'Somos obrigados a seguir a doutrina "Cloud au centre" e a usar uma nuvem SecNumCloud como a OUTSCALE.',response:"à uma excelente decisão, e a Socle AI não pretende substituir o seu provedor: a plataforma se instala on-premise (Docker ou Kubernetes) diretamente dentro do seu ambiente OUTSCALE SecNumCloud 3.2. Você atende 100% à s exigências do Estado e ainda dispõe imediatamente de uma plataforma de software de IA completa."},{objection:"A OUTSCALE já oferece ofertas de IA e GPUs gerenciadas.",response:"A OUTSCALE fornece o poder de processamento bruto e a hospedagem de modelos. Mas uma GPU ou uma API não fornece interface de chat, nem gestor de bases documentais RAG, nem conectores de negócio. A Socle AI é o motor aplicativo que se apoia nas GPUs da OUTSCALE para tornar a IA utilizável pelas suas equipes de negócio."},{objection:"Por que não desenvolver a nossa própria aplicação de IA sobre a OUTSCALE?",response:"Desenvolver internamente uma plataforma segura, multiagente, multimodal (voz, imagem), com RAG hÃbrido e governança representa de 6 a 12 meses de P&D pesada. Com a Socle AI implantada na OUTSCALE, você ganha esse tempo e conta com uma solução comprovada em ambientes crÃticos."}]},{slug:"ovhcloud",image:"/images/battle-cards/ovhcloud.svg",opponent:"OVHcloud",tone:"complementary",competitorLabel:"A INFRAESTRUTURA",updated:"2026-08-05",metaDescription:"Socle AI e OVHcloud: infraestrutura de nuvem soberana europeia e plataforma de software de IA aplicativa. Quem faz o quê, e por que combiná-las em uma stack 100% francesa.",positioning:{competitorRole:"Infraestrutura de nuvem soberana europeia",socleRole:"Plataforma de software de IA aplicativa",lead:"A OVHcloud fornece a infraestrutura de nuvem soberana europeia (IaaS/PaaS, GPUs, servidores dedicados, AI Endpoints), enquanto a Socle AI fornece a plataforma de software de IA aplicativa pronta para uso: interface, agentes autônomos, RAG hÃbrido, workflows visuais e governança.",summary:"A OVHcloud fornece a potência bruta e o hardware francês; a Socle AI fornece a suÃte de inteligência e as interfaces de negócio. Juntas, uma stack 100% francesa e imediatamente operacional."},synergy:"A Socle AI se implanta via Docker diretamente nos seus servidores ou instâncias GPU da OVHcloud: você aproveita a infraestrutura que já tem, sem recomeçar do zero.",comparisonTable:[{dimension:"Camada coberta",competitor:"Infraestrutura (GPU, servidores, endpoints)",socle:"Aplicativa de negócio"},{dimension:"Interface de negócio",competitor:"Console de nuvem",socle:"Chat, agentes, painéis"},{dimension:"Workflows visuais",competitor:"Não",socle:"Estúdio por arrastar e soltar"},{dimension:"RAG hÃbrido",competitor:"A desenvolver",socle:"Nativo com reranking documental"},{dimension:"Orquestração multiagente",competitor:"A desenvolver",socle:"Nativa (protocolo A2A)"},{dimension:"Multimodalidade",competitor:"Inferência de modelos",socle:"Transcrição, TTS e visão integrados"},{dimension:"O que é medido",competitor:"Processamento, GPU, banda",socle:"Adoção, sucesso das tarefas, feedback"}],weaknessesTitle:"Por que a OVHcloud sozinha não basta",weaknesses:[{title:"Fornecedora de infraestrutura, não editora de softw
83are de negócio",body:"A OVHcloud oferece instâncias GPU, AI Endpoints (inferência de modelos) e bancos de dados gerenciados, mas nenhuma interface gráfica (chat, painel) para as equipes de negócio não técnicas."},{title:"Sem orquestração nem blocos de IA avançados",body:"Sem construtor visual de workflows, sem orquestração multiagente dinâmica (protocolo A2A), sem gestor de RAG hÃbrido com reranking documental, nem suÃte multimodal integrada (transcrição com diarização, TTS, visão)."},{title:"Prazos e custos de desenvolvimento",body:"Usar as APIs de inferência ou alugar GPUs na OVHcloud deixa você com uma API bruta. As suas equipes precisam desenvolver a aplicação, a interface, a memória contextual, a gestão de direitos e a governança."},{title:"Governança no nÃvel da infraestrutura",body:"A OVHcloud calcula o consumo de processamento, GPU e banda. Medir a adoção pelos colaboradores, a taxa de sucesso das tarefas de IA ou coletar os ciclos de feedback pertence a outra camada."}],strengthsTitle:"A aliança vencedora: Socle AI sobre OVHcloud",strengths:[{title:"Stack 100% França e Europa",body:"Ao implantar a Socle AI (SaaS ou on-premise via Docker) sobre uma infraestrutura OVHcloud (SecNumCloud, HDS), você obtém imunidade total diante de leis extraterritoriais (Cloud Act), sem abrir mão da experiência do usuário."},{title:"Plataforma pronta para uso em vez de API bruta",body:"Interface de chat completa, módulos de criação de agentes, estúdio de workflows por arrastar e soltar, conectores de negócio (Slack, CRM, bancos de dados) e gestão documental RAG desde o primeiro dia."},{title:"Orquestração multiagente e agnosticismo",body:"Motor multiagente nativo (protocolo A2A) e compatibilidade 100% com a API OpenAI (base_url): você orquestra qualquer modelo open source (Mistral, Llama, Qwen) hospedado na OVHcloud sem alterar o seu código."},{title:"Governança, conformidade e ciclos de feedback",body:"Painéis de acompanhamento de uso por membro, registro de auditoria completo das decisões tomadas pelos agentes e medição do sucesso das tarefas dentro da organização."},{title:"Acompanhamento e expertise (7 a 8 anos)",body:"Uma metodologia comprovada para ir da estruturação à produção em casos de uso crÃticos: bancos, defesa, saúde."}],killerQuestions:["A OVHcloud fornece servidores GPU ou AI Endpoints, mas qual equipe vai programar a interface, o RAG documental e o orquestrador de agentes para os seus colaboradores?","Como pretendem medir a taxa de sucesso das tarefas de IA e a adoção pelos usuários com um simples painel de faturamento de nuvem?","Vocês sabiam que a plataforma Socle AI se implanta diretamente nos seus servidores ou instâncias GPU da OVHcloud, unindo a excelência da infraestrutura francesa a uma solução aplicativa operacional em poucos minutos?"],objections:[{objection:"Já temos um contrato de hospedagem ou créditos na OVHcloud.",response:"Excelente notÃcia: a Socle AI é 100% compatÃvel com a OVHcloud. Você pode implantar a plataforma on-premise (Docker) diretamente nos seus servidores. Você aproveita a sua infraestrutura soberana e ainda entrega ferramentas de negócio prontas para uso à s suas equipes."},{objection:"A OVHcloud já oferece AI Endpoints para usar modelos de IA.",response:"Os AI Endpoints são APIs brutas destinadas a desenvolvedores. Eles não fornecem interface de chat, nem gestor de bases documentais RAG, nem workflows visuais, nem sistema de governança. A Socle AI traz essa camada aplicativa, indispensável para tornar a IA utilizável pelas suas áreas de negócio."},{objection:"Ir direto pela OVHcloud vai nos evitar pagar uma licença de software.",response:"A infraestrutura custa menos no inÃcio, mas o custo total de propriedade sobe rápido quando é preciso pagar uma equipe de desenvolvedores por 6 a 12 meses para criar e manter a aplicação em volta. A Socle AI economiza esses meses de P&D e reduz o risco do seu roadmap."}]},{slug:"openai",image:"/images/battle-cards/openai.svg",opponent:"OpenAI",updated:"2026-08-05",metaDescription:"Socle AI vs OpenAI (ChatGPT Enterprise, API direta): soberania europeia contra infraestrutura norte-americana sujeita ao Cloud Act. Forças, objeções, perguntas-chave.",positioning:{competitorRole:"ChatGPT Enterprise e API direta (Estados Unidos)",socleRole:"Plataforma soberana europeia",lead:"A Socle AI é uma plataforma de IA soberana, hospedada na França ou instalável nos seus servidores, enquanto a OpenAI é uma fornecedora norte-americana sujeita ao Cloud Act e impossÃvel de implantar na sua casa.",summary:"Soberania europeia contra um gigante norte-americano sob o Cloud Act: você mantém o SDK da OpenAI, sem a dependência nem o risco regulatório."},comparisonTable:[{dimension:"Hospedagem",competitor:"Estados Unidos, sujeita ao Cloud Act",s
83ocle:"França (Scaleway) ou os seus servidores"},{dimension:"On-premise",competitor:"ImpossÃvel",socle:"Sim, via Docker"},{dimension:"Os seus dados",competitor:"Exposição extraterritorial",socle:"Nenhum dado compartilhado nem treinado"},{dimension:"Escolha do modelo",competitor:"Somente modelos OpenAI",socle:"+12 modelos (Mistral, Llama, Qwen...)"},{dimension:"Código existente",competitor:"Ecossistema proprietário",socle:"Mesmo SDK, base_url redirecionada"}],weaknesses:[{title:"Risco regulatório e Cloud Act",body:"Sujeita ao direito norte-americano, com exposição a riscos de vazamento de dados sensÃveis e à extraterritorialidade."},{title:"Aprisionamento proprietário total",body:"Todo o código desenvolvido sobre o ecossistema proprietário da OpenAI prende você a eles."},{title:"On-premise impossÃvel",body:"Não há como instalar o ChatGPT nos seus próprios servidores ou em uma nuvem soberana."}],strengths:[{title:"Soberania desde a concepção",body:"Hospedagem 100% na França (Scaleway) ou on-premise (Docker) nos seus servidores. Nenhum dado compartilhado, nenhum dado usado para treinar um modelo."},{title:"Compatibilidade com a API OpenAI (base_url)",body:"Os seus desenvolvedores mantêm o mesmo SDK da OpenAI e simplesmente redirecionam as requisições para a Socle AI. Você mantém o código, sem a dependência."},{title:"Multimodelo (+12)",body:"Alterne entre Mistral, Llama, Qwen e os demais conforme o custo e a necessidade de negócio."}],killerQuestions:["Vocês estão dispostos a confiar os dados estratégicos dos seus clientes ou da sua P&D a uma infraestrutura norte-americana sujeita ao Cloud Act?"],objections:[{objection:"A OpenAI tem os melhores modelos do mundo.",response:"Isso é verdade para o uso generalista. Mas para os seus processos de negócio crÃticos, um modelo open source (Mistral, Qwen) orquestrado na Socle AI é mais seguro, mais soberano, mais barato e oferece desempenho equivalente em tarefas especÃficas."}]},{slug:"developpement-interne",image:"/images/battle-cards/developpement-interne.svg",opponent:"Desenvolvimento interno",competitorLabel:"A OUTRA OPÃÃO",updated:"2026-08-05",metaDescription:"Socle AI vs desenvolvimento interno: plataforma pronta para uso contra 6 a 12 meses de P&D para reinventar a interface, o RAG, o multiagente e a governança. Custo total, time to market, objeções.",positioning:{competitorRole:"Construir tudo por conta própria",socleRole:"Plataforma pronta para uso",lead:"Desenvolver a sua própria plataforma de IA internamente é reinventar a interface, a gestão de direitos, a infraestrutura de RAG, o multiagente e a governança, tudo o que a Socle AI já entrega montado.",summary:"Plataforma pronta para uso contra reinventar a roda: a verdadeira pergunta não é se as suas equipes são capazes, mas se é aà que você quer gastar o tempo delas."},comparisonTable:[{dimension:"Time to market",competitor:"6 a 12 meses de P&D",socle:"Operacional imediatamente"},{dimension:"O que a sua equipe programa",competitor:"Interface, direitos, RAG, multiagente, governança",socle:"O valor do seu negócio"},{dimension:"Manutenção e atualizações",competitor:"Por sua conta",socle:"IncluÃdas"},{dimension:"Acompanhamento tecnológico",competitor:"Por sua conta",socle:"MCP, A2A, novos modelos, continuamente"},{dimension:"Custo",competitor:"Vários salários de engenheiros de IA",socle:"Uma fração de um salário de engenheiro"}],weaknessesTitle:'Os limites do "faça você mesmo"',weaknesses:[{title:"Time to market catastrófico",body:"6 a 12 meses de P&D pesada para desenvolver a interface, a gestão de direitos, a infraestrutura de RAG, o multiagente e a governança."},{title:"Custo de oportunidade e dÃvida técnica",body:"Mobilizar uma equipe de engenheiros talentosos no encanamento da infraestrutura em vez de nas funcionalidades de negócio de alto valor."}],strengths:[{title:"Operacional imediatamente",body:"Plataforma pronta para uso (SaaS ou Docker on-premise), entregue com 8 anos de experiência acumulada."},{title:"Economia enorme no custo total",body:"Por uma fração do salário de um engenheiro de IA, você obtém uma plataforma mantida, atualizada e segura."},{title:"Evolução constante",body:"A Socle AI integra continuamente os últimos avanços: MCP, A2A, novos modelos, multimodalidade."}],killerQuestions:["Você quer que os seus desenvolvedores passem os próximos 8 meses programando interfaces e encanamento de bancos vetoriais, ou criando valor de negócio para os seus clientes já na semana que vem?"],objections:[{objection:"Preferimos desenvolver sob medida para manter 100% do controle.",response:"A Socle AI não tira nenhum controle de você: a
83nossa API 100% compatÃvel com a OpenAI permite programar tudo o que quiser por cima. Nós apenas liberamos vocês dos 80% de código de infraestrutura sem valor agregado."}]},{slug:"dify-flowise",image:"/images/battle-cards/dify-flowise.svg",opponent:"Dify / Flowise",updated:"2026-08-05",metaDescription:"Socle AI vs Dify e Flowise: solução corporativa governada contra ferramentas open source low-code. Governança, auditoria, RAG hÃbrido, suporte e manutenção operacional.",positioning:{competitorRole:"Ferramentas open source low-code",socleRole:"Solução corporativa governada",lead:"O Dify e o Flowise são excelentes ferramentas open source para prototipar rápido, enquanto a Socle AI traz a governança, a auditabilidade, o suporte e a conformidade que uma implantação corporativa exige.",summary:"Agilidade visual sem rigor corporativo basta para um protótipo. Em produção, governança, auditoria e suporte deixam de ser opcionais."},comparisonTable:[{dimension:"Governança e auditoria",competitor:"Rudimentares",socle:"Registro de auditoria completo, taxas de sucesso"},{dimension:"Isolamento entre organizações",competitor:"Não estrito",socle:"Estrito"},{dimension:"Controle de custos",competitor:"Ausente",socle:"Limites antiabuso configuráveis"},{dimension:"Manutenção operacional",competitor:"Por sua conta",socle:"Garantida"},{dimension:"Multimodalidade",competitor:"Limitada",socle:"Transcrição Gladia/Whisper com diarização"},{dimension:"Acompanhamento",competitor:"Comunidade",socle:"Equipe de especialistas, da estruturação à produção"}],weaknessesTitle:"Os limites do Dify e do Flowise",weaknesses:[{title:"Segurança e governança rudimentares",body:"Sem gestão fina da auditabilidade, sem isolamento estrito entre organizações, sem controle de custos."},{title:"Manutenção pesada",body:"São projetos open source cuja manutenção operacional fica inteiramente por sua conta."},{title:"Ausência de acompanhamento de negócio",body:"Sem equipe de suporte nem especialistas para estruturar a integração."}],strengths:[{title:"Governança corporativa e auditoria",body:"Registro de auditoria completo, cálculo das taxas de sucesso por tarefa, ciclos de feedback dos usuários e limites antiabuso configuráveis."},{title:"RAG hÃbrido e multimodalidade integrados",body:"Tratamento avançado de formatos de até 5 GB, transcrição de voz Gladia/Whisper com diarização."},{title:"Suporte e acompanhamento (7 a 8 anos)",body:"Uma equipe de especialistas para acompanhar vocês da estruturação até a entrada em produção."}],killerQuestions:["Se vocês implantarem o Dify internamente, quem assumirá a responsabilidade pela governança, pelo acompanhamento de custos por equipe e pelo suporte técnico nas falhas?"],objections:[{objection:"O Dify é gratuito e permite criar agentes visuais muito rápido.",response:"O Dify é ótimo para prototipagem rápida. Mas em uma empresa, a segurança, a auditabilidade das decisões, o acompanhamento dos custos e a conformidade soberana são indispensáveis. A Socle AI oferece a agilidade visual e o rigor corporativo."}]},{slug:"n8n-make",image:"/images/battle-cards/n8n-make.svg",opponent:"n8n / Make",updated:"2026-08-05",metaDescription:"Socle AI vs n8n e Make: motor de IA agêntica especializado contra automação de fluxos genérica. Memória de longo prazo, RAG hÃbrido, orquestração multiagente e complementaridade com iPaaS.",positioning:{competitorRole:"Automação de fluxos genérica (iPaaS)",socleRole:"Motor de IA agêntica especializado",lead:"Os iPaaS como o n8n ou o Make fazem dados circularem entre APIs, enquanto a Socle AI orquestra agentes autônomos com memória de longo prazo, RAG hÃbrido e raciocÃnio.",summary:"Não é uma escolha excludente: um iPaaS é excelente em automação de fluxos, a Socle AI em IA agêntica. Os dois se conectam um ao outro."},synergy:"Como a Socle AI respeita o protocolo da OpenAI, você pode usá-la diretamente a partir do n8n, e até chamar um workflow ou uma equipe de agentes como se fosse um modelo. Não escolha: use a força do iPaaS COM o poder da IA.",comparisonTable:[{dimension:"Concebido para",competitor:"Fazer dados circularem entre APIs",socle:"Orquestrar agentes de IA"},{dimension:"Memória de longo prazo",competitor:"Não nativa",socle:"Nativa"},{dimension:"RAG hÃbrido com reranking",competitor:"Não",socle:"Nativo"},{dimension:"RaciocÃnio agêntico",competitor:"Não (ReAct, PlanAct)",socle:"Nativo"},{dimension:"Multiagente (A2A)",competitor:"Não",socle:"Nativo, com sÃntese final"},{dimension:"Multimodalidade",competitor:"Via APIs de terceiros",socle:"Ãudio, imagem e TTS integrados"}],weaknessesTitle:"Os limites dos iPaaS",weaknesses:[{title:"Não foram concebidos para IA complexa",body:"Eles tratam a IA como uma simples API externa, sem gestão nativa da memória de longo prazo, do RAG hÃbrido com reranking, nem do raciocÃnio agêntico (ReAct, PlanAct)."},{title:"Sem orquestração multiagente nativa",body:"São incapazes de fazer vários agentes especializados colaborarem dinamicamente entre si, com sÃntese final."}],strengths:[{title:"Plataforma nativamente agêntica",body:"Motor de orquestração multiagente (A2A), servidores MCP nativos, bancos vetoriais para RAG e workflows visuais pensados para IA em primeiro lugar."},{title:"Complementaridade com o seu iPaaS",body:'Os workflows da Socle AI são chamados de forma bem simples como um "node" a partir do n8n ou do Make.'},{title:"Multimodalidade nativa",body:"Ãudio (transcrição e diarização), imagem e sÃntese de voz dentro da mesma plataforma."}],killerQuestions:["Uma ferramenta como o n8n faz dados circularem entre APIs. Mas como pretendem gerir a memória das conversas, o RAG documental e o raciocÃnio autônomo dos seus agentes?"],objections:[{objection:"J
83á fazemos workflows de IA no n8n.",response:"O n8n é genial para automações simples. Assim que é preciso orquestrar ecossistemas de agentes, analisar documentos volumosos (RAG) ou conduzir a governança dos modelos, o n8n mostra os seus limites. Aliás, você pode usar a Socle AI dentro dos seus workflows n8n existentes."}]},{slug:"hermes",image:"/images/battle-cards/hermes.svg",opponent:"Hermes",tone:"parallel",competitorLabel:"A OUTRA ABORDAGEM",updated:"2026-09-08",metaDescription:"Socle AI vs Hermes (Nous Research): um agente pessoal auto-hospedado que aprende com você, contra uma plataforma agêntica corporativa soberana. Mesma revolução, escala diferente.",positioning:{competitorRole:"Agente de IA pessoal autônomo",socleRole:"Plataforma agêntica corporativa soberana",lead:"O Hermes, desenvolvido pela Nous Research, é um agente pessoal auto-hospedado que acumula memória e cria as próprias competências ao longo do tempo. O Socle AI é a plataforma sobre a qual uma organização constrói, orquestra e governa os seus agentes.",summary:"Mesma revolução, escala diferente. O Hermes é construÃdo em torno do agente, o Socle AI em torno da organização: agentes especializados, ecossistemas, fluxos, papéis, isolamento e rastreabilidade."},synergy:"As duas ferramentas não se excluem. O Hermes pode chamar qualquer endpoint compatÃvel com OpenAI: um agente ou ec
83ossistema do Socle AI se conecta ali como se fosse um modelo, dando ao agente pessoal acesso ao RAG documental e à s ferramentas de negócio governadas da organização.",duel:{label:"DUAS FILOSOFIAS",title:"Um agente que cresce com você, uma plataforma que cresce com a sua organização",competitor:{caption:"AGENTE PESSOAL",head:"Seu agente",chain:["Memória","Competências","Ferramentas"],outcome:"Seu assistente"},socle:{caption:"PLATAFORMA AGÃNTICA CORPORATIVA",head:"Seus agentes",chain:["Ecossistema","Fluxo","Governança"],outcome:"Sua infraestrutura de negócio"},note:"O Hermes é construÃdo em torno do agente. O Socle AI é construÃdo em torno da organização."},comparisonTable:[{dimension:"Público",competitor:"IndivÃduos, desenvolvedores, power users",socle:"Empresas, times de Produto e Tech"},{dimension:"Unidade de base",competitor:"Um agente persistente",socle:"Agentes especializados"},{dimension:"Memória de longo prazo",competitor:"Ponto forte, memória auto-curada",socle:"Memória por agente e por organização"},{dimension:"Competências",competitor:"Autoaprendizado, padrão agentskills.io",socle:"Agentes, ferramentas e fluxos configurados"},{dimension:"Multi-agentes",competitor:"Bots especializados e subagentes",socle:"Orquestração nativa (A2A)"},{dimension:"Fluxos visuais",competitor:"Não documentado",socle:"Construtor arrastar e soltar"},{dimension:"Modelos",competitor:"Multi-provedores, endpoints livres",socle:"Multi-modelos, API compatÃvel com OpenAI"},{dimension:"Multimodalidade",competitor:"Voltada a agente e ferramentas",socle:"Texto, visão, ASR, TTS, imagem"},{dimension:"Organizações e papéis",competitor:"Não documentado",socle:"Papéis, isolamento, chaves de API dedicadas"},{dimension:"Rastreabilidade",competitor:"Logs e histórico",socle:"Auditoria da execução, passo a passo"},{dimension:"Implantação",competitor:"Auto-hospedado (local, Docker, SSHâ¦)",socle:"SaaS na França ou on-premise"}],weaknessesTitle:"O escopo do Hermes, e onde ele termina",weaknesses:[{title:"Um agente, não uma organização",body:"O Hermes foi desenhado em torno de um agente persistente que conhece você. O modo Bots e os subagentes permitem que vários especialistas trabalhem juntos, mas a unidade de referência continua sendo o usuário, não a empresa."},{title:"Sem governança multi-organização",body:"A documentação não descreve papéis de admin, membro e convidado, nem isolamento estrito entre organizações, nem acompanhamento de consumo por time: pré-requisitos assim que a TI precisa abrir a ferramenta a várias áreas."},{title:"Sem construtor visual de fluxos",body:"O encadeamento das ações é decidido pelo agente, o que é poderoso no uso pessoal. Um time de negócio que precisa repetir um processo de forma idêntica, com condições, ramificações e validação humana, vai procurar um fluxo explÃcito."},{title:"Hospedagem e operação por sua conta",body:"A auto-hospedagem é uma vantagem real de controle, mas instalação, atualizações, backup e disponibilidade ficam com quem implanta. Não há uma oferta SaaS soberana operada."}],strengthsTitle:"O que o Socle AI traz para uma organização",strengths:[{title:"Construir: agentes especializados em vez de um agente único",body:"Cada agente tem o seu modelo, as suas instruções, a sua memória, a sua base documental e as suas ferramentas. Um agente jurÃdico, um agente de suporte e um agente de análise não compartilham nem o mesmo contexto nem os mesmos acessos."},{title:"Orquestrar: ecossistemas de agentes",body:"Um ecossistema seleciona os agentes necessários ao pedido, executa as etapas e sintetiza o resultado, via protocolo A2A. A orquestração é declarada, não deixada à iniciativa de um agente único."},{title:"Automatizar: um construtor visual de fluxos",body:"Agentes, condições, chamadas de API, ferramentas, notificações, ramificações e subfluxos em arrastar e soltar, acionados manualmente, por webhook ou por agendamento, com validação humana onde for necessária."},{title:"Escalar: governança e soberania",body:"Multi-organização, papéis e isolamento, acompanhamento de consumo, chaves de API dedicadas, registro de auditoria e expurgo de dados. Em SaaS hospedado na França na Scaleway ou on-premise nos seus servidores."},{title:"Integrar: compatibilidade OpenAI e ferramentas de negócio",body:"A API compatÃvel com OpenAI permite chamar um agente ou um ecossistema como se fosse um modelo, a partir das suas aplicações existentes, dos seus servidores MCP e dos seus conectores de negócio."}],killerQuestions:["Um agente pessoal aprende com o seu usuário. O que acontece quando essa pessoa sai da empresa, e a quem pertence a memória acumulada?","Como você vai abrir esse uso a vários times, com papéis, isolamento de dados e acompanhamento de consumo por organização?","Os seus processos crÃticos podem depender de um encadeamento decidido pelo agente, ou você precisa de um fluxo explÃcito, repetÃvel e auditável passo a passo?"],objections:[{objection:"O Hermes é open source e auto-hospedado, isso já é soberano.",response:"A auto-hospedagem dá de fato o controle da execução, e isso é um ponto forte real. A soberania corporativa exige, além disso, uma o
83peração assegurada, isolamento entre organizações, rastreabilidade das decisões e uma garantia contratual sobre a hospedagem. O Socle AI oferece SaaS na França na Scaleway ou on-premise, com a governança correspondente."},{objection:"A memória persistente e as competências autoaprendidas do Hermes são mais avançadas que configurar agentes.",response:"à verdade, e é o coração da proposta dele: um agente que melhora sozinho observando você. Na empresa, essa mesma autonomia vira uma questão de conformidade: é preciso poder dizer quem tem acesso a quê, repetir uma decisão e justificá-la. Por isso o Socle AI privilegia agentes explicitamente configurados e fluxos rastreados."},{objection:"Nossos desenvolvedores preferem um agente que controlam totalmente em local.",response:"Os dois convivem muito bem. O Socle AI expõe uma API compatÃvel com OpenAI: o Hermes pode apontar para um agente ou ecossistema Socle como para qualquer outro endpoint, e assim obter o RAG documental e as ferramentas de negócio da organização, sem que os seus desenvolvedores abandonem o agente pessoal."}]}],lS=[{slug:"langchain",image:"/images/battle-cards/langchain.svg",opponent:"LangChain",updated:"2026-08-05",metaDescription:"Socle AI vs. LangChain: schlüsselfertige, souveräne Unternehmensplattform gegen selbst zu programmierendes Entwicklungs-Framework. Stärken, Einwände, Schlüsselfragen.",positioning:{competitorRole:"Code-Bibliothek (Framework)",socleRole:"Schlüsselfertige Unternehmensplattform",lead:"Socle AI ist eine schlüsselfertige, souveräne und sofort einsatzbereite Unternehmensplattform (Oberfläche, Governance, visuelle Workflows, API), während LangChain eine Code-Bibliothek ist, die man vollständig selbst programmieren, integrieren und pflegen muss.",summary:"Wo LangChain ein LEGO-Baukasten für Python-/JS-Entwickler ist, ist Socle AI die vollständige Unternehmensplattform, mit der Sie Ihre Projekte in den Produktivbetrieb bringen."},comparisonTable:[{dimension:"Art des Produkts",competitor:"Zu integrierende Bibliothek",socle:"Vollständige Plattform"},{dimension:"Fachliche Oberfläche",competitor:"Selbst zu entwickeln",socle:"Enthalten (Chat, RAG, Dashboards)"},{dimension:"Visuelle Workflows",competitor:"Nein",socle:"Nativ per Drag-and-drop"},{dimension:"Governance und Audit",competitor:"LangSmith (US-Cloud)",socle:"Integriert und souverän"},{dimension:"Multimodalität",competitor:"Bibliotheken zusammenzusetzen",socle:"Nativ (ASR, TTS, Vision)"},{dimension:"Hosting",competitor:"In Ihrer Verantwortung",socle:"SaaS Frankreich oder on-premise"},{dimension:"Time-to-Market",competitor:"6 bis 12 Monate Entwicklung",socle:"Sofort"}],weaknesses:[{title:"Hohe Entwicklungskosten und technische Schulden",body:"LangChain ist eine Code-Bibliothek, keine Software. Für eine nutzbare Anwendung müssen die Teams die Oberfläche, die Nutzer- und Rollenverwaltung, das RAG, die Authentifizierung und die Infrastruktur selbst programmieren."},{title:"Instabilität und häufige Breaking Changes",body:"Das LangChain-Ãkosystem entwickelt sich sehr schnell, mit häufigen Aktualisierungen, die bestehenden Code brechen und den Teams eine erhebliche Wartungslast aufbürden."},{title:"Keine fachliche Oberfläche, kein natives No-Code",body:"Produkt-, Fach- und Ops-Teams können LangChain nicht direkt nutzen. Alles läuft über Python- oder TypeScript-Code."},{title:"Aufwendige Souveränität und Governance",body:"Für Nachverfolgung, Monitoring und Nachtraining (über LangSmith) laufen die Daten häufig über ein US-amerikanisches SaaS. Eine eigene On-Premise-Alternative für Audit und Metriken zu programmieren kostet Monate."}],strengths:[{title:"Schlüsselfertige Plattform statt selbst zu programmierendem Framework",body:"Socle AI liefert direkt eine vollständige Oberfläche (Chat, Verwaltung von RAG-Dokumentenbeständen, Governance-Dashboards) und einen visuellen Workflow-Baukasten per Drag-and-drop."},{title:"Sofortiges Time-to-Market, OpenAI-kompatibel",body:"Monate an Entwicklung gespart. Die 100-prozentige Kompatibilität mit der OpenAI-API (base_url) erlaubt Entwicklern, ihre gewohnten Werkzeuge zu behalten und zugleich eine souveräne Plattform zu nutzen."},{title:"Souveränität, Sicherheit und natives On-Premise",body:"Verfügbar als souveränes SaaS in Frankreich (Scaleway) oder on-premise auf Ihren eigenen Servern in Docker-Architektur. Die Daten bleiben vollständig unter Ihrer Kontrolle."},{title:"Integrierte Multimodalität und Orchestrierung",body:"Wo LangChain das Zusammensetzen Dutzender Bibliotheken verlangt, integriert Socle AI nativ die Audiotranskription mit Sprechertrennung, die Sprachsynthese, Vision, hybrides RAG mit Reranking und MCP-Server."},{title:"Governance und fachliche Metriken",body:"Nutzungsmetriken, Kostenverfolgung je Organisation und Mitglied, vollständiges Audit-Log der Agentenaktionen und Feedback-Schleifen der Nutzer â ab dem ersten Tag."}],killerQuestions:["Haben Sie Budget und Personenzeit (Entwicklung, QA, Ops) beziffert, die nötig sind, um Oberfläche, Governance und RAG rund um LangChain zu programmieren und zu pflegen?","Wie wollen Sie technische Schulden und die Instabilität der LangChain-Aktual
83isierungen in einer kritischen Produktivumgebung beherrschen?","Werden Ihre Fachteams eigenständig Agenten-Workflows erstellen können, ohne jedes Mal die IT einzuschalten?"],objections:[{objection:"LangChain ist kostenlos und Open Source â warum sollten wir für Socle AI bezahlen?",response:"Der Code der Bibliothek ist kostenlos, doch die Gesamtbetriebskosten sind hoch: Oberfläche, RAG, mandantenfähige Sicherheit, Multimodalität und Governance zu programmieren kostet ein Entwicklerteam 6 bis 12 Monate. Socle AI liefert sofort eine betriebsbereite Plattform, gehostet in Frankreich oder on-premise, zu geringeren Gesamtkosten."},{objection:"Unsere Entwickler kennen LangChain bereits und möchten die Kontrolle über den Code behalten.",response:"Socle AI schränkt Entwickler in keiner Weise ein: Dank der OpenAI-kompatiblen REST-API können sie weiter programmieren oder sogar LangChain nutzen und dabei auf unsere souveräne Basis zeigen (base_url). Es erspart ihnen lediglich, Infrastruktur, Audio, RAG und Oberflächen neu zu erfinden."},{objection:"LangChain bietet doch LangSmith für Governance und Nachverfolgung.",response:"LangSmith ist ein US-amerikanischer Cloud-Dienst und unterliegt extraterritorialen Gesetzen. Socle AI integriert die Nachvollziehbarkeit der Agenten, Nutzungsmetriken, Auditierbarkeit und Feedback-Schleifen nativ â auf unserer französischen Infrastruktur bei Scaleway oder on-premise auf Ihren Servern."}]},{slug:"mistral",image:"/images/battle-cards/mistral.svg",opponent:"Mistral AI",updated:"2026-08-05",metaDescription:"Socle AI vs. Mistral AI: souveräne Orchestrierungs- und Governance-Plattform gegen Modellanbieter (LLM). Stack, Stärken, Einwände, Schlüsselfragen.",positioning:{competitorRole:"Modellanbieter (LLM)",socleRole:"Souveräne Orchestrierungsplattform",lead:"Socle AI ist eine souveräne Plattform für Orchestrierung, Automatisierung und KI-Governance (SaaS bei Scaleway oder on-premise via Docker), während Mistral AI ein Anbieter von Modellen (LLM) ist.",summary:"Mistral liefert den Motor, Socle AI liefert das gesamte Fahrzeug für den Fachbereich â und kann die Modelle von Mistral sogar selbst betreiben."},comparisonTable:[{dimension:"Art des Produkts",competitor:"Modelle über API",socle:"Orchestrierungsplattform"},{dimension:"Modellauswahl",competitor:"Mistral-Modelle",socle:"+12 Modelle, darunter Mistral"},{dimension:"Multi-Agenten-Orchestrierung",competitor:"Selbst zu entwickeln",socle:"Nativ (A2A-Protokoll)"},{dimension:"Visuelle Workflows",competitor:"Nein",socle:"Nativ per Drag-and-drop"},{dimension:"Governance und Audit",competitor:"Nicht enthalten",socle:"Integriert"},{dimension:"Multimodalität",competitor:"Text und Vision",socle:"Text, Vision, ASR, TTS, Bilder"},{dimension:"Hosting",competitor:"Cloud-API",socle:"SaaS Frankreich oder on-premise via Docker"}],stackComparison:{competitor:{label:"Mit Mistral AI",items:["Mistral API","LangChain","Vector DB","Backend","Frontend","Auth","Monitoring"],result:"Hohe Komplexität"},socle:{label:"Mit Socle AI",items:["Agenten","RAG","Oberfläche","Orchestrierung"],result:"Alles integriert"}},weaknesses:[{title:"Anbieter von Bausteinen, nicht von einer Fachplattform",body:"Mistral verkauft den Zugang zu seinen Modellen über eine API. Für eine Unternehmenslösung (hybrides RAG, Multi-Agenten-Orchestrierung, visuelle Workflows, Anbindung an die IT-Landschaft) müssen Entwickler monatelang die Infrastruktur drumherum bauen â oder man schlieÃt einen Rahmenvertrag mit Mistral."},{title:"Keine nativen Werkzeuge für Governance und Auditierbarkeit",body:"Mistral liefert keine schlüsselfertigen Oberflächen, um Erfolgsquoten je Aufgabe zu steuern, Feedback-Schleifen der Nutzer zu sammeln oder die Entscheidungen der Agenten Schritt für Schritt nachzuvollziehen."},{title:"Begrenztes multimodales Ãkosystem",body:"Mistral konzentriert sich auf Sprachmodelle und Vision. Es gibt keine integrierte Suite für fortgeschrittene Audiotranskription mit Sprechertrennung, für Sprachsynthese oder für Bildbearbeitung und -erzeugung in derselben Umgebung."},{title:"Risiko der Abhängigkeit von proprietären APIs",body:"Sich direkt an die Mistral-APIs zu binden, legt den technischen Stack fest. Wird ein anderes Modell (Qwen, Llama â¦) für einen Anwendungsfall leistungsfähiger oder günstiger, erfordert der Wechsel erneute Entwicklung."}],strengths:[{title:"Schlüsselfertige und modellagnostische Plattform, +12 Modelle",body:"Socle AI orchestriert über 12 Modelle (darunter die von Mistral, Llama, Qwen), laufend aktualisiert. 100 % Kompatibilität mit der OpenAI-API (base_url): Modell oder Anbieter wechseln, ohne eine Zeile Code zu ändern."},{title:"Agentische Orchestrierung und visuelle Workflows",body:"Native Multi-Agenten-Engine (A2A-Protokoll), visueller Baukasten per Drag-and-drop und MCP-Server, um die KI mit wenigen Klicks an Fachwerkzeuge anzubinden (Slack, HubSpot, Notion, SQL-Datenbanken)."},{title:"Absolute Souveränität und Sicherheit",body:"Betrieb wahlweise als souveränes SaaS in Frankreich (Scaleway) oder on-premise (Docker) in der Infrastruktur des Kunden. Vollständige Immunität gegenüber extraterritorialen Gesetzen, keine Daten werden geteilt oder zum Training verwendet."},{title:"Governance, Metriken und Compliance",body:"Integrierte Dashboards, um den Verbrauch zu verfolgen, den Erfolg der Interaktionen je Aufgabe zu messen, Feedback der Endnutzer zu erfassen und ein vollständiges Audit-Log der Agentenaktionen zu führen."},{title:"Begleitung und Fachexpertise (7 bis 8 Jahre)",body:"Eine in kritischen Projekten erprobte Methodik (Banken, Verteidigung, Versicherung): Machbarkeitsstudie, Einführung und Integration inklusive â nicht nur eine Software."}],killerQuestions:["Mistral liefert Ihnen die Modell-API â aber wer entwickelt und pflegt die Multi-Agenten-Orchestrierung, das hybride RAG und die Governance-Oberfläche für Ihre Teams?","Wie wollen Sie die tatsächliche Akzeptanz bei Ihren Nutzern messen und die Erfolgsquote der von der KI ausgeführten Aufgaben im Alltag verfolgen?","Wenn morgen ein Open-Source-Modell Mistral in Ihrem konkreten Anwendungsfall übertrifft: Wie schnell können Sie wechseln, ohne Ihre Entwicklungen neu zu schreiben?"],objections:[{objection:"Mistral ist der souveräne KI-Champion Frankreichs â warum nicht direkt dorthin gehen?",response:"Mistral entwickelt hervorragende Modelle â genau deshalb unterstützt Socle AI sie nativ. Doch ein Modell allein ist wie ein Motor ohne Auto: Socle AI liefert Karosserie, Armaturenbrett und die fachlichen Konnektoren. Ãber Socle AI nutzen Sie das Mistral-Modell, wenn Sie möchten â zusätzlich mit einer vollständigen Plattform für Governance und Orchestrierung."},{objection:"Mistral bietet doch bereits eine einfache API und Le Chat Pro.",response:"Le Chat ist ein Werkzeug für Einzelgespräche, keine Automatisierungs-Engine für Unternehmen, und die Mistral-API verlangt, alles selbst zu programmieren. Mit Socle AI verbinden Sie autonome Agenten mit Ihren Werkzeugen (Slack, CRM, Datenbanken), erstellen visuelle Workflows, orchestrieren Multimodalität (Sprache, Bild) und installieren bei Bedarf alles on-premise. Es hängt davon ab, ob Sie einen einfachen Chat für Ihre Mitarbeitenden wollen oder KI in Ihre Prozesse und Produkte integrieren möchten."},{objection:"Mistral ist DSGVO-konform und europäisch.",response:"Das stimmt, doch Socle AI geht weiter: Hosting zu 100 % in Frankreich bei Scaleway oder auf Ihren eigenen Servern via Docker, vollständige Abschottung gegenüber extraterritorialen Gesetzen, abgesichertes hybrides RAG und striktes Verbot des Nachtrainings mit Ihren Daten."}]},{slug:"scaleway",image:"/images/battle-cards/scaleway.svg",opponent:"Scaleway",tone:"complementary",competitorLabel:"DER PARTNER",updated:"2026-08-05",metaDescription:"Socle AI und Scaleway: souveräne KI-Softwareplattform und französische Cloud-Infrastruktur, zwei sich ergänzende Schichten. Wer macht was â und warum man beides kombiniert.",positioning:{competitorRole:"Cloud-Infrastruktur (IaaS/PaaS)",socleRole:"Sofort einsatzbereite KI-Softwareplattform",lead:"Socle AI ist eine sofort einsatzbereite, souveräne KI-A
83nwendungsplattform (Oberfläche, Agenten, RAG, visuelle Workflows, Governance), während Scaleway ein Anbieter von Cloud-Infrastruktur ist: Server, GPUs, Instanzen und reine Modell-Inferenz.",summary:"Scaleway liefert Netz und Rechenleistung; Socle AI liefert die fachliche Anwendungssuite, die Ihre Teams sofort nutzen können. Wenn Sie eine französische, verantwortungsvolle und einfach einzuführende KI wollen, arbeiten Sie mit Scaleway UND Socle AI."},synergy:"Das SaaS von Socle AI läuft direkt auf der französischen Infrastruktur von Scaleway. Es ist also keine Entweder-oder-Entscheidung: Es ist dieselbe Souveränität, nur mit der Anwendungsschicht obendrauf.",comparisonTable:[{dimension:"Abgedeckte Schicht",competitor:"Infrastruktur (Server, GPUs)",socle:"Fachliche Anwendung"},{dimension:"Nutzeroberfläche",competitor:"Cloud-Konsole",socle:"Chat, Agenten, Dashboards"},{dimension:"RAG",competitor:"Selbst zu entwickeln",socle:"Hybrid mit Reranking, nativ"},{dimension:"Multi-Agenten-Orchestrierung",competitor:"Selbst zu entwickeln",socle:"Nativ (A2A-Protokoll)"},{dimension:"Visuelle Workflows",competitor:"Nein",socle:"Nativ per Drag-and-drop"},{dimension:"Multimodalität",competitor:"Modell-Inferenz",socle:"ASR, TTS, Vision integriert"},{dimension:"Was gemessen wird",competitor:"Infrastrukturverbrauch",socle:"Fachlicher Erfolg, Audit, Feedback"}],weaknessesTitle:"Scaleway ist ein Cloud-Anbieter, kein Anbieter von KI-Anwendungen",weaknesses:[{title:"Cloud-Anbieter, kein Hersteller von KI-Anwendungssoftware",body:"Scaleway bietet GPU-Server und Inferenz-Endpunkte (Managed Inference auf Open-Source-Modellen), aber keine schlüsselfertige fachliche Oberfläche für Endnutzer oder Produktteams."},{title:"Keine nativen Anwendungsbausteine",body:"Kein visueller Workflow-Baukasten, keine Multi-Agenten-Orchestrierung, kein Manager für hybrides RAG mit Reranking und keine integrierte multimodale Suite (Transkription mit Sprechertrennung, Sprachsynthese, Vision)."},{title:"Einzuplanende Entwicklungskosten und -zeiten",body:"Direkt über die Inferenz-API zu gehen bedeutet, die Anwendung, die Vektordatenbanken, die Speicherverwaltung, die Zugriffsrechte und die Oberfläche selbst zu programmieren."},{title:"Governance auf Infrastrukturebene",body:"Scaleway misst die Nutzung von Instanzen, Speicher und verbrauchten Token. Der fachliche Erfolg der Aufgaben, die Auditierbarkeit der Agentenentscheidungen und die Feedback-Schleifen gehören zur Anwendungsschicht."}],strengthsTitle:"Darum ergänzen wir uns",strengths:[{title:"Cloud-Souveränität + Anwendungsstärke",body:"Socle AI setzt für sein SaaS-Angebot nativ auf Scaleway in Frankreich (zertifiziert nach ISO/IEC 27001, HDS, DSGVO-konform) oder wird on-premise (Docker) in der privaten Infrastruktur des Kunden installiert. Sie verbinden die Souveränität von Scaleway mit der Anwendungsschicht von Socle AI."},{title:"Schlüsselfertige Plattform statt roher API",body:"Vollständige Chat-Oberfläche, Module zur Erstellung von Agenten, visueller Workflow-Baukasten, fachliche Konnektoren (Slack, HubSpot, Notion, Datenbanken) und Dokumentenverwaltung mit hybridem RAG â ab dem ersten Tag."},{title:"Native Multimodalität und Multi-Agenten-Orchestrierung",body:"Sprachverarbeitung (Whisper / Gladia mit Sprechertrennung), Bilderzeugung, Sprachsynthese und dynamische Orchestrierung spezialisierter Agenten über das A2A-Protokoll."},{title:"Governance und fachliche Compliance",body:"Verbrauchs-Dashboards je Organisation, Nachvollziehbarkeit der Interaktionen, Audit-Logs und Feedback-Schleifen der Nutzer."},{title:"Begleitung und Expertise (7 bis 8 Jahre)",body:"Eine ganzheitliche Methodik, um Ihre komplexen fachlichen Anwendungsfälle zu strukturieren und auszurollen â über die reine Softwarelieferung hinaus."}],killerQuestions:["Scaleway gibt Ihnen Zugang zu GPU-Instanzen und roher Inferenz â aber welches Team programmiert die Oberfläche, die hybride RAG-Engine und die Konnektoren zu Ihren Fachwerkzeugen?","Wie wollen Sie mit einem Infrastruktur-Dashboard die Erfolgsquote von KI-Aufgaben und die Akzeptanz bei Ihren Fachanwendern messen?","Wussten Sie, dass das SaaS von Socle AI in Frankreich bei Scaleway gehostet wird? Sie behalten die
83selben Souveränitätsgarantien, ohne die Anwendungsschicht neu erfinden zu müssen."],objections:[{objection:"Scaleway bietet doch bereits verwaltete Inferenz-APIs für KI-Modelle an.",response:"Eine Inferenz-API liefert einem Entwickler rohen Text. Damit daraus ein für Ihre Fachbereiche nützlicher Dienst wird, müssen RAG, Multi-Agenten-Orchestrierung, Workflows und Oberfläche gebaut werden. Socle AI liefert genau diese Anwendungsschicht einsatzbereit â und kann sich mit den bei Scaleway gehosteten Modellen verbinden."},{objection:"Wir wollen mit einer französischen Cloud wie Scaleway zu 100 % souverän bleiben.",response:"Diese Sicht teilen wir vollständig: Das SaaS von Socle AI wird direkt bei Scaleway in Frankreich gehostet, ohne Exposition gegenüber extraterritorialen Gesetzen und ohne dass Daten geteilt oder zum Modelltraining genutzt werden. Sie erhalten die Souveränitätsgarantie von Scaleway, gekoppelt mit der Software-Agilität von Socle AI."},{objection:"Direkt mit Scaleway zu arbeiten kostet uns weniger Lizenzgebühren.",response:"Reine Infrastruktur ist anfangs günstiger, doch die Gesamtbetriebskosten steigen rasch, wenn 6 bis 12 Monate Entwicklerarbeit für Aufbau und Pflege der Anwendung darüber bezahlt werden müssen. Socle AI verkürzt die Markteinführungszeit erheblich."}]},{slug:"iguane-solutions",draft:!0,image:"/images/battle-cards/iguane-solutions.svg",opponent:"Iguane Solutions",tone:"complementary",competitorLabel:"DER MANAGED-SERVICE-ANBIETER",updated:"2026-08-05",metaDescription:"Socle AI und Iguane Solutions: schlüsselfertige KI-Softwareplattform und Hoster/Managed-Service-Anbieter für maÃgeschneiderte Infrastruktur. Wer macht was â und warum man beides verbindet.",positioning:{competitorRole:"Hoster und Managed-Service-Anbieter für Infrastruktur",socleRole:"Hersteller einer KI-Softwareplattform",lead:"Socle AI ist eine schlüsselfertige Anwendungsplattform für Orchestrierung, Automatisierung und Governance von KI, während Iguane Solutions maÃgeschneiderte Cloud- und IT-Infrastrukturen hostet und betreibt.",summary:"Iguane liefert Server, Hardware und Leitungen; Socle AI liefert die Intelligenzplattform, die Oberfläche und die einsatzbereiten fachlichen Workflows â die auf der Infrastruktur von Iguane laufen können."},synergy:"Ideal, wenn Sie echte Expertise beim Aufbau einer Infrastruktur für KI mit einer erprobten Lösung verbinden möchten, damit Ihre Teams sie unter industriellen Bedingungen nutzen können: Nehmen Sie Socle AI und Iguane Solutions.",comparisonTable:[{dimension:"Kerngeschäft",competitor:"MaÃgeschneidertes Hosting und Betrieb",socle:"Entwicklung von KI-Software"},{dimension:"Betrieb der Infrastruktur",competitor:"Hauptkompetenz",socle:"An den Hoster delegiert"},{dimension:"KI-Anwendungsschicht",competitor:"Vorhanden, aber nicht Spezialgebiet",socle:"Spezialgebiet"},{dimension:"Was gemessen wird",competitor:"Uptime, CPU, Speicher, Netz",socle:"Aufgabenerfolg, Qualität, Feedback"},{dimension:"Verfügbare Modelle",competitor:"Die auf der Infrastruktur betriebenen",socle:"+12 über OpenAI-kompatible API"},{dimension:"Bereitstellung",competitor:"Verwaltete Infrastruktur",socle:"Installiert sich auf dieser Infrastruktur"}],weaknessesTitle:"Iguane, ein Experte für KI-Infrastruktur",weaknesses:[{title:"In erster Linie Managed-Service-Anbieter für Infrastruktur",body:"Iguane glänzt im Betrieb von Servern, Kubernetes-Clustern oder Private Clouds. Eine Anwendungsschicht, die Agenten erstellt, RAG betreibt oder LLMs orchestriert, existiert zwar, liegt aber nicht im Kern ihres Geschäfts."},{title:"Governance auf Infrastruktur- statt Fachebene",body:"Iguane überwacht CPU, Speicher, Netz und Uptime. Die Erfolgsquote von KI-Aufgaben zu messen, die Antwortqualität zu verfolgen oder Feedback-Schleifen zu steuern, gehört zu einer anderen Schicht."}],strengthsTitle:"Warum Socle AI und Iguane gut zusammenpassen",strengths:[{title:"Sofort einsatzbereite Anwendungsplattform",body:"Nutzeroberfläche, Verwaltung der Vector Stores für hybrides RAG, Multi-Agenten-Orchestrierung und No-Code-/Low-Code-Workflow-Baukasten, sofort verfügbar. Sprachtranskription, Sprachsynthese, Bilderzeugung und LLMs sind bereits abgedeckt."},{title:"Integrierte fachliche KI-Expertise (7 bis 8 Jahre)",body:"Ãber die Software hinaus eine erprobte Methodik, um komplexe Anforderungen (Banken, Versicherung, Verteidigung) in konkrete Anwendungsfälle zu übersetzen â inklusive Begleitung und Integration."},{title:"Flexible Bereitstellung",body:"Socle AI wird als souveränes SaaS oder direkt on-premise (Docker-Architektur) in der privaten Infrastruktur Ihrer Wahl installiert â auch auf von Iguane Solutions betriebenen Servern."},{title:"Governance und fachliche Metriken",body:"Verbrauchs-Dashboards, Nutzung je Mitglied, vollständige Auditierbarkeit und Messung des Aufgabenerfolgs über Feedback-Schleifen."}
83,{title:"Standardisierung über die OpenAI-API",body:"100 % Kompatibilität mit der OpenAI-API (base_url): Ihre Entwickler wechseln ohne Umschreiben zwischen Modellen â auch zu solchen, die nicht auf der Infrastruktur betrieben werden, was in der Experimentierphase oder bei Sonderfällen hilfreich ist."}],killerQuestions:["Iguane betreibt Ihre Server und GPUs â aber wer versetzt Ihre Entwickler in die Lage, die Nutzung ihrer Agenten zu überwachen und Ihre Werkzeuge anzubinden?","Wie wollen Sie die Wirksamkeit Ihrer KI-Workflows messen und das Feedback Ihrer Nutzer erfassen, wenn Sie allein einen Infrastrukturdienstleister haben?","Wussten Sie, dass sich die Plattform Socle AI via Docker on-premise direkt auf Ihrer betreuten Infrastruktur ausrollen lässt â und so das Beste aus KI-Software und Infrastruktursouveränität verbindet?"],objections:[{objection:"Iguane Solutions garantiert uns Hosting und Betrieb zu 100 % maÃgeschneidert in Frankreich.",response:"Das ist für die Infrastruktur ausgezeichnet. Doch Infrastruktur allein löst Ihre fachlichen Anwendungsfälle nicht: Socle AI ist eine Softwareplattform, die sich on-premise (Docker) auf jeder Cloud oder jedem privaten Server installieren lässt. Sie behalten Ihr sicheres Hosting und verfügen zugleich ab dem ersten Tag über eine einsatzbereite KI-Anwendungsplattform."},{objection:"Iguane kann uns Open-Source-Modelle auf dedizierten GPU-Servern bereitstellen.",response:"Ein Modell auf einem Server bereitzustellen ergibt eine rohe API, keinen fachlichen Dienst. Socle AI bringt die unverzichtbare Softwareschicht darüber: Chat-Oberfläche, Kontextgedächtnis, hybrides RAG (PDF, Word, Audio), Sprachtranskription und Konnektoren zu Ihren Werkzeugen (Slack, CRM, Datenbanken). Ohne sie muss alles programmiert werden."},{objection:"Wir haben bereits einen Rahmenvertrag mit Iguane für unsere gesamte IT-Infrastruktur.",response:"Socle AI ist kein Wettbewerber von Iguane, wir ergänzen uns: Wir sind Hersteller von KI-Software. Sie können Ihren Infrastrukturvertrag problemlos behalten und darauf den Anwendungsbaustein Socle AI ausrollen, um den KI-Bedarf Ihrer Teams sofort zu decken."}]},{slug:"outscale",image:"/images/battle-cards/outscale.svg",opponent:"OUTSCALE",tone:"complementary",competitorLabel:"DIE QUALIFIZIERTE INFRASTRUKTUR",updated:"2026-08-05",metaDescription:"Socle AI und OUTSCALE (3DS OUTSCALE): souveräne Cloud mit SecNumCloud-3.2-Qualifizierung und KI-Anwendungsplattform. Wer macht was â und warum man beides gemeinsam betreibt.",positioning:{competitorRole:"Cloud IaaS/PaaS mit SecNumCloud-3.2-Qualifizierung",socleRole:"KI-Anwendungsplattform (Software)",lead:"OUTSCALE liefert die am höchsten zertifizierte souveräne Cloud-Infrastruktur (IaaS/PaaS, SecNumCloud 3.2), während Socle AI die KI-Anwendungsplattform liefert: Oberfläche, Agenten, hybrides RAG, visuelle Workflows und Governance.",summary:"OUTSCALE liefert das materielle Fundament und Sicherheit auf Staatsniveau, die GPUs und die qualifizierte Cloud; Socle AI liefert die schlüsselfertige fachliche Softwaresuite."},synergy:"Socle AI wird über Docker oder Kubernetes (OKS) direkt in Ihrem OUTSCALE-Tenant bereitgestellt: Sie behalten die SecNumCloud-3.2-Qualifizierung und gewinnen die Anwendungsschicht darüber.",comparisonTable:[{dimension:"Abgedeckte Schicht",competitor:"Infrastruktur (GPU, VM, Kubernetes)",socle:"Fachliche Anwendung"},{dimension:"Qualifizierung",competitor:"SecNumCloud 3.2 (ANSSI)",socle:"Installiert sich in diesem Rahmen"},{dimension:"Fachliche Oberfläche",competitor:"Cloud-Konsole",socle:"Chat, Agenten, Dashboards"},{dimension:"Hybrides RAG",competitor:"Selbst zu entwickeln",socle:"Nativ, mehrquellig mit Reranking"},{dimension:"Multi-Agenten-Orchestrierung",competitor:"Selbst zu entwickeln",socle:"Nativ (A2A-Protokoll)"},{dimension:"Multimodalität",competitor:"GPU-Rechenleistung",socle:"Transkription, TTS, Vision integriert"},{dimension:"Was gemessen wird",competitor:"GPU, RAM, Speicher, Bandbreite",socle:"Akzeptanz, Erfolg je Aufgabe, Feedback"}],weaknessesTitle:"Warum OUTSCALE allein nicht genügt",weaknesses:[{title:"IaaS-/PaaS-Akteur, kein Hersteller von KI-Anwendungssoftware",body:"OUTSCALE glänzt bei der Bereitstellung von GPU-Rechenleistung, virtuellen Maschinen und SecNumCloud-qualifizierten Kubernetes-Clustern. Eine schlüsselfertige grafische Oberfläche für nicht-technische Fachanwender liefert das Unternehmen hingegen nicht."},{title:"Keine nativen Anwendungsbausteine und keine KI-Orchestrierung",body:"Keine Multi-Agenten-Orchestrierung (A2A-Protokoll), kein visueller No-Code-/Low-Code-Workflow-Baukasten, keine hybride RAG-Engine mit Reranking über mehrere Quellen und keine multimodale Suite (Transkription mit Sprechertrennung, TTS, Vision)."},{title:"Zeit und Kosten der Anwendungsentwicklung",body:"Ein Modell oder eine GPU-Instanz bei OUTSCALE bereitzustellen verschafft Zugang zu einem Infrastrukturdienst oder einer API. Ihre Teams müssen anschlieÃend Anwendung, Oberfläche, Rechteverwaltung, Kontextgedächtnis und fachliche Governance programmieren."},{title:"Governance auf Infrastrukturebene",body:"OUTSCALE verfolgt den Ressourcenverbrauch (GPU, RAM, Speicher, Bandbreite). Die fachliche Akzeptanz, die Erfolgsquote je ausgeführter Agentenaufgabe und die Feedback-Schleifen gehören zur Anwendungsschicht."}],strengthsTitle:"Die Gewinnkombination: Socle AI auf OUTSCALE",strengths:[{title:"Der souveräne KI-Stack als Referenz",body:"Wird S
83ocle AI (Docker oder Kubernetes OKS) direkt auf der OUTSCALE-Infrastruktur betrieben, erhält der Kunde das höchste in Frankreich von der ANSSI vergebene Sicherheitsniveau (SecNumCloud 3.2), kombiniert mit einer einsatzbereiten KI-Anwendungssuite."},{title:"Sofortiges Time-to-Market für kritische Einrichtungen",body:"Ãffentlicher Sektor, Verteidigung, Gesundheit (HDS-zertifiziert), Banken und Betreiber kritischer Infrastrukturen können fachliche Copiloten, RAG auf vertraulichen Dokumenten und autonome Agenten binnen Tagen ausrollen, statt monatelang die Software-Infrastruktur zu entwickeln."},{title:"Multi-Agenten-Orchestrierung und visuelle Workflows",body:"Engine für autonome Agenten, Workflow-Studio per Drag-and-drop, Konnektoren zu Fachwerkzeugen und 100 % Kompatibilität mit der OpenAI-API (base_url), um zwischen über 12 Modellen zu wechseln."},{title:"Governance und vollständige Auditierbarkeit",body:"Dashboards zum KI-Verbrauch je Abteilung und Mitglied, detaillierte Audit-Logs der von Agenten ausgeführten Aktionen und integrierte Erfassung von Nutzerfeedback."},{title:"Fachliche Begleitung von Anfang bis Ende",body:"7 bis 8 Jahre Erfahrung darin, KI-Anwendungsfälle mit hohem Einsatz zu strukturieren und zu integrieren."}],killerQuestions:["OUTSCALE garantiert Ihnen eine souveräne, SecNumCloud-3.2-qualifizierte Cloud für Ihre GPUs â aber welche Anwendung und welche Oberfläche nutzen Ihre Mitarbeitenden täglich, um mit diesen Modellen zu arbeiten?","Haben Sie den internen Entwicklungsaufwand beziffert, um RAG-Engine, Agenten-Orchestrator und Rechteverwaltung über Ihren OUTSCALE-Instanzen zu bauen?","Wussten Sie, dass sich die Plattform Socle AI direkt in Ihrem OUTSCALE-Tenant installieren lässt und so höchste europäische Sicherheit mit einer sofort einsatzfähigen fachlichen KI-Lösung verbindet?"],objections:[{objection:"Wir sind an die Doktrin âCloud im Zentrumâ gebunden und müssen eine SecNumCloud wie OUTSCALE nutzen.",response:"Eine ausgezeichnete Entscheidung â und Socle AI will Ihren Hoster gar nicht ersetzen: Die Plattform wird on-premise (Docker oder Kubernetes) direkt in Ihrer OUTSCALE-Umgebung mit SecNumCloud 3.2 installiert. Sie erfüllen die staatlichen Anforderungen zu 100 % und verfügen zugleich sofort über eine vollständige KI-Softwareplattform."},{objection:"OUTSCALE bietet doch bereits verwaltete KI- und GPU-Angebote.",response:"OUTSCALE liefert rohe Rechenleistung und das Hosting von Modellen. Doch eine GPU oder eine API liefert weder eine Chat-Oberfläche noch einen Manager für RAG-Dokumentenbestände noch fachliche Konnektoren. Socle AI ist die Anwendungs-Engine, die auf den GPUs von OUTSCALE aufsetzt und KI für Ihre Fachbereiche nutzbar macht."},{objection:"Warum sollten wir nicht unsere eigene KI-Anwendung über OUTSCALE entwickeln?",response:"Eine abgesicherte, multi-agentenfähige, multimodale Plattform (Sprache, Bild) mit hybridem RAG und Governance intern zu entwickeln bedeutet 6 bis 12 Monate aufwendige Forschung und Entwicklung. Mit Socle AI auf OUTSCALE sparen Sie diese Zeit und setzen auf eine in kritischen Umgebungen erprobte Lösung."}]},{slug:"ovhcloud",image:"/images/battle-cards/ovhcloud.svg",opponent:"OVHcloud",tone:"complementary",competitorLabel:"DIE INFRASTRUKTUR",updated:"2026-08-05",metaDescription:"Socle AI und OVHcloud: souveräne europäische Cloud-Infrastruktur und KI-Anwendungssoftware. Wer macht was â und warum man beides zu einem 100 % französischen Stack kombiniert.",positioning:{competitorRole:"Souveräne europäische Cloud-Infrastruktur",socleRole:"KI-Anwendungssoftwareplattform",lead:"OVHcloud liefert die souveräne europäische Cloud-Infrastruktur (IaaS/PaaS, GPUs, dedizierte Server, AI Endpoints), während Socle AI die einsatzbereite KI-Anwendungsplattform liefert: Oberfläche, autonome Agenten, hybrides RAG, visuelle Workflows und Governance.",summary:"OVHcloud liefert rohe Leistung und französische Hardware; Socle AI liefert die Intelligenzsuite und die fachlichen Oberflächen. Zusammen ein zu 100 % französischer, sofort einsatzfähiger Stack."},synergy:"Socle AI wird via Docker direkt auf Ihren Servern oder GPU-Instanzen bei OVHcloud bereitgestellt: Sie nutzen die Infrastruktur, die Sie bereits haben, ohne bei null anzufangen.",comparisonTable:[{dimension:"Abgedeckte Schicht",competitor:"Infrastruktur (GPU, Server, Endpoints)",socle:"Fachliche Anwendung"},{dimension:"Fachliche Oberfläche",competitor:"Cloud-Konsole",socle:"Chat, Agenten, Dashboards"},{dimension:"Visuelle Workflows",competitor:"Nein",socle:"Studio per Drag-and-drop"},{dimension:"Hybrides RAG",competitor:"Selbst zu entwickeln",socle:"Nativ mit Dokumenten-Reranking"},{dimension:"Multi-Agenten-Orchestrierung",competitor:"Selbst zu entwickeln",socle:"Nativ (A2A-Protokoll)"},{dimension:"Multimodalität",competitor:"Modell-Inferenz",socle:"Transkription, TTS, Vision integriert"},{dimension:"Was gemessen wird",competitor:"Compute, GPU, Bandbreite",socle:"Akzeptanz, Aufgabenerfolg, Feedback"}],weaknessesTitle:"Warum OVHcloud allein nicht genügt",weaknesses:[{title:"Infrastrukturanbieter, kein Hersteller von Fachsoftware",body:"OVHcloud bietet GPU-Instanzen, AI Endpoints (Modell-Inferenz) und verwaltete Datenbanken, aber keine grafische Oberfläche (Chat, Dashboard) für nicht-technische Fachteams."},{title:"Keine Orchestrierung und keine fortgeschrittenen KI-Bausteine",body:"Kein visueller Workflow-Baukasten, keine dynamische Multi-Agenten-Orchestrierung (A2A-Protokoll), kein Manager für hybrides RAG mit Dokumenten-Reranking und keine integrierte multimodale Suite (Transkription mit Sprechertrennung, TTS, Vision)."},{title:"Entwicklungszeiten und -kosten",body:"Ãber die Inferenz-APIs zu gehen oder GPUs bei OVHcloud zu mieten hinterlässt Ihnen eine rohe API. Ihre Teams müssen Anwendung, Oberfläche, Kontextgedächtnis, Rechteverwaltung und Governance selbst entwickeln."},{title:"Governance auf Infrastrukturebene",body:"OVHcloud berechnet den Verbrauch von Compute, GPU und Bandbreite. Die Akzeptanz bei den Mitarbeitenden zu messen, die Erfolgsquote von KI-Aufgaben zu bestimmen oder Feedback-Schleifen zu erfassen, gehört zu einer anderen Schicht."}],strengthsTitle:"Die Gewinnkombination: Socle AI auf OVHcloud",strengths:[{title:"Stack zu 100 % aus Frankreich und Europa",body:"Wird S
83ocle AI (SaaS oder on-premise via Docker) auf einer OVHcloud-Infrastruktur (SecNumCloud, HDS) betrieben, erhalten Sie vollständige Immunität gegenüber extraterritorialen Gesetzen (Cloud Act), ohne Abstriche bei der Nutzererfahrung."},{title:"Schlüsselfertige Plattform statt roher API",body:"Vollständige Chat-Oberfläche, Module zur Erstellung von Agenten, Workflow-Studio per Drag-and-drop, fachliche Konnektoren (Slack, CRM, Datenbanken) und RAG-Dokumentenverwaltung ab dem ersten Tag."},{title:"Multi-Agenten-Orchestrierung und Modellunabhängigkeit",body:"Native Multi-Agenten-Engine (A2A-Protokoll) und 100 % Kompatibilität mit der OpenAI-API (base_url): Sie orchestrieren jedes bei OVHcloud gehostete Open-Source-Modell (Mistral, Llama, Qwen), ohne Ihren Code zu ändern."},{title:"Governance, Compliance und Feedback-Schleifen",body:"Dashboards zur Nutzungsverfolgung je Mitglied, vollständiges Audit-Log der von Agenten getroffenen Entscheidungen und Messung des Aufgabenerfolgs innerhalb der Organisation."},{title:"Begleitung und Expertise (7 bis 8 Jahre)",body:"Eine erprobte Methodik, um von der Konzeption bis in den Produktivbetrieb zu gelangen â bei kritischen Anwendungsfällen in Banken, Verteidigung und Gesundheit."}],killerQuestions:["OVHcloud liefert Ihnen GPU-Server oder AI Endpoints â aber welches Team programmiert die Oberfläche, das Dokumenten-RAG und den Agenten-Orchestrator für Ihre Mitarbeitenden?","Wie wollen Sie mit einem reinen Cloud-Abrechnungs-Dashboard die Erfolgsquote von KI-Aufgaben und die Akzeptanz bei Ihren Nutzern messen?","Wussten Sie, dass sich die Plattform Socle AI direkt auf Ihren Servern oder GPU-Instanzen bei OVHcloud ausrollen lässt und so die Exzellenz der französischen Infrastruktur mit einer in Minuten einsatzfähigen Anwendungslösung verbindet?"],objections:[{objection:"Wir haben bereits einen Hosting-Vertrag oder Guthaben bei OVHcloud.",response:"Das ist eine ausgezeichnete Nachricht: Socle AI ist zu 100 % mit OVHcloud kompatibel. Sie können die Plattform on-premise (Docker) direkt auf Ihren Servern betreiben. So nutzen Sie Ihre souveräne Infrastruktur und geben Ihren Teams zugleich einsatzbereite Fachwerkzeuge an die Hand."},{objection:"OVHcloud bietet doch bereits AI Endpoints zur Nutzung von KI-Modellen.",response:"AI Endpoints sind rohe APIs für Entwickler. Sie liefern weder eine Chat-Oberfläche noch einen Manager für RAG-Dokumentenbestände, weder visuelle Workflows noch ein Governance-System. Socle AI bringt genau diese Anwendungsschicht, ohne die KI für Ihre Fachbereiche nicht nutzbar wird."},{objection:"Direkt über OVHcloud zu gehen erspart uns eine Softwarelizenz.",response:"Die Infrastruktur ist anfangs günstiger, doch die Gesamtbetriebskosten steigen rasch, wenn ein Entwicklerteam 6 bis 12 Monate lang die Anwendung darüber bauen und pflegen muss. Socle AI spart Ihnen diese Monate an Forschung und Entwicklung und sichert zugleich Ihre Roadmap ab."}]},{slug:"openai",image:"/images/battle-cards/openai.svg",opponent:"OpenAI",updated:"2026-08-05",metaDescription:"Socle AI vs. OpenAI (ChatGPT Enterprise, direkte API): europäische Souveränität gegen US-Infrastruktur unter dem Cloud Act. Stärken, Einwände, Schlüsselfragen.",positioning:{competitorRole:"ChatGPT Enterprise und direkte API (USA)",socleRole:"Souveräne europäische Plattform",lead:"Socle AI ist eine souveräne KI-Plattform, gehostet in Frankreich oder installierbar auf Ihren Servern, während OpenAI ein US-amerikanischer Anbieter ist, der dem Cloud Act unterliegt und sich nicht bei Ihnen betreiben lässt.",summary:"Europäische Souveränität gegen US-Riesen unter dem Cloud Act: Sie behalten das OpenAI-SDK, ohne die Abhängigkeit und ohne das regulatorische Risiko."},comparisonTable:[{dimension:"Hosting",competitor:"USA, dem Cloud Act unterworfen",socle:"Frankreich (Scaleway) oder Ihre Server"},{dimension:"On-Premise",competitor:"Nicht möglich",socle:"Ja, via Docker"},{dimension:"Ihre Daten",competitor:"Extraterritoriale Exposition",socle:"Keine Daten geteilt oder trainiert"},{dimension:"Modellauswahl",competitor:"AusschlieÃlich OpenAI-Modelle",socle:"+12 Modelle (Mistral, Llama, Qwen â¦)"},{dimension:"Bestehender Code",competitor:"Proprietäres Ãkosystem",socle:"Dasselbe SDK, base_url umgeleitet"}],weaknesses:[{title:"Regulatorisches Risiko und Cloud Act",body:"Dem US-Recht unterworfen, mit dem Risiko des Abflusses sensibler Daten und der Extraterritorialität."},{title:"Vollständige proprietäre Bindung",body:"Sämtlicher Code, der im proprietären Ãkosystem von OpenAI entsteht, bindet Sie an OpenAI."},{title:"On-Premise nicht möglich",body:"Keine Möglichkeit, ChatGPT auf Ihren eigenen Servern oder in einer souveränen Cloud zu installieren."}],strengths:[{title:"Souveränität von Grund auf",body:"Hosting zu 100 % in Frankreich (Scaleway) oder on-premise (Docker) auf Ihren Servern. Keine Daten werden geteilt, keine Daten zum Training eines Modells verwendet."},{title:"Kompatibilität mit der OpenAI-API (base_url)",body:"Ihre Entwickler behalten dasselbe OpenAI-SDK und leiten die Anfragen einfach an Socle AI um. Sie behalten den Code, ohne die Abhängigkeit."},{title:"Mehrere Modelle (+12)",body:"Wechseln Sie je nach Kosten und fachlichem Bedarf zwischen Mistral, Llama, Qwen und anderen."}],killerQuestions:["Sind Sie bereit, die strategischen Daten Ihrer Kunden oder Ihrer Forschung und Entwicklung einer US-Infrastruktur anzuvertrauen, die dem Cloud Act unterliegt?"],objections:[{objection:"OpenAI hat die besten Modelle der Welt.",response:"Für den allgemeinen Gebrauch stimmt das. Doch für Ihre kritischen Fachprozesse ist ein Open-Source-Modell (Mistral, Qwen), orchestriert auf Socle AI, sicherer, souveräner, günstiger â und bei gezielten Aufgaben ebenbürtig in der Leistung."}]},{slug:"developpement-interne",image:"/images/battle-cards/developpement-interne.svg",opponent:"Eigenentwicklung",competitorLabel:"DIE ANDERE OPTION",updated:"2026-08-05",metaDescription:"Socle AI vs. Eigenentwicklung: sc
83hlüsselfertige Plattform gegen 6 bis 12 Monate Entwicklung, um Oberfläche, RAG, Multi-Agenten und Governance neu zu erfinden. Gesamtkosten, Time-to-Market, Einwände.",positioning:{competitorRole:"Alles selbst bauen",socleRole:"Schlüsselfertige Plattform",lead:"Eine eigene KI-Plattform intern zu entwickeln heiÃt, Oberfläche, Rechteverwaltung, RAG-Infrastruktur, Multi-Agenten-Betrieb und Governance neu zu erfinden â während Socle AI all das bereits zusammengesetzt liefert.",summary:"Schlüsselfertige Plattform gegen das Neuerfinden des Rades: Die eigentliche Frage ist nicht, ob Ihre Teams das können, sondern ob Sie dort ihre Zeit investieren wollen."},comparisonTable:[{dimension:"Time-to-Market",competitor:"6 bis 12 Monate Entwicklung",socle:"Sofort einsatzbereit"},{dimension:"Was Ihr Team programmiert",competitor:"Oberfläche, Rechte, RAG, Multi-Agenten, Governance",socle:"Ihren fachlichen Mehrwert"},{dimension:"Wartung und Aktualisierungen",competitor:"In Ihrer Verantwortung",socle:"Inbegriffen"},{dimension:"Technologiebeobachtung",competitor:"In Ihrer Verantwortung",socle:"MCP, A2A, neue Modelle laufend"},{dimension:"Kosten",competitor:"Mehrere Stellen für KI-Ingenieure",socle:"Ein Bruchteil eines Ingenieurgehalts"}],weaknessesTitle:"Die Grenzen der Eigenentwicklung",weaknesses:[{title:"Katastrophales Time-to-Market",body:"6 bis 12 Monate aufwendige Entwicklung für Oberfläche, Rechteverwaltung, RAG-Infrastruktur, Multi-Agenten-Betrieb und Governance."},{title:"Opportunitätskosten und technische Schulden",body:"Ein Team talentierter Ingenieure mit Infrastruktur-Klempnerei zu binden statt mit fachlichen Funktionen von hohem Wert."}],strengths:[{title:"Sofort einsatzbereit",body:"Einsatzfertige Plattform (SaaS oder on-premise via Docker), geliefert mit 8 Jahren gesammelter Erfahrung."},{title:"Massive Einsparung bei den Gesamtkosten",body:"Für einen Bruchteil des Gehalts eines KI-Ingenieurs erhalten Sie eine gepflegte, aktualisierte und abgesicherte Plattform."},{title:"Ständige Weiterentwicklung",body:"Socle AI integriert die neuesten Fortschritte laufend: MCP, A2A, neue Modelle, Multimodalität."}],killerQuestions:["Sollen Ihre Entwickler die nächsten 8 Monate damit verbringen, Oberflächen und Vektordatenbank-Leitungen zu programmieren â oder ab nächster Woche fachlichen Mehrwert für Ihre Kunden schaffen?"],objections:[{objection:"Wir entwickeln lieber maÃgeschneidert, um 100 % der Kontrolle zu behalten.",response:"Socle AI nimmt Ihnen keinerlei Kontrolle: Unsere zu 100 % OpenAI-kompatible API erlaubt Ihnen, darüber alles zu programmieren, was Sie möchten. Wir befreien Sie lediglich von den 80 % Infrastrukturcode ohne Mehrwert."}]},{slug:"dify-flowise",image:"/images/battle-cards/dify-flowise.svg",opponent:"Dify / Flowise",updated:"2026-08-05",metaDescription:"Socle AI vs. Dify und Flowise: gouvernierte Unternehmenslösung gegen Open-Source-Low-Code-Werkzeuge. Governance, Audit, hybrides RAG, Support und Betrieb.",positioning:{competitorRole:"Open-Source-Low-Code-Werkzeuge",socleRole:"Gouvernierte Unternehmenslösung",lead:"Dify und Flowise sind hervorragende Open-Source-Werkzeuge, um schnell zu prototypisieren â während Socle AI die Governance, Auditierbarkeit, den Support und die Compliance mitbringt, die ein Unternehmenseinsatz verlangt.",summary:"Visuelle Agilität ohne unternehmerische Strenge genügt für einen Prototyp. Im Produktivbetrieb sind Governance, Audit und Support nicht mehr optional."},comparisonTable:[{dimension:"Governance und Audit",competitor:"Rudimentär",socle:"Vollständiges Audit-Log, Erfolgsquoten"},{dimension:"Mandantentrennung",competitor:"Nicht strikt",socle:"Strikt"},{dimension:"Kostenkontrolle",competitor:"Nicht vorhanden",socle:"Konfigurierbare Obergrenzen gegen Missbrauch"},{dimension:"Betrieb und Instandhaltung",competitor:"In Ihrer Verantwortung",socle:"Sichergestellt"},{dimension:"Multimodalität",competitor:"Begrenzt",socle:"Transkription Gladia/Whisper mit Sprechertrennung"},{dimension:"Begleitung",competitor:"Community",socle:"Expertenteam, von der Konzeption bis in den Betrieb"}],weaknessesTitle:"Die Grenzen von Dify und Flowise",weaknesses:[{title:"Rudimentäre Sicherheit und Governance",body:"Keine feingranulare Auditierbarkeit, keine strikte Trennung zwischen Organisationen, keine Kostenkontrolle."},{title:"Aufwendige Wartung",body:"Es sind Open-Source-Projekte, deren Betrieb und Instandhaltung Sie selbst sicherstellen müssen."},{title:"Keine fachliche Begleitung",body:"Kein Support-Team und keine Fachleute, die die Integration strukturieren."}],strengths:[{title:"Unternehmens-Governance und Audit",body:"Vollständiges Audit-Log, Berechnung der Erfolgsquoten je Aufgabe, Feedback-Schleifen der Nutzer und konfigurierbare Obergrenzen gegen Missbrauch."},{title:"Hybrides RAG und integrierte Multimodalität",body:"Weitreichende Formatunterstützung bis 5 GB, Sprachtranskription mit Gladia/Whisper und Sprechertrennung."},{title:"Support und Begleitung (7 bis 8 Jahre)",body:"Ein Expertenteam, das Sie von der Konzeption bis zur Inbetriebnahme begleitet."}],killerQuestions:["Wenn Sie Dify intern betreiben: Wer übernimmt die Verantwortung für Governance, Kostenverfolgung je Team und technischen Support im Störungsfall?"],objections:[{objection:"Dify ist kostenlos und erlaubt, sehr schnell visuelle Agenten zu bauen.",response:"Dify eignet sich sehr gut für schnelles Prototyping. Im Unternehmen sind jedoch Sicherheit, Auditierbarkeit der Entscheidungen, Kostenverfolgung und souveräne Compliance unverzichtbar. Socle AI bietet Ihnen visuelle Agilität und unternehmerische Strenge zugleich."}]},{slug:"n8n-make",image:"/images/battle-cards/n8n-make.svg",opponent:"n8n / Make",updated:"2026-08-05",metaDescription:"Socle AI vs. n8n und Make: spezialisierte agentische KI-Engine gegen generische Flow-Automatisierung. Langzeitgedächtnis, hybrides RAG, Multi-Agenten-Orchestrierung und iPaaS-Ergänzung.",positioning:{competitorRole:"Generische Flow-Automatisierung (iPaaS)",socleRole:"Spezialisierte agentische KI-Engine",lead:"iPaaS-Werkzeuge wie n8n oder Make lassen Daten zwischen APIs zirkulieren, während Socle AI autonome Agenten mit Langzeitgedächtnis, hybridem RAG und Schlussfolgerungsfähigkeit orchestriert.",summary:"Es ist keine Entweder-oder-Entscheidung: Ein iPaaS glänzt bei der Flow-Automatisierung, Socle AI bei agentischer KI. Beide lasse
83n sich aneinander anschlieÃen."},synergy:"Da Socle AI das OpenAI-Protokoll einhält, können Sie es direkt aus n8n heraus nutzen und sogar einen Workflow oder ein Agententeam aufrufen, als wäre es ein Modell. Wählen Sie nicht: Nutzen Sie die Stärke des iPaaS MIT der Leistungsfähigkeit der KI.",comparisonTable:[{dimension:"Entwickelt für",competitor:"Daten zwischen APIs bewegen",socle:"KI-Agenten orchestrieren"},{dimension:"Langzeitgedächtnis",competitor:"Nicht nativ",socle:"Nativ"},{dimension:"Hybrides RAG mit Reranking",competitor:"Nein",socle:"Nativ"},{dimension:"Agentisches Schlussfolgern",competitor:"Nein (ReAct, PlanAct)",socle:"Nativ"},{dimension:"Multi-Agenten (A2A)",competitor:"Nein",socle:"Nativ, mit Abschlusssynthese"},{dimension:"Multimodalität",competitor:"Ãber Dritt-APIs",socle:"Audio, Bild, TTS integriert"}],weaknessesTitle:"Die Grenzen der iPaaS",weaknesses:[{title:"Nicht für komplexe KI gebaut",body:"Sie behandeln KI wie eine einfache externe API, ohne native Verwaltung von Langzeitgedächtnis, hybridem RAG mit Reranking oder agentischem Schlussfolgern (ReAct, PlanAct)."},{title:"Keine native Multi-Agenten-Orchestrierung",body:"Sie können mehrere spezialisierte Agenten nicht dynamisch zusammenarbeiten lassen und deren Ergebnisse abschlieÃend zusammenführen."}],strengths:[{title:"Nativ agentische Plattform",body:"Multi-Agenten-Orchestrierung (A2A), native MCP-Server, Vektordatenbanken für RAG und visuelle Workflows, die von Anfang an für KI gedacht sind."},{title:"Ergänzung zu Ihrem iPaaS",body:"Die Workflows von Socle AI lassen sich ganz einfach als âNodeâ aus n8n oder Make aufrufen."},{title:"Native Multimodalität",body:"Audio (Transkription und Sprechertrennung), Bild und Sprachsynthese innerhalb derselben Plattform."}],killerQuestions:["Ein Werkzeug wie n8n bewegt Daten zwischen APIs. Aber wie wollen Sie das Gedächtnis der Konversationen, das Dokumenten-RAG und das autonome Schlussfolgern Ihrer Agenten verwalten?"],objections:[{objection:"Wir bauen unsere KI-Workflows bereits in n8n.",response:"n8n ist groÃartig für einfache Automatisierungen. Sobald es darum geht, Agenten-Ãkosysteme zu orchestrieren, umfangreiche Dokumente auszuwerten (RAG) oder die Governance der Modelle zu steuern, stöÃt n8n an seine Grenzen. Sie können Socle AI im Ãbrigen innerhalb Ihrer bestehenden n8n-Workflows nutzen."}]},{slug:"hermes",image:"/images/battle-cards/hermes.svg",opponent:"Hermes",tone:"parallel",competitorLabel:"DER ANDERE ANSATZ",updated:"2026-09-08",metaDescription:"Socle AI vs Hermes (Nous Research): ein selbst gehosteter persönlicher Agent, der von Ihnen lernt, gegen eine souveräne agentische Unternehmensplattform. Dieselbe Revolution, andere GröÃenordnung.",positioning:{competitorRole:"Autonomer persönlicher KI-Agent",socleRole:"Souveräne agentische Unternehmensplattform",lead:"Hermes von Nous Research ist ein selbst gehosteter persönlicher Agent, der Erinnerungen sammelt und sich mit der Zeit eigene Fähigkeiten aufbaut. Socle AI ist die Plattform, auf der eine Organisation ihre Agenten baut, orchestriert und steuert.",summary:"Dieselbe Revolution, andere GröÃenordnung. Hermes ist um den Agenten herum gebaut, Socle AI um die Organisation: spezialisierte Agenten, Ãkosysteme, Workflows, Rollen, Isolation und Nachvollziehbarkeit."},synergy:"Die beiden Werkzeuge schlieÃen sich nicht aus. Hermes kann jeden OpenAI-kompatiblen Endpunkt aufrufen: Ein Agent oder Ãkosystem von Socle AI hängt sich dort wie ein Modell ein und öffnet dem persönlichen Agenten das Dokumenten-RAG und die kontrollierten Fachwerkzeuge der Organisation.",duel:{label:"ZWEI PHILOSOPHIEN",title:"Ein Agent, der mit Ihnen wächst, eine Plattform, die mit Ihrer Organisation wächst",competitor:{caption:"PERSÃNLICHER AGENT",head:"Ihr Agent",chain:["Memory","Skills","Tools"],outcome:"Ihr Assistent"},socle:{caption:"AGENTISCHE UNTERNEHMENSPLATTFORM",head:"Ihre Agenten",chain:["Ãkosystem","Workflow","Governance"],outcome:"Ihre Fach-Infrastruktur"},note:"Hermes ist um den Agenten herum gebaut. Socle AI ist um die Organisation herum gebaut."},comparisonTable:[{dimension:"Zielgruppe",competitor:"Einzelpersonen, Entwickler, Power-User",socle:"Unternehmen, Produkt- und Tech-Teams"},{dimension:"Grundeinheit",competitor:"Ein persistenter Agent",socle:"Spezialisierte Agenten"},{dimension:"Langzeit-Memory",competitor:"Stärke, selbst kuratiertes Memory",socle:"Memory je Agent und je Organisation"},{dimension:"Fähigkeiten",competitor:"Selbst erlernt, Standard agentskills.io",socle:"Konfigurierte Agenten, Tools und Workflows"},{dimension:"Multi-Agenten",competitor:"Spezialisierte Bots und Subagenten",socle:"Native Orchestrierung (A2A)"},{dimension:"Visuelle Workflows",competitor:"Nicht dokumentiert",socle:"Drag-and-drop-Builder"},{dimension:"Modelle",competitor:"Multi-Provider, beliebige Endpunkte",socle:"Multi-Modell, OpenAI-kompatible API"},{dimension:"Multimodalität",competitor:"Auf Agent und Tools ausgerichtet",socle:"Text, Vision, ASR, TTS, Bild"},{dimension:"Organisationen und Rollen",competitor:"Nicht dokumentiert",socle:"Rollen, Isolation, eigene API-Schlüssel"},{dimension:"Nachvollziehbarkeit",competitor:"Logs und Verlauf",socle:"Schritt-für-Schritt-Audit der Ausführung"},{dimension:"Betrieb",competitor:"Selbst gehostet (lokal, Docker, SSH â¦)",socle:"SaaS in Frankreich oder on-premise"}],weaknessesTitle:"Was Hermes abdeckt â und wo es aufhört",weaknesses:[{title:"Ein Agent, keine Organisation",body:"Hermes ist um einen persistenten Agenten herum entworfen, der Sie kennt. Bot-Modus und Subagenten lassen mehrere Spezialisten zusammenarbeiten, aber die BezugsgröÃe bleibt der Nutzer, nicht das Unternehmen."},{title:"Keine Governance über mehrere Organisationen",body:"Die Dokumentation beschreibt weder Rollen für Admin, Mitglied und Gast noch eine strikte Isolation zwischen Organisationen oder eine Verbrauchsmessung je Team â alles Voraussetzungen, sobald die IT das Werkzeug mehreren Fachbereichen öffnen soll."},{title:"Kein visueller Workflow-Builder",body:"Die Abfolge der Aktionen entscheidet der Agent, was im persönlichen Gebrauch stark ist. Ein Fachteam, das einen Prozess identisch wiederholen muss â mit Bedingungen, Verzweigungen und menschlicher Freigabe â sucht einen expliziten Workflow."},{title:"Hosting und Betrieb liegen bei Ihnen",body:"Selbst-Hosting ist ein echter Kontrollvorteil, aber Installation, Updates, Backups und Verfügbarkeit bleiben Sache dessen, der es betreibt. Ein betriebenes souveränes SaaS-Angebot gibt es nicht."}],strengthsTitle:"Was Socle AI einer Organisation bringt",strengths:[{title:"Bauen: spezialisierte Agenten statt eines einzigen Agenten",body:"Jeder Agent hat sein eigenes Modell, seine Instruktionen, sein Memory, seine Wissensbasis und seine Tools. Ein Rechtsagent, ein Support-Agent und ein Analyse-Agent teilen weder denselben Kontext noch dieselben Zugriffsrechte."},{title:"Orchestrieren: Agenten-Ãkosysteme",body:"Ein Ãkosystem wählt die für eine Anfrage nötigen Agenten aus, führt die Schritte aus und fasst das Ergebnis zusammen â über das A2A-Protokoll. Die Orchestrierung ist deklariert, nicht der Initiative eines einzelnen Agenten überlassen."},{title:"Automatisieren: ein visueller Workflow-Builder",body:"Agenten, Bedingungen, API-Aufrufe, Tools, Benachrichtigungen, Verzweigungen und Sub-Workflows per Drag-and-drop, ausgelöst manuell, per Webhook oder zeitgesteuert, mit menschlicher Freigabe dort, wo sie nötig ist."},{title:"Skalieren: Governance und Souveränität",body:"Mehrere Organisationen, Rollen und Isolation, Verbrauchsmessung, eigene API-Schlüssel, Audit-Log und Datenlöschung. Als SaaS in Frankreich bei Scaleway oder on-premise auf Ihren eigenen Servern."},{title:"Integrieren: OpenAI-Kompatibilität und Fachwerkzeuge",body:"Ãber die OpenAI-kompatible API rufen Sie einen Agenten oder ein Ãkosystem wie ein Modell auf â aus Ihren bestehenden Anwendungen, Ihren MCP-Servern und Ihren Fach-Konnektoren."}],killerQuestions:["Ein persönlicher Agent lernt von seinem Nutzer. Was passiert, wenn diese Person das Unternehmen verlässt, und wem gehört das angesammelte Memory?","Wie öffnen Sie diese Nutzung für mehrere Teams â mit Rollen, Datenisolation und Verbrauchsmessung je Organisation?","Können Ihre kritischen Prozesse auf einer vom Agenten entschiedenen Abfolge beruhen, oder brauchen Sie einen expliziten Workflow, der Schritt für Schritt wiederholbar und auditierbar ist?"],objections:[{objection:"Hermes ist Open Source und selbst gehostet, das ist doch schon souverän.",response:"Selbst-Hosting gibt Ihnen tatsächlich die Kontrolle über die Ausführung, und das ist eine echte Stärke. Unternehmens-Souveränität verlangt zusätzlich einen betreuten Betrieb, Isolation zwischen Organisationen, Nac
83hvollziehbarkeit von Entscheidungen und eine vertragliche Zusage zum Speicherort. Socle AI bietet SaaS in Frankreich bei Scaleway oder on-premise â mit der passenden Governance."},{objection:"Das persistente Memory und die selbst erlernten Skills von Hermes sind weiter als das Konfigurieren von Agenten.",response:"Das stimmt, und es ist der Kern seines Versprechens: ein Agent, der sich beim Beobachten selbst verbessert. Im Unternehmen wird genau diese Autonomie zur Compliance-Frage: Man muss sagen können, wer worauf Zugriff hat, eine Entscheidung wiederholen und begründen. Socle AI setzt deshalb auf explizit konfigurierte Agenten und nachvollziehbare Workflows."},{objection:"Unsere Entwickler bevorzugen einen Agenten, den sie lokal vollständig kontrollieren.",response:"Beides geht sehr gut zusammen. Socle AI stellt eine OpenAI-kompatible API bereit: Hermes kann auf einen Socle-Agenten oder ein Ãkosystem zeigen wie auf jeden anderen Endpunkt und bekommt so das Dokumenten-RAG und die Fachwerkzeuge der Organisation â ohne dass Ihre Entwickler ihren persönlichen Agenten aufgeben."}]}],uS={fr:yf,en:rS,pt:oS,de:lS},cS=yf;function kl(e){return(uS[e]||cS).filter(t=>!t.draft)}function dS(e,t){return kl(t).find(s=>s.slug===e)||kl("fr").find(s=>s.slug===e)||null}function hi(e){return`Socle AI ${e.tone==="complementary"?"&":"vs"} ${e.opponent}`}const Af=[{slug:"ia-concretement-cest-quoi",number:1,title:"L'IA c'est quoi concrètement ?",updated:"2026-08-06",author:"Benjamin",readingMinutes:8,socialImage:"/images/articles/ia-concretement-schema-couches.png",metaDescription:"Comprendre l'IA sans jargon : les couches qui la font fonctionner, de l'application au hardware, en suivant un document envoyé à ChatGPT. Shadow AI, RAG, CLOUD Act, NVIDIA, TSMC.",lede:"Vous avez besoin de comprendre ce qu'est l'IA et les enjeux que vous aurez à l'avenir sur ce sujet ? Voici une suite d'articles qui vous permettront de comprendre tout le nécessaire pour déployer et utiliser l'IA dans votre entreprise.",body:[{t:"p",text:"J'étais en train de commencer un article sur ma méthodologie pour mettre en Åuvre de l'IA dans les projets d'une entreprise, quand résonnait dans ma tête une conversation que j'ai eue il n'y a pas longtemps lors d'un événement à Paris :"},{t:"quote",text:"Tu sais, Benjamin, comprendre tout ce qui permet de faire de l'intelligence artificielle, voire ce qu'est l'intelligence artificielle elle-même, c'est déjà un problème. Alors parler de stratégieâ¦"},{t:"p",text:"Et voilà mon erreur : j'étais en train de vous écrire un article méthodologique sur un concept qui n'était peut-être pas encore clair pour le lecteur, voire pire, un concept dont vous et moi n'avions pas exactement la même définition ! Alors, pourquoi ne pas reprendre tout cela depuis le début ?"},{t:"p",text:"Parlons de ce qu'est l'IA. Cet article se veut accessible à tous :"},{t:"list",items:["ce n'est ni un livre théorique pour des chercheurs (qui connaissent déjà le sujet),","ni un tutoriel de programmation."]},{t:"p",text:"C'est un **article de vulgarisation, mais qui peut être aussi utile pour les développeurs ;)**, qui vous donnera une bonne base pour comprendre les enjeux autour de ce sujet, les acteurs et les tendances, afin que vous puissiez prendre vos propres décisions."},{t:"callout",label:"UN ENGAGEMENT ENTRE VOUS ET MOI",text:"Si vous ne comprenez pas, c'est de ma faute : dites-le-moi et je m'engagerai à améliorer l'approche."},{t:"p",text:"Sur ce, commençons à parler d'IA !"},{t:"h2",text:"L'IA, c'est des couches"},{t:"image",src:"/images/articles/ia-concretement-couches.jpg",alt:"Illustration de la métaphore des couches, comme un oignon",caption:"COMME UN OIGNON : ÃA SE DÃCOUPE EN COUCHES"},{t:"p",text:"Votre Gemini sur votre téléphone, ou votre Citymapper qui vous trouve le meilleur itinéraire, sont en réalité composés de plusieurs éléments qui, mis ensemble, font les applications que vous connaissez. Chaque morceau aura un chapitre dédié pour rentrer un peu dans le détail. Ici, je vais juste vous expliquer globalement ce qu'ils représentent. Pour ceux qui ne supportent pas les trop longues lectures ou mon style d'écriture, vous aurez déjà une bonne vue d'ensemble ! ð"},{t:"p",text:"Voici les différents composants dont vous disposez pour développer et faire fonctionner vos applications d'IA. Chaque grande partie possède ses enjeux commerciaux, d'autonomie ou encore industriels."},{t:"image",src:"/images/articles/ia-concretement-schema-couches.webp",maxHeight:"780px",alt:"Schéma des cinq couches de l'IA : l'application (interface, API), le modèle d'IA (les différents modèles, données), la couche logicielle (orchestration, agentique, connexions), l'infrastru
83cture (cloud providers, énergie) et le hardware (puces, matière première).",caption:"DE L'INTERFACE QUE VOUS VOYEZ, JUSQU'à LA MATIÃRE PREMIÃRE"},{t:"p",text:"Décrivons rapidement ce que nous avons là avec un exemple simple. Accrochez-vous, on va passer très rapidement sur des concepts que nous approfondirons dans les prochains chapitres !"},{t:"p",text:"Accrochez-vous, Chewie : vitesse lumière !"},{t:"h2",text:"Notre fil rouge"},{t:"image",src:"/images/articles/ia-concretement-depart.jpg",alt:"Illustration du départ, on embarque dans le parcours du document",caption:"ACCROCHEZ-VOUS, ON SUIT LE DOCUMENT DE BOUT EN BOUT"},{t:"p",text:"Vous êtes dans votre entreprise, qui a une politique stricte de protection des données. Votre chef vous demande de lui fournir un résumé de la stratégie commerciale que vous venez de recevoir d'un autre service. Le document est gros et vous n'avez pas vraiment le temps. Votre entreprise ne vous a pas mis à disposition d'IA (ou alors une IA pas vraiment performante). Donc, comme la majorité des employés en ce moment, vous allez utiliser un outil que vous connaissez : ChatGPT."},{t:"p",text:"Carton rouge ! Vous venez de faire du **Shadow AI** : c'est-à -dire utiliser une IA externe en lui soumettant des données de votre entreprise (qui font partie de son patrimoine) à disposition d'OpenAI, qui les utilisera potentiellement pour entraîner ses propres modèles."},{t:"callout",label:"ET CE CAS EST LOIN DâÃTRE ISOLÃ",text:"D'après plusieurs études récentes (notamment de Microsoft, Salesforce et Slack), près de **75 à 80 % des employés** utilisent aujourd'hui des outils d'IA générative au travail. Et le chiffre qui pique un peu : plus d'un utilisateur sur deux le fait sans l'accord (ni même la connaissance) de sa direction ou de son service informatique. C'est ce qu'on appelle le **« Bring Your Own AI »** ou le **Shadow AI**. Une vraie aubaine pour votre productivité individuelle à court terme, mais un sacré casse-tête de sécurité et de confidentialité pour l'entreprise !"},{t:"p",text:"Bon, reprenons notre petite histoire. Vous allez donc sur votre navigateur et vous ouvrez le site de ChatGPT pour discuter avec votre IA."},{t:"h2",text:"1. La couche application"},{t:"p",text:"Ici, vous êtes sur la **couche Application** : le site qui contient l'interface de chat, les outils qui vérifient que c'est bien vous, vous donnent les accès (et vous font payer votre abonnement). En dehors de l'IA en elle-même, c'est cette application qui a tout changé lors de l'arrivée des LLM. Plus elle est simple d'utilisation, mieux c'est pour les utilisateurs. Voilà pourquoi vous devez bien réfléchir à ce que va voir votre utilisateur : le piège du « 100 % chat » est déjà assez flagrant dans les différentes entreprises que je croise."},{t:"p",text:"Vous chargez votre fichier et vous dites : *« Fais-moi un résumé en 5 bullet points. »*"},{t:"h2",text:"2. La couche logicielle"},{t:"p",text:"Là , vous vous dites : *« C'est bon, c'est l'IA qui travaille ! »* Mais en réalité⦠pas encore ! D'abord, votre fichier est pris en charge par la couche logicielle (du code classique) avant même de croiser un modèle d'IA. On va extraire le texte, puis le découper en petits morceaux (ce qu'on appelle le **chunking**)."},{t:"p",text:"Pourquoi ? Parce que chaque modèle d'IA a une limite de taille pour ce qu'il peut lire d'un seul coup : sa **fenêtre de contexte** (un peu comme la mémoire vive de votre cerveau quand vous lisez une page). Si votre document dépasse cette capacité, ou si l'application veut économiser du temps et des jetons, le logiciel va d'abord orchestrer le travail : découper le gros pavé, faire résumer chaque mor
83ceau, ou aller chercher uniquement les passages clés (via une technique appelée **RAG**) pour ne transmettre au modèle que l'essentiel. C'est un vrai travail d'équipe entre du code traditionnel et l'IA !"},{t:"h2",text:"3. Le modèle d'IA"},{t:"p",text:"Maintenant, le texte arrive au **modèle (LLM)** que vous avez choisi depuis votre interface."},{t:"p",text:"C'est là où l'on parle réellement d'IA. D'ailleurs, il y en a de plein de sortes ! Je vous parle ici de LLM car c'est le type d'IA le plus connu, mais sachez qu'il existe d'autres algorithmes très performants dans leurs domaines respectifs. Et au sein d'une même famille, vous avez différents modèles : c'est ici que l'on parle de GPT, Claude, Mistral, Qwen, Kimi, etc."},{t:"h2",text:"4. L'infrastructure : où tourne tout ça ?"},{t:"p",text:"Pendant que nos modèles travaillent, posons-nous la question : **où est-ce qu'ils fonctionnent ?** Eh oui, votre document n'est pas resté sur votre navigateur ! Il a été envoyé quelque part pour être analysé : chez un *Cloud Provider*, dans un datacenter."},{t:"p",text:"Maintenant, vous devez savoir une chose : même si votre serveur physique est implanté en France, vos données restent soumises à la loi du pays d'origine de votre fournisseur. Si vous utilisez Azure (Microsoft), AWS (Amazon) ou Google Cloud, vos données tombent sous le coup de lois extraterritoriales américaines, notamment le **CLOUD Act** (*Clarifying Lawful Overseas Use of Data Act*) ou la section 702 du **FISA**. En clair : la justice américaine peut théoriquement exiger l'accès aux données gérées par une entreprise américaine, peu importe que les serveurs soient à Paris, Amsterdam ou Francfort. **Et sans même que l'on vous le dise !** La géographie ne fait pas tout, la nationalité du géant tech s'en mêle aussi."},{t:"link",href:"https://www.youtube.com/shorts/JoR2Y8uNShQ",label:"Microsoft devant des sénateurs français",note:"à regarder jusquâà la fin"},{t:"p",text:"Il en existe beaucoup. Les plus connus sont AWS (Amazon), Google Cloud et Azure (Microsoft), sans oublier des acteurs français comme Scaleway, OVHcloud ou Outscale. Mais là , on parle uniquement de marques. Les datacenters, eux, sont ancrés sur un territoire géographique. à l'instant où l'on parle, votre document peut être à Paris, Amsterdam ou New York. D'ailleurs, une partie de votre application peut être à un endroit et votre modèle d'IA à un autre (par exemple, votre site sur Azure en Europe, mais l'IA qui fait le résumé dans un datacenter aux USA). Et bien sûr, toute cette **infrastructure**, il faut l'alimenter en électricité et la refroidir en eau !"},{t:"h2",text:"5. Le hardware"},{t:"p",text:"Bon, votre document était vraiment très long, ça tourne encore, et ça fait même un peu chauffer les puces⦠Oui, le **Hardware** ! Les puces (GPU, CPU, etc.) sur lesquelles tout repose : votre document, les modèles d'IA, votre application⦠Les Cloud Providers ont dû les acheter."},{t:"p",text:"Aujourd'hui, ce marché est dominé par un acteur majeur : **NVIDIA**. Mais NVIDIA ne fabrique pas directement ses puces : il les conçoit (*design*). Ceux qui les produisent sont des fonderies (*foundries*) comme **TSMC** (située principalement à Taïwan). Et le truc le plus fou, c'est que les machines ultra-complexes utilisées par ces fonderies pour graver vos puces sont construites par une seule entreprise aux Pays-Bas : **ASML** ! Sans oublier qu'il faut de la matière première pour fabriquer tout ce matériel informatique."},{t:"p",text:"Là , la tâche est terminée ! Les morceaux de texte ont été traités une dernière fois par le modèle pour vous sortir vos 5 *bullet points*, et voilà !"},{t:"h2",text:"Une vue plus réaliste"},{t:"p",text:"Comme vous l'avez compris, si on voulait représenter cela de manière plus réaliste que notre découpage initial :"},{t:"image",src:"/images/articles/ia-concretement-schema-imbrique.webp",alt:"Schéma imbriqué : chez un cloud provider, le hardware alimenté en énergie fait tourner deux machines distinctes, chacune orchestrée par du logiciel, l'une exécutant le modèle d'IA et l'autre l'application.",caption:"DEUX MACHINES DISTINCTES, ORCHESTRÃES PAR DU LOGICIEL, CHEZ UN CLOUD PROVIDER"},{t:"p",text:"Ce sont des machines différentes qui font fonctionner votre IA et votre application, le tout orchestré par du logiciel et hébergé chez un Cloud Provider. Et pour chaque niveau, nous avons des enjeux de performance, de confiance, de souveraineté, etc."},{t:"p",text:"Si vous souhaitez comprendre les enjeux autour de tous ces sujets, n'hé
83sitez pas à lire les prochains chapitres ! Et surtout, faites-moi vos retours pour que je puisse améliorer ma plume."},{t:"p",text:"Passez une excellente journée, et n'oubliez pas de vous amuser !"}]},{slug:"application-accessibilite-experience",number:2,title:"L'application : une question d'accessibilité et d'expérience",updated:"2026-08-07",author:"Benjamin",readingMinutes:7,metaDescription:"Pourquoi l'interface décide de la réussite d'un projet IA : latence, transparence, feedback, et la montée de l'interface générée à la volée (GenUI), avec l'exemple du projet GenPage de Netflix.",lede:"Le meilleur modèle du monde ne sert à rien derrière une interface frustrante. Deuxième chapitre : la couche que vos utilisateurs voient vraiment.",body:[{t:"p",text:"Aaah, notre premier vrai chapitre ! Ici, on va commencer par le plus « simple » à appréhender : ce que vous voyez ! L'interface qui vous permet d'interagir avec votre IA."},{t:"p",text:"Cela peut paraître anodin, mais en réalité, c'est **essentiel** à la réussite d'un projet. Bien souvent, la manière dont une interface vous restitue une information et ce que vous ressentez en utilisant le produit déterminent l'adhésion des utilisateurs. Vous pouvez avoir le meilleur modèle d'IA du monde sous le capot, si l'interface est frustrante, personne ne l'utilisera."},{t:"h2",text:"L'application comme véritable différenciateur"},{t:"p",text:"Prenons l'exemple de ChatGPT : un simple champ de texte (un *chat*) capable de converser avec vous, de rédiger ou de générer des images. C'était génial, facile à prendre en main, ultra intuitif !"},{t:"p",text:"Rappelez-vous : avant cela, comment fonctionnaient les chatbots traditionnels ? C'étaient des scénarios préconfigurés rigides qui vous amenaient 9 fois sur 10 dans une impasse frustrante (*« Je n'ai pas compris votre demande, voulez-vous parler à un conseiller ? »*)."},{t:"p",text:"Mais attention : le chat n'est pas la seule (ni toujours la meilleure) interface !"},{t:"p",text:"Regardons le monde des développeurs. Pourquoi des outils comme **Cursor** ou **GitHub Copilot** ont-ils explosé face à un simple ChatGPT ? Parce qu'ils n'obligent pas le développeur à faire du copier-coller permanent entre son navigateur et son éditeur de code. L'IA est intégrée *directement* là où il travaille, au cÅur de son code."},{t:"p",text:"De la même manière, dans la vie de tous les jours : préférez-vous poser 15 questions à un chatbot pour réserver un billet de train, ou cliquer sur 3 boutons dans un formulaire bien pensé ? La réponse est évidente. **L'IA doit simplifier la vie, pas ajouter des étapes de discussion inutiles.**"},{t:"h2",text:"Toujours partir de l'expérience que l'on souhaite donner"},{t:"p",text:"C'est une évidence quand on fait du Produit (du *Product Management*), mais avant de se poser la question de *comment* faire quelque chose (quel modèle choisir, quelle infrastructure monterâ¦), on doit se poser la question clé :"},{t:"callout",label:"LA QUESTION à SE POSER EN PREMIER",text:"Quelle est l'expérience que l'on souhaite fournir à nos utilisateurs ?"},{t:"p",text:"Cela paraît tout bête, mais dans 80 % des projets IA aujourd'hui, on fait l'inverse : on achète de l'IA, et on cherche ensuite où la caser."},{t:"h2",text:"Les règles d'or d'une bonne UX d'IA"},{t:"p",text:"Puisque l'IA n'est pas un logiciel comme les autres (elle hésite, elle met du temps à répondre, elle peut se tromper), l'application doit gérer des contraintes particulières :"},{t:"list",ordered:!0,items:["**La gestion du temps (la latence).** Un modèle d'IA prend plusieurs secondes à réfléchir. L'interface doit montrer que l'IA travaille. C'est pour cela que vous voyez le texte s'afficher mot par mot (le *streaming*, ou effet machine à écrire) : cela donne une sensation d'instantanéité et occupe l'attention de l'utilisateur.","**La transparence et le droit à l'erreur.** L'IA peut halluciner. L'application doit donc faciliter la vérification : afficher les sources, proposer un bouton « Régénérer » ou « Modifier l'invite ».","**Le feedback utilisateur.** Les pet
83its pouces vers le haut ou vers le bas ð ð ne sont pas là pour faire joli ! Ils permettent à la couche applicative de collecter des données sur la qualité des réponses, pour améliorer l'expérience future."]},{t:"h2",text:"La grande tendance : l'interface générée à la volée (GenUI)"},{t:"p",text:"Jusqu'à présent, on avait deux mondes très étanches :"},{t:"list",ordered:!0,items:["**Les applications classiques (GUI).** Des écrans figés conçus par des designers. On clique sur des boutons, des menus, des cartes. C'est rapide, mais c'est rigide.","**Le chatbot (NLI).** Une page blanche avec un champ de texte. C'est flexible à l'infini, mais lire des blocs de texte de 500 mots, c'est pénible et pas toujours efficace."]},{t:"p",text:"Alors, pourquoi choisir ? C'est là qu'arrive la grande révolution actuelle du design d'application : **l'interface générée à la volée** (ou *Generative UI*)."},{t:"h3",text:"Concrètement, c'est quoi ?"},{t:"p",text:"Au lieu de vous répondre uniquement avec du texte brut ou du Markdown, **l'IA génère l'interface graphique dont vous avez besoin, au moment précis où vous en avez besoin.**"},{t:"list",items:["**Vous demandez à l'IA d'organiser votre voyage ?** Plutôt que de vous lister 10 hôtels en texte, l'interface fait apparaître une **carte interactive** avec un curseur (*slider*) pour filtrer votre budget, et des boutons pour valider votre choix.","**Vous lui demandez de comparer deux devis ?** Elle ne vous pond pas un roman : elle génère à la volée un **tableau comparatif dynamique** où vous pouvez cocher des options ou modifier des valeurs en direct.","**Vous voulez analyser vos données de vente ?** L'application construit sur mesure un **tableau de bord avec des graphiques interactifs**, créés uniquement pour répondre à votre question."]},{t:"h3",text:"L'exemple XXL : Netflix et le projet GenPage"},{t:"p",text:"Si vous pensez que la Generative UI est réservée aux démos d'ingénieurs sur Twitter, détrompez-vous : les géants s'y mettent déjà ."},{t:"p",text:"Dans un article technique passionnant, Netflix a dévoilé comment ils testent la génération d'interfaces par IA. Le principe ? Votre historique de visionnage et le moment de la journée sont transmis comme un *prompt* à un modèle d'IA générative. Au lieu de piocher dans des menus rigides, le modèle **dessine littéralement la page d'accueil de votre application en temps réel**. Il adapte la disposition des blocs, le type d'informations affichées, et même l'agencement visuel spécialement pour vous."},{t:"link",href:"https://netflixtechblog.com/genpage-towards-end-to-end-generative-homepage-construction-at-netflix-77146fba8a08",label:"GenPage : la page dâaccueil générative de Netflix",note:"Netflix Tech Blog, en anglais"},{t:"p",text:"Demain, vous et votre voisin n'aurez pas seulement des recommandations différentes sur Netflix : **vous n'aurez pas la même application.**"},{t:"h3",text:"Pourquoi c'est le futur de l'application IA ?"},{t:"p",text:"Parce que cela résout le plus grand problème d'ergonomie de l'IA : **la friction de la saisie.**"},{t:"p",text:"Taper un *prompt* textuel de 3 lignes pour corriger un détail, c'est pénible. Pouvoir glisser un bouton, cliquer sur un choix ou déplacer une barre sur une interface créée à la volée par l'IA, c'est fluide."},{t:"p",text:"Dans cette approche, l'application n'est plus un moule figé codé une fois pour toutes : **c'est un caméléon qui dessine les composants graphiques en fonction de l'intention de l'utilisateur.** Et ça, pour l'expérience utilisateur, c'est un véritable bond en avant."},{t:"h2",text:"En résumé"},{t:"p",text:"L'application, c'est le pont entre la magie complexe des modèles d'IA et la réalité du quotidien de vos utilisateurs."},{t:"callout",label:"AVANT DE VOUS RUINER EN SERVEURS",text:"Comment cette technologie va-t-elle s'insérer le plus naturellement possible dans le quotidien de celui qui l'utilise ?"},{t:"p",text:"Maintenant que nous avons vu la partie émergée de l'iceberg (l'interface), voyons ce qui se passe juste en dessous quand vous appuyez sur « Entrée »⦠Rendez-vous au chapitre sur la couche logicielle et l'orchestration !"}]},{slug:"le-modele-un-simple-algorithme",number:3,title:"Le modèle : un simple algorithme",updated:"2026-08-08",author:"Benjamin",readingMinutes:18,metaDescription:"IA symbolique, machine learning, deep learning, LLM : quelles familles de modèles pour quels usages, et pourquoi la boîte noire pose problème. Avec les cas Amazon, Husky vs Loup et Bercy.",lede:"Derrière le mot « intelligence artificielle » se cachent des familles d'algorithmes très différentes. Comprendre laquelle fait quoi, c'est éviter de choisir la mauvaise, et de récolter ses biais.",body:[{t:"p",text:"Oui, le terme peut sembler compliqué à première vue. Algorithme. Mais en réalité, un algorithme, ça peut être juste ça :"},{t:"callout",label:"UN ALGORITHME",text:"**Départ :** Nombre = 0 · **Ãtape 1 :** ajouter 1 au Nombre · **Ãtape 2 :** répéter l'étape 1 jusqu'à ce que le Nombre soit à 10."},{t:"p",text:"C'est la différence avec 0 + 10 : là , vous vous êtes naturellement imaginé, même pendant une fraction de seconde, une accumulation de 1 additionné
83s l'un après l'autre."},{t:"p",text:"L'IA est constituée d'un ou plusieurs algorithmes pour atteindre son objectif. Cela peut être vous trouver le plus court chemin pour aller au restaurant (votre GPS), vous générer un compte-rendu, produire une vidéo, faire des simulations dans la recherche⦠En gros, **une IA, ce n'est qu'un système de calcul si complexe que vous y voyez de l'intelligence**, et parfois vous la personnifiez."},{t:"p",text:"Mais en réalité, ChatGPT n'a pas conscience que c'est une IA, ni de ce qu'est le réel, ni de ce qu'est du texte."},{t:"diagram",name:"modelFamily"},{t:"p",text:"Bref, revenons à nos moutons, enfin, à nos IA. Qui dit différentes sortes d'IA dit « il y a des IA meilleures que d'autres dans certains domaines ». Par exemple, si vous voulez un système totalement explicable, peu gourmand en calcul et déterministe (qui ne change pas d'avis quand vous lui demandez deux fois la même chose) pour votre application GPS, ce n'est pas un LLM que vous allez prendre, mais plutôt un algorithme de résolution de graphes, de l'IA symbolique, comme vos systèmes experts."},{t:"h2",text:"L'IA symbolique"},{t:"p",text:"Ah, la *Good Old-Fashioned AI* (un terme inventé en 1985, c'était déjà plus très cool ^^) ! Et pourtant, elle est bien plus présente dans votre quotidien que vous ne le croyez."},{t:"p",text:"Bon, je vais être un peu biaisé sur cette partie : j'ai travaillé 7 ans chez [Golem.ai](https://golem.ai) (maintenant Miralia), dont l'origine était mon projet de fin d'études. La boîte fait de l'analyse de texte via un algorithme symbolique, ce qui permet notamment de classifier des messages."},{t:"p",text:"L'**IA symbolique** (ou IA classique) repose sur l'idée que l'intelligence humaine s'explique par la manipulation explicite de symboles, de concepts et de règles logiques."},{t:"p",text:"Contrairement au machine learning, qui repose sur un entraînement statistique à partir de données, l'IA symbolique s'appuie sur des connaissances directement modélisées par des experts humains, sous forme de faits, d'ontologies et de règles (*« Si⦠Alors⦠»*). Son fonctionnement est donc **déterministe et transparent** : face à un problème, un système symbolique utilise un moteur d'inférence ou un algorithme d'exploration pour déduire logiquement la solution en combinant les règles données."},{t:"p",text:"Le principal avantage de cette approche est son **explicabilité totale** : on peut retracer exactement chaque étape du raisonnement qui a mené à une conclusion, sans effet « boîte noire ». Extrêmement pratique quand on a un besoin d'auditabilité."},{t:"p",text:"Elle excelle dans les domaines exigeant une rigueur absolue. Le calcul d'itinéraires (théorie des graphes) en est un très bon exemple : vos personnages de jeux vidéo qui vont d'un point A à un point B sans se perdre sont généralement pilotés par un algorithme symbolique nommé **A**\\*, qu'on peut résumer par « explore le trajet dans à peu près la bonne direction pour trouver le meilleur chemin »."},{t:"image",src:"/images/articles/le-modele-astar.gif",alt:"Animation de l'algorithme A* explorant une grille pour contourner un obstacle et relier le point de départ à l'arrivée",caption:"A* EXPLORE DANS LA BONNE DIRECTION, PUIS CONTOURNE LâOBSTACLE",height:"420px",pixelated:!0,credit:{author:"Subh83, Wikimedia Commons",license:"CC BY 3.0",href:"https://creativecommons.org/licenses/by/3.0/"}},{t:"p",text:"En contrepartie, cette famille d'IA est très rigide : elle peine à traiter la nuance, le bruit dans les données ou l'imprévu, et devient extrêmement complexe à maintenir à mesure que la base de règles grandit."},{t:"callout",label:"UN POINT SOUVENT OUBLIÃ",text:"Les IA symboliques sont **très peu énergivores** : on parle d'ordres de grandeur de Ã1000 ou bien plus, et forcément, elles sont bien plus rapides."},{t:"p",text:"C'est pour cela qu'il y a pas mal de discussions autour de la possibilité de combiner l'agilité des algorithmes génératifs avec les algorithmes symboliques. D'ailleurs, les développeurs en ont un exemple fonctionnel récurrent sans s'en rendre compte : quand votre Claude Code (ou un concurrent) génère un script Python qu'il exécute pour transformer de la donnée, d'un Excel vers une base de données, par exemple, c'est un peu l'idée. Il ne réécrit pas avec des *tokens* une immense requête contenant toutes les modifications : il écrit un petit script qui fait la tâche."},{t:"h2",text:"Le machine learning"},{t:"p",text:"Le **machine learning** (ou *apprentissage automatique*) est l'approche inverse de l'IA symbolique : au lieu de programmer explicitement des règles de décision (*« Si⦠Alors⦠»*), on donne à un ordinateur de grandes quantités de **données** et un **objectif**, puis on le laisse découvrir seul les motifs et les règles sous-jacentes. Plutôt que d'être dicté par un humain, le comportement du programme est **déduit à partir des exemples qu'il a analysés**."},{t:"p",text:"Son fonctionnement repose sur la **statistique** et le réglage progressif de paramètres internes (notamment les « poids », dans le cas des réseaux de neurones). Lors de la phase d'entraînement, le modèle fait des prédictions, mesure son erreur par rapport à la réalité, puis s'ajuste pour réduire cette erreur. Plus on lui fournit de données représentatives, plus ses prédictions deviennent précises."},{t:"diagram",name:"mlTypes"},{t:"list",items:["**L'apprentissage supervisé.** On donne des données avec leurs réponses (*étiquettes*). Exemple : 100 000 photos de chats et de chiens avec le label «
83chat » ou « chien ». Le modèle apprend à distinguer les deux.","**L'apprentissage non supervisé.** On donne des données brutes sans étiquettes, et le modèle cherche des structures cachées. Exemple : regrouper des clients en segments selon leurs habitudes d'achat, sans prédéfinir les catégories.","**L'apprentissage par renforcement.** Un agent interagit avec un environnement et reçoit des récompenses ou des pénalités. Exemple : une IA qui apprend à jouer aux échecs ou à faire voler un drone en essayant des actions et en apprenant de ses erreurs."]},{t:"h2",text:"Le deep learning"},{t:"p",text:"Sans trop rentrer dans les détails techniques, le **deep learning** est une sous-branche du machine learning basée sur des réseaux de neurones profonds (des empilements de couches de calcul)."},{t:"p",text:"La grande différence ? Contrairement au machine learning classique, le deep learning est capable d'analyser directement des données très brutes (des images, du son ou du texte) et de comprendre tout seul quels détails sont importants pour prendre une décision, sans qu'un humain ait besoin de lui mâcher le travail."},{t:"callout",label:"à RETENIR",text:"Dans le langage courant, les gens mélangent très souvent les deux termes."},{t:"h2",text:"Génial pour corréler⦠beaucoup moins pour expliquer"},{t:"p",text:"Concrètement, le machine learning est génial pour trouver des corrélations dans des données complexes, et pour gérer des cas où l'on n'a pas réellement de règles définies. Prenons un exemple."},{t:"dialog",turns:[{who:"vous",text:"Pouvez-vous me décrire une abeille ? Je n'en ai jamais vu, j'aimerais apprendre à bien les reconnaître."},{who:"ia",text:"Facile : c'est un insecte jaune et marron rayé, avec deux yeux noirs, des ailes et six pattes."},{who:"vous",text:"Ok⦠Donc ça, ce n'est pas une abeille ?"}]},{t:"image",src:"/images/articles/le-modele-abeille.jpg",alt:"Macro sur la tête d'une abeille butinant une fleur : on distingue les yeux, mais ni les ailes ni les pattes",caption:"ALORS, ABEILLE OU PAS ?",maxHeight:"520px"},{t:"dialog",turns:[{who:"ia",text:"Je vois deux yeux noirs, globalement il y a du marron, mais je ne vois ni ailes ni pattes. Peut-être une chenille ?"}]},{t:"p",text:"Et voilà : vous comprenez pourquoi l'approche statistique, avec un grand nombre d'exemples, est nécessaire."},{t:"p",text:"Théoriquement, cela devient plus performant avec une plus grande quantité de données, même si en réalité, bien d'autres facteurs entrent en jeu, à commencer par la qualité de l'information fournie. Le problème, c'est que le machine learning a de gros défauts. Outre le coût en calcul et en énergie : sa dépendance aux données de départ, et le fait qu'il soit humainement impossible de comprendre au détail près comment le modèle prend une décision. On ne peut qu'en faire une interprétation."},{t:"p",text:"Reprenons l'analyse d'images avec cet exemple publié en 2016 par le chercheur Marco Tulio Ribeiro et son équipe pour présenter **LIME** (*Local Interpretable Model-agnostic Explanations*), un outil conçu pour ouvrir les « boîtes noires »."},{t:"h3",text:"L'expérience « Husky vs Loup »"},{t:"image",src:"/images/articles/le-modele-husky.jpg",alt:"Portrait de husky à lâair renfrogné",caption:"LE HUSKY INJUSTEMENT CLASSà COMME UN LOUP",maxHeight:"340px"},{t:"p",text:"Les chercheurs ont entraîné un modèle de classification d'images pour distinguer les huskies des loups."},{t:"list",items:["**Les résultats sur le papier.** Le modèle affichait une excellente précision (autour de 90 %). Sur la plupart des images de test, il ne se trompait jamais.","**L'erreur suspecte.** Le modèle a classé un husky innocent comme étant un loup."]},{t:"p",text:"En utilisant LIME pour afficher la zone exacte de l'image sur laquelle le modèle concentrait ses calculs (les pixels décisifs), les chercheurs ont découvert que le modèle n'analysait **ni les oreilles, ni la couleur du pelage, ni la forme des yeux** de l'animal. Il regardait uniquement l'arrière-plan :"}
83,{t:"list",items:["**Présence de neige** â loup","**Pas de neige** (herbe, terre, intérieur) â husky"]},{t:"p",text:"Parce que dans le jeu de données d'entraînement, toutes les photos de loups avaient été prises en hiver dans la neige, alors que les photos de huskies étaient prises dans des jardins ou sur du gazon !"},{t:"link",href:"https://arxiv.org/pdf/1602.04938",label:"« Why Should I Trust You? », lâarticle de recherche sur LIME",note:"arXiv, 2016, en anglais"},{t:"p",text:"D'accord, cette problématique ne semble pas si grave, d'autant qu'avec LIME, on a pu « expliquer » le problème. Mais en réalité, la solution proposée ici est très limitée."},{t:"h2",text:"Quand l'enjeu devient déterminant : le cas Amazon"},{t:"p",text:"Que se passe-t-il quand on aborde un sujet plus déterminant ? Quand le problème vient des données initiales et qu'on ne se pose pas les bonnes questions ?"},{t:"p",text:"L'objectif initial d'Amazon était le rêve de tout service RH : créer un algorithme capable de lire 100 CV et de sortir automatiquement les 5 meilleurs profils, avec une note de 1 à 5 étoiles."},{t:"h3",text:"1. La cause : un jeu de données biaisé dès le départ"},{t:"p",text:"Pour entraîner ce modèle, les ingénieurs d'Amazon lui ont fourni les CV soumis à l'entreprise sur une période de 10 ans, accompagnés des décisions d'embauche de l'époque."},{t:"callout",label:"LE PROBLÃME",text:"L'industrie de la tech étant historiquement très masculine, la grande majorité des CV retenus sur ces 10 années appartenaient à des hommes."},{t:"p",text:"Le modèle a fait exactement ce pour quoi le machine learning est conçu : **trouver des corrélations statistiques récurrentes** dans les succès passés pour prédire les succès futurs."},{t:"h3",text:"2. L'effet boîte noire et la dérive misogyne"},{t:"p",text:"Plutôt que d'évaluer les compétences réelles (code, diplômes, projets), l'algorithme a appris tout seul à utiliser le **genre** comme critère de prédiction le plus fort. Concrètement :"},{t:"list",items:["**Pénalisation directe.** L'outil retirait des points si le mot *« women's »* apparaissait dans le CV, par exemple « capitaine de l'équipe féminine d'échecs » ou « présidente du club des femmes ingénieures ».","**Dégradation de diplômes.** L'algorithme a baissé la note des candidates issues de deux universités privées non mixtes réservées aux femmes.","**Vocabulaire favorisé.** L'outil a privilégié des verbes d'action statistiquement plus présents dans les CV masculins, comme *executed* ou *captured*."]},{t:"h3",text:"3. Pourquoi la correction a échoué"},{t:"p",text:"Quand les ingénieurs ont réalisé la dérive, ils ont tenté de corriger le problème. Mais avec du machine learning complexe, **interdire un mot ne suffit pas** : ils ont interdit à l'algorithme de lire le mot *« women's »*, et le modèle a immédiatement trouvé des **variables de substitution** (*proxy variables*). Il détectait le genre à travers d'autres indices indirects : les activités extra-scolaires, les tournures de phrases, le choix de certains mots."},{t:"callout",label:"LA RÃGLE à RETENIR",text:"En machine learning, si un biais est profondément inscrit dans les données, l'algorithme trouvera toujours une voie détournée pour continuer de l'utiliser, si cela améliore sa prédiction théorique."},{t:"p",text:"En 2017, constatant qu'ils n'arrivaient ni à garantir la neutralité de l'outil, ni à comprendre l'intégralité des micro-décisions internes du modèle, **Amazon a définitivement abandonné et dissous le projet**."},{t:"link",href:"https://www.reuters.com/article/us-amazon-com-jobs-automation-insight-idUSKCN1MK08G/",label:"L'enquête Reuters sur l'outil de recrutement d'Amazon",note:"Reuters, 2018, en anglais"},{t:"p",text:"Mais ne vous ai-je pas dit que les LLM appartenaient à cette même famille ? Et devinez quoi : les CV sont de plus en plus analysés par de l'IA. Alors que font les candidats ? Ils adaptent leur CV pour que l'IA devienne clémente avec eux."},{t:"p",text:"Vous comprenez alors qu'il est important d'anticiper les problèmes potentiels d'un algorithme qui ne peut pas s'expliquer, et surtout de bien maîtriser les données d'entraînement pour éviter des biais néfastes. Ou alorsâ¦"},{t:"h2",text:"Les LLM"},{t:"callout",label:"EN RÃSUMÃ",text:"Un **LLM** (*Large Language Model*) est un réseau de neurones profond dont le travail consiste à **prédire le mot suivant le plus probable** en fonction de ce qui a été dit auparavant. On est passé d'un super outil de traduction à votre autocomplétion de smartphone⦠mais sous stéroïdes, et entraînée sur tout le web."},{t:"h3",text:"1. La révolution du Transformer (2017)"},{t:"p",text:"Pendant longtemps, pour traiter du texte, les IA lisaient les mots **un par un, de gauche à droite**. Problème : arr
83ivées à la fin d'un long paragraphe, elles avaient déjà « oublié » le début."},{t:"p",text:"En 2017, des chercheurs de Google ont inventé une nouvelle architecture de réseau de neurones qui a tout changé : le **Transformer**. Son arme secrète ? Le mécanisme d'**attention** (*self-attention*). Grâce à lui, l'IA ne lit plus mot à mot : elle regarde toute la phrase d'un coup et comprend le contexte global."},{t:"p",text:"*Exemple :* dans « L'avocat a mangé un avocat », l'IA comprend instantanément que le premier est un juriste et le second un fruit, grâce aux mots autour."},{t:"p",text:"à l'origine, cette IA fonctionnait avec **deux blocs de construction**, car elle était pensée pour la traduction. L'**encodeur** (la « compréhension ») lisait toute la phrase d'un coup pour en saisir le sens profond ; le **décodeur** (la « génération ») prenait ce sens et écrivait la traduction mot à mot."},{t:"diagram",name:"encoderDecoder"},{t:"h3",text:"2. Le virage décisif : pourquoi on a jeté l'encodeur"},{t:"p",text:"En voulant créer des IA capables de tout faire (discuter, coder, résumer, raisonner), les chercheurs ont réalisé un truc génial : **on n'a plus besoin de l'encodeur.** Aujourd'hui, les modèles comme ChatGPT, Llama ou Mistral sont des architectures **décodeur seul** (*decoder-only*)."},{t:"list",ordered:!0,items:["**Continuer du texte, c'est déjà avoir compris.** Pour un décodeur, tout est une histoire à compléter. Si vous lui donnez une question, la suite logique est la réponse. Si vous lui donnez un texte en français, la suite logique peut être sa traduction. On n'a plus besoin de séparer la « compréhension » et la « création ».","**La simplicité avant tout.** En ne gardant qu'un seul bloc, il est devenu beaucoup plus simple d'entraîner des modèles géants sur des milliers de milliards de données."]},{t:"h3",text:"Comment ça marche en pratique ? Le masque causal"},{t:"p",text:"C'est ici que réside la vraie finesse technique. Puisqu'il n'y a plus d'encodeur pour lire tout le texte à l'avance, le décodeur utilise ce qu'on appelle un **masque causal**. C'est une règle mathématique stricte : **l'IA avance à l'aveugle vers le futur. Elle n'a le droit de regarder QUE les mots passés pour deviner le mot suivant.**"},{t:"p",text:"Si le modèle doit écrire *« Le chat dort sur le canapé »* :"},{t:"list",ordered:!0,items:["Il voit [début] â il prédit **« Le »**","Il voit *Le* â il prédit **« chat »**","Il voit *Le chat* â il prédit **« dort »**","Il voit *Le chat dort* â il prédit **« sur »**â¦"]},{t:"p",text:"Chaque mot produit est immédiatement réinjecté dans son champ de vision pour prédire le suivant. C'est ce qu'on appelle le fonctionnement **autorégressif**."},{t:"h3",text:"Et pour l'image, la vidéo ou la musique ? C'est pareil !"},{t:"p",text:"On a beaucoup parlé du texte, mais qu'en est-il des IA génératives d'images (Midjourney, DALL·E) ou de musique (Suno, Udio) ? **à un détail près, la logique sous-jacente reste exactement la même.** Pour un ordinateur, tout est mathématique : un texte est une suite de mots, une image une grille de pixels, un morceau de musique une suite de fréquences audio."},{t:"list",ordered:!0,items:["**Pour la musique.** L'IA applique exactement la même recette que pour le texte. Au lieu de prédire le *mot* suivant dans une phrase, elle apprend à prédire la *note* ou le *bout de son* suivant le plus logique.","**Pour l'image (les modèles de diffusion).** L'IA apprend d'abord à détruire une image en y ajoutant du « bruit » (comme de la neige sur un vieil écran TV). Ensuite, son réseau de neurones apprend à faire le chemin inverse : **retirer le bruit étape par étape** pour faire apparaître une image nette à partir du chaos, en se guidant sur votre texte (*prompt*)."]},{t:"callout",label:"LE MOT DE LA FIN",text:"Qu'il s'agisse d'écrire un poème, de composer une symphonie ou de dessiner un dragon, **toute l'IA générative actuelle repose sur du deep learning** capable de repérer des motifs complexes dans des données, pour ensuite recréer le motif suivant de manière probabiliste."},{t:"h2",text:"Quand la mémoire est influencée"},{t:"p",text:"Bon, c'était théorique mais intéressant. Maintenant, parlons de choses moins drôles. Rappelez-vous le constat : **un LLM ne réfléchit pas et ne cherche pas la « vérité »**. Il reflète simplement les statistiques des textes sur lesquels il a été entraîné⦠avec toutes leurs qualités, mais aussi leurs préjugés et leurs orientations idéologiques."},{t:"p",text:"C'est pour cela que Yann LeCun, notamment, insiste sur le fait que les LLM ne sont que des sortes de grosses mémoires. Mais que se passe-t-il quand cette mémoire est⦠influencée ?"},{t:"p",text:"En juin 2026, la **Direction générale du Trésor** (à Bercy) testait un outil interne baptisé *HéphAIstos* pour aider une centaine de hauts fonctionnaires dans leurs tâches administratives et d'analyse économique. Le modèle choisi sous le capot était **Qwen**, un LLM très performant développé par le géant chinois **Alibaba**."},{t:"list",ordered:!0,items:["**Des réponses orientées.** Lors des tests, plusieurs agents ont signalé que l'IA donnait des réponses biaisées ou alignées sur la doctrine politique de Pékin dès qu'ils posaient des questions touchant à la Chine, aux enjeux commerciaux internationaux ou à la géopolitique.","**Arrêt immédiat.** Après seulement trois semaines d'expérimentation, le Trésor a stoppé net l'utilisation de Qwen.","**Bascule souveraine.** Le lendemain même, l'administration l'a remplacé par un modèle développé par la start-up française **
83Mistral AI**."]},{t:"link",href:"https://www.clubic.com/actualite-618721-ia-chinoise-bercy-stoppe-un-test-apres-des-reponses-jugees-biaisees.html",label:"Bercy stoppe un test après des réponses jugées biaisées",note:"Clubic"},{t:"callout",label:"LA LEÃON DE CET ÃPISODE",text:"Même si le modèle tournait en local (déconnecté d'Internet et sans fuite de données vers l'étranger), **ses « filtres culturels » étaient gravés dans ses neurones lors de son entraînement en Chine**. Un gouvernement ne peut pas s'appuyer sur une IA étrangère pour orienter ses décisions économiques ou politiques sans risquer un biais d'influence."},{t:"p",text:"Maintenant, nous avons des élections qui se rapprochent, et nous savons que des Français demanderont leur avis aux IA. Qu'est-ce que cela représente pour la démocratie ?"},{t:"h3",text:"Les hallucinations"},{t:"p",text:"Puisque le LLM ne fait que calculer le mot *suivant le plus probable*, il ne sait pas s'il dit la vérité. Si une information lui manque, il va inventer des faits, des lois ou des citations historiques avec une assurance parfaite."},{t:"h3",text:"Le vol de données et le droit d'auteur"},{t:"p",text:"Pour entraîner ces modèles, les entreprises ont aspiré des milliards de pages web sans demander l'avis des auteurs, des artistes ou des médias. Cela pose un problème éthique et juridique majeur sur la propriété intellectuelle."},{t:"h2",text:"Open Weight nâest pas Open Source"},{t:"p",text:"Aujourd'hui, des entreprises comme Meta (avec *Llama*) ou des pépites françaises comme *Mistral AI* mettent leurs modèles à disposition « gratuitement » pour tout le monde. On dit souvent dans les médias qu'ils sont **Open Source**. Sauf que c'est faux ! En réalité, ils sont **Open Weight** (à « poids ouverts »). Et la nuance change absolument tout sur le plan éthique et juridique."},{t:"p",text:"Dans un réseau de neurones, les **poids** (*weights*) sont les milliards de chiffres ajustés pendant l'entraînement. Ce sont les réglages mathématiques finaux du modèle."},{t:"list",items:["**Ce qu'on vous donne en Open Weight :** la « boîte noire » terminée. Vous pouvez la télécharger, l'installer sur votre serveur et la faire tourner gratuitement.","**Ce qu'on vous cache :** la recette de cuisine, c'est-à -dire la base de données exacte utilisée pour l'entraîner (les fichiers bruts aspirés du web), et le code précis de l'algorithme d'entraînement."]},{t:"h3",text:"Pourquoi les géants gardent-ils les données secrètes ?"},{t:"list",ordered:!0,items:["**Le risque juridique (droits d'auteur).** Pour entraîner ces modèles géants, des pétaoctets de livres payants, d'articles de presse, d'images et de code ont été aspirés sans autorisation. Rendre le jeu de données public, ce serait donner aux ayants droit les preuves matérielles pour les attaquer en justice.","**Le secret industriel.** La vraie valeur d'un LLM aujourd'hui ne réside pas seulement dans l'architecture du réseau de neurones, mais dans le **nettoyage et le tri des données**. Révéler le jeu de données, c'est offrir son travail d'orfèvre à ses concurrents.","**Le risque de sécurité.** Un modèle 100 % ouvert permettrait à n'importe qui de voir exactement comment lever les barrières de sécurité, par exemple comment l'empêcher d'expliquer la fabrication d'une arme ou de générer des contenus malveillants."]},{t:"p",text:"Il existe néanmoins des cas de véritable open source. Pour le projet **Nemotron** (avec les familles *Nemotron-3* ou *Nemotron-CC*), NVIDIA ne s'est pas contenté de partager le modèle final à télécharger. Ils ont ouvert les trois piliers :"},{t:"list",ordered:!0,items:["**Les poids du modèle** (*model weights*) : le cerveau de l'IA terminé et prêt à l'emploi.","**Le code et les recettes d'entraînement** (*training recipes*) : les algorithmes, les configurations et le code source qui permettent de réentraîner ou de modifier le modèle exactement de la même façon qu'eux.","**Les jeux de données** (*open datasets*) : NVIDIA a publié sur Hugging Face des trillions de *tokens* d'entraînement, comprenant des textes bruts, du code et des données de filtrage de sécurité."]},{t:"h3",text:"Alors pourquoi ouvrir, si ce nâest pas tout ouvrir ?"},{t:"p",text:"C'est en réalité assez simple, et cela reste mon interprétation. Dans le cas des GAFAM, l'objectif est généralement de rattraper ses concurrents et d'imposer son standard sur des marchés particuliers. C'est pour cela que même OpenAI (avec un succès très discutable, mais je pense que c'était fait exprès) avait sorti son modèle Open Weight *gpt-oss*. Mais c'est aussi, à l'échelle des nations, un moyen d'asphyxier le marché : comprenez que la Chine, arrivée après les modèles américains, a tout à gagner à ce que les gens utilisent des modèles chinois plutôt que de payer des entreprises américaines."},{t:"p",text:"Et pour l'open source ? Nemotron, c'est NVIDIA⦠qui n'est pas un éditeur de logiciel cherchant à vous vendre un abonnement à ChatGPT. Son business, c'est de vendre des puces graphiques. Plus la communauté a de données et de code pour créer des IA, plus les entreprises achèteront des serveurs NVIDIA pour les faire tourner. En donnant des jeux de données d'entraînement d'une qual
83ité immense (très bien nettoyés) à tout le monde, NVIDIA devient le standard sur lequel toute la recherche mondiale travaille. Et si plus de gens utilisent des modèles⦠cela fait plus de puces vendues ;)"},{t:"link",href:"https://developer.nvidia.com/topics/ai/nemotron",label:"NVIDIA Nemotron, modèles, recettes et jeux de données",note:"developer.nvidia.com, en anglais"},{t:"p",text:"Attention, je ne dis pas cyniquement qu'il n'y a pas de gens qui pensent sincèrement faire de l'open source pour des raisons de transparence et de valeurs. Mais voici mon interprétation de la situation actuelle. Ce qui fait qu'il est embêtant de n'avoir qu'un seul acteur sur le continent européen, mais rassurant, dans un sens, de savoir que ce « combat » nous assure l'émergence presque continue de modèles Open Weight : tant que l'écart entre le premier et le deuxième ne sera pas stratosphérique, les seconds voudront toujours essayer d'asphyxier les premiers ;)"},{t:"h2",text:"Petit bonus : les algorithmes évolutifs"},{t:"p",text:"Les **algorithmes évolutifs** sont la preuve que la nature avait déjà inventé la meilleure méthode d'optimisation bien avant l'arrivée des ordinateurs. Pour comprendre cette IA, il suffit de regarder **les pinsons des îles Galápagos observés par Darwin** : ces oiseaux n'ont jamais « décidé » de changer la forme de leur bec pour mieux casser des graines. La n
83ature a simplement généré des variations au hasard, éliminé sans pitié ceux qui ne pouvaient pas se nourrir, et laissé les survivants transmettre leur bec avantageux à la génération suivante. Un algorithme évolutif fait exactement la même chose, mais à la vitesse de millions de calculs par seconde."},{t:"p",text:"Concrètement, l'algorithme commence par créer une « population » de milliers de solutions complètement absurdes, générées aléatoirement. Il les soumet ensuite à une pression environnementale, une fonction de score qui élimine instantanément les pires candidats. Les rares survivants sont alors « croisés » entre eux, leurs codes sont mélangés, et une pincée de mutations aléatoires est injectée pour explorer de nouvelles pistes. **C'est une IA qui progresse sans comprendre : elle ne cherche pas à analyser les causes d'un problème, elle se contente d'accumuler les petits succès du hasard.**"},{t:"p",text:"Un des exemples les plus frappants de ce « darwinisme numérique » reste la conception de l'antenne satellite **ST5 de la NASA**. Les ingénieurs ont laissé un algorithme évolutif tordre des fils de fer virtuels sur des milliers de générations. Résultat ? L'IA a accouché d'une forme complètement tordue et asymétrique, ressemblant à un trombone déformé qu'aucun humain n'aurait eu l'idée de dessiner, mais dont les performances électromagnétiques ont surpassé tout ce que la logique d'ingénieur classique avait pu produire."},{t:"link",href:"https://en.wikipedia.org/wiki/Evolved_antenna",label:"L'antenne évoluée de la NASA",note:"Wikipédia, en anglais"},{t:"link",href:"https://www.youtube.com/watch?v=MD4hH1ObrYg",label:"Une chaîne YouTube française assez folle sur ce type de projets ð«ð·",note:"YouTube"},{t:"h2",text:"Et en pratique ?"},{t:"p",text:"Super, nous avons vu toute la théorie mais qu'en est-il de la pratique ? Nous rentrerons dans le détail quand nous aurons fait le tour des composants ; je veux juste que l'on ait une base de compréhension avant de continuer."},{t:"p",text:"Mais pour vous donner quelques « billes », sachez que quand vous travaillez avec de l'IA, vous travaillez avec un outil qui ne marche que **X fois sur 100**, à cause de son approche statistique et, généralement, de la nature des données que vous lui fournissez. Pour un ordinateur, « bonjour ça va ? » et « bonjour comment allez-vous ? » sont des données différentes, qui peuvent donner des résultats différents. De la même manière, dites bonjour deux fois à votre ChatGPT : vous verrez que vous n'aurez pas exactement la même réponse."},{t:"p",text:"Pour gérer cette situation, les ingénieurs en IA utilisent des unités de mesure qui déterminent la fiabilité de leur solution. On utilise généralement un score nommé **F1**, ou une de ses déclinaisons. Je ne vous l'explique pas maintenant, mais comprenez que l'on cherche à déterminer le pourcentage de fois où l'IA va se tromper, et la gravité de son erreur."},{t:"callout",label:"LE SEUIL D'ACCEPTATION DÃPEND DU PROJET",text:"Ce n'est pas grave si une IA se trompe dans la génération d'une image qui sera vérifiée par un humain. C'est nettement plus grave quand elle se trompe dans la conduite d'une voiture."}]},{slug:"le-harness-le-modele-nest-que-le-moteur",number:4,title:"Le Harness : le modèle n'est que le moteur",updated:"2026-08-09",author:"Benjamin",readingMinutes:16,metaDescription:"Context engineering, outils, MCP, boucle agentique, multi-agent, A2A, human-in-the-loop, observabilité : la couche logicielle qui transforme un modèle d'IA en produit utilisable.",lede:"Deux applications peuvent utiliser exactement le même modèle et n'avoir ni les mêmes capacités, ni la même fiabilité. Ce qui les sépare, c'est la couche dont on parle le moins : le Harness.",body:[{t:"p",text:"Vous avez probablement déjà entendu quelqu'un dire :"},{t:"quote",text:"Notre produit utilise GPT."},{t:"p",text:"Ou Claude. Ou Mistral. Ou Qwen."},{t:"p",text:"Très bien."},{t:"p",text:"Mais cela ne vous dit finalement pas grand-chose sur ce que fait réellement le produit."},{t:"p",text:"Deux applications peuvent utiliser exactement le même modèle et pourtant avoir des capacités, des performances et même des comportements radicalement différents."},{t:"p",text:"Pourquoi ?"},{t:"p",text:"Parce qu'entre votre application et le modèle se cache une couche dont on parle beaucoup moins : **le Harness**."}
83,{t:"p",text:"Et vous allez voir que c'est probablement l'une des couches les plus importantes de l'IA moderne."},{t:"h2",text:"Revenons à notre document"},{t:"p",text:"Dans le premier article de cette série, nous avions pris un exemple extrêmement simple : vous chargez un gros document et vous demandez :"},{t:"quote",text:"Fais-moi un résumé en 5 points."},{t:"p",text:"Nous avions alors vu qu'avant même que votre document arrive au modèle, du logiciel classique pouvait intervenir :"},{t:"list",items:["extraire le texte du PDF,","découper le document,","rechercher les passages intéressants,","construire le prompt,","envoyer les informations au modèle,","récupérer sa réponse,","éventuellement lui demander de recommencer."]},{t:"p",text:"à l'époque, j'avais simplement appelé cela **la couche logicielle**."},{t:"p",text:"Aujourd'hui, un terme commence à s'imposer pour désigner plus précisément une grande partie de cette mécanique : **le Harness.**"},{t:"h2",text:"Mais c'est quoi, un Harness ?"},{t:"p",text:"Pour vulgariser énormément :"},{t:"quote",text:"Le modèle réfléchit. Le Harness organise son travail."},{t:"p",text:"Imaginez un moteur posé au milieu de votre garage."},{t:"p",text:"Même s'il développe 500 chevaux, vous n'irez pas très loin avec."},{t:"p",text:"Il lui faut :"},{t:"list",items:["un volant,","une boîte de vitesses,","des roues,","des freins,","des capteurs,","un réservoir,","un tableau de bord,","et un conducteur ou un système capable de décider où aller."]},{t:"p",text:"Pour un modèle d'IA, c'est pareil."},{t:"p",text:"Le modèle peut être extrêmement performant, mais il ne connaît pas spontanément vos documents internes, il ne possède pas l'accès à votre CRM, il ne sait pas forcément quand effectuer une recherche sur internet et il ne décide pas magiquement comment découper une tâche complexe en dix étapes."},{t:"p",text:"Tout cela doit être organisé par du logiciel."},{t:"p",text:"C'est le Harness."},{t:"callout",label:"LA FORMULE à RETENIR",text:"AGENT = MODÃLE + HARNESS"},{t:"p",text:"Et cela change beaucoup de choses dans notre manière de regarder l'IA."},{t:"h2",text:"Un modèle seul est finalement assez limité"},{t:"p",text:"Prenons un LLM classique."},{t:"p",text:"Vous lui fournissez du texte. Il vous fournit du texte."},{t:"p",text:"C'est déjà impressionnant, évidemment."},{t:"p",text:"Mais imaginons maintenant que vous lui demandiez :"},{t:"quote",text:"Dis-moi combien nous avons facturé au client Dupont cette année et compare cela avec l'année dernière."},{t:"p",text:"Votre modèle ne possède probablement aucune idée de qui est Dupont."},{t:"p",text:"Il ne connaît pas votre logiciel de facturation."},{t:"p",text:"Il ne possède pas les droits d'accès nécessaires."},{t:"p",text:"Il ne sait pas quelle base de données interroger."},{t:"p",text:"Et surtout, vous ne voulez probablement pas lui donner l'intégralité de vos données comptables à chaque question."},{t:"p",text:"Il va donc falloir lui construire un environnement. Par exemple :"},{t:"list",ordered:!0,items:["comprendre que la question concerne la facturation ;","identifier le client dans votre CRM ;","appeler votre outil comptable ;","récupérer uniquement les données nécessaires ;","éventuellement effectuer un calcul ;","transmettre les résultats au modèle ;","vérifier que la réponse respecte le format attendu ;","afficher le résultat à l'utilisateur."]},{t:"p",text:"Le modèle n'a réalisé qu'une partie du travail."},{t:"p",text:"Tout le reste appartient au Harness."},{t:"diagram",name:"modelVsHarness"},{t:"h2",text:"Première fonction : donner le bon contexte"},{t:"p",text:"Vous avez peut-être entendu énormément parler de **Prompt Engineering** ces dernières années. Comment écrire le meilleur prompt ?"},{t:"list",items:["« Tu es expert-comptable depuis 25 ans⦠»","« Réponds étape par étape⦠»","« Si tu ne connais pas la réponse, dis-le⦠»"]},{t:"p",text:"C'est utile."},{t:"p",text:"Mais nous commençons à passer d'une logique de *Prompt Engineering* à une logique beaucoup plus large de **Context Engineering**."},{t:"p",text:"La question devient moins :"},{t:"quote",text:"Comment dois-je formuler ma phrase ?"},{t:"p",text:"et davantage :"},{t:"quote",text:"De quelles informations le modèle a-t-il réellement besoin pour accomplir cette tâche ?"},{t:"p",text:"Parce que remplir sa fenêtre de contexte avec 300 pages inutiles est rarement une bonne idée."},{t:"p",text:"Le Harness va donc pouvoir sélectionner les éléments intéressants :"},{t:"list",items:["les instructions de l'entreprise ;","l'historique pertinent de la conversation ;","certains documents ;","les résultats d'une recherche ;","les réponses d'un outil ;","le travail effectué lors des étapes précédentes."]},{t:"p",text:"Et ne transmettre au modèle que ce dont il a besoin à cet instant précis."},{t:"diagram",name:"contextSelection"},{t:"p",text:"C'est ici que l'on retrouve notamment notre fameux **RAG**, dont nous avions déjà parlé. Au lieu de donner toute votre documentation au modèle : **question â recherche des passages intéressants â modèle â réponse**."},{t:"p",text:"Le Harness orchestre la recherche."},{t:"p",text:"Le modèle, lui, analyse les informations qu'on lui apporte."},{t:"h2",text:"Deuxième fonction : donner des outils à l'IA"},{t:"p",text:"C'est ici que les choses deviennent beaucoup plus intéressantes."},{t:"p",text:"Un LLM peut désormais décider :"},{t:"quote",text:"Pour répondre à cette question, j'ai besoin d'utiliser cet outil."},{t:"p",text:"Cela peut être :"},{t:"list",items:["effectuer une recherche sur internet ;","interroger une base de données ;","lire un document ;","envoyer un e-mail ;","consulter un calendrier ;","exécuter du code ;","appeler votre CRM ;","lancer un autre logiciel interne."]},{t:"p",text:"Vous commencez alors à obtenir ce que l'on appelle communément un **agent**."},{t:"p",text:"Prenons un exemple très simple. Vous dites :"},{t:"quote",text:"Organise-moi un rendez-vous avec Paul la semaine prochaine."},{t:"p",text:"Le modèle peut comprendre votre intention."},{t:"p",text:"Mais le Harness doit lui permettre de :"},{t:"list",ordered:!0,items:["identifier Paul ;","consulter votre calendrier ;","récupérer les disponibilités ;
83","éventuellement consulter le calendrier de Paul ;","proposer un horaire ;","attendre votre validation ;","créer l'événement."]},{t:"p",text:"Et surtout⦠**il faut empêcher l'IA de faire n'importe quoi.**"},{t:"p",text:"Vous voulez probablement autoriser votre agent à consulter votre calendrier. Vous n'avez peut-être pas envie de lui permettre de supprimer l'intégralité de vos rendez-vous."},{t:"p",text:"C'est également le rôle de cette couche logicielle."},{t:"h2",text:"MCP : la prise USB de nos agents ?"},{t:"p",text:"Ãvidemment, si chaque développeur doit construire une connexion différente pour chaque outil, nous allons rapidement recréer le magnifique monde des intégrations informatiques où chacun possède son API, son format et sa documentation de 453 pages."},{t:"p",text:"C'est notamment pour répondre à ce problème que des protocoles comme **MCP Model Context Protocol** sont apparus."},{t:"p",text:"L'idée est assez simple : standardiser la manière dont un agent peut découvrir et utiliser des outils ou des ressources."},{t:"callout",label:"VOYEZ CELA COMME UNE PRISE USB",text:"Votre souris et votre clavier sont deux objets totalement différents. Mais votre ordinateur sait comment communiquer avec eux grâce à une interface standardisée. MCP essaye d'apporter une logique similaire aux outils utilisés par les IA."},{t:"p",text:"C'est d'ailleurs pour cette raison que nous avons choisi chez SOCLE de construire nos agents autour de ce type de protocole : éviter autant que possible de recréer une intégration spécifique pour chaque nouvelle capacité."},{t:"h2",text:"Troisième fonction : décider quoi faire ensuite"},{t:"p",text:"Donner un outil au modèle est une chose."},{t:"p",text:"Encore faut-il décider **quand l'utiliser**."},{t:"p",text:"C'est ici qu'intervient ce que l'on appelle généralement la **boucle agentique**. Pour simplifier énormément : **observer â réfléchir â agir â observer le résultat â recommencer**."},{t:"diagram",name:"agenticLoop"},{t:"p",text:"Prenons la recherche d'un restaurant. Votre agent pourrait :"},{t:"list",ordered:!0,items:["comprendre que vous cherchez un restaurant italien ;","utiliser un outil de recherche ;","obtenir cinq résultats ;","constater que vous aviez demandé un restaurant ouvert ce soir ;","vérifier les horaires ;","éliminer les restaurants fermés ;","regarder leurs disponibilités ;","vous présenter les trois meilleures propositions."]},{t:"p",text:"Nous ne faisons donc plus forcément **utilisateur â modèle â réponse**, mais **utilisateur â modèle â outil â modèle â outil â modèle â réponse**."},{t:"p",text:"Et cela peut continuer pendant plusieurs dizaines dâétapes."},{t:"p",text:"Le Harness est la mécanique qui maintient cette boucle en vie."},{t:"list",items:["Il transmet les résultats.","Il conserve l'état.","Il contrôle le nombre d'itérations.","Il détecte les erreurs.","Il peut demander à l'IA de changer de stratégie.","Et surtout, il décide quand il est temps de s'arrêter."]},{t:"p",text:"Parce qu'un agent qui réfléchit éternellement est certes philosophiquement fascinant, mais économiquement assez catastrophique."},{t:"h2",text:"Et si un modèle ne suffisait pas ?"},{t:"p",text:"Nous pouvons aller encore plus loin."},{t:"p",text:"Pourquoi utiliser le même modèle pour absolument toutes les tâches ?"},{t:"p",text:"Prenons une réunion enregistrée. Nous avons besoin de :"},{t:"list",items:["comprendre un fichier audio ;","distinguer les interlocuteurs ;","retranscrire leurs paroles ;","corriger certaines erreurs ;","comprendre le contexte métier ;","générer éventuellement une synthèse."]},{t:"p",text:"Un seul énorme modèle pourrait théoriquement essayer de tout faire. Mais ce n'est pas forcément la meilleure solution."},{t:"p",text:"Chez SOCLE, par exemple, notre système de transcription combine plusieurs traitements : un agent spécialisé dans la reconnaissance vocale réalise la transcription, puis un agent LLM peut effectuer une correction contextuelle en tenant compte des interlocuteurs et des informations métier."},{t:"p",text:"Chaque technologie est utilisée là où elle est pertinente."},{t:"p",text:"C'est exactement l'intérêt de raisonner en **écosystème d'agents** plutôt qu'en modèle unique."},{t:"h2",text:"Le Multi-Agent"},{t:"p",text:"Et évidemment, parce que nous aimons toujours complexifier les choses dès qu'elles commencent à fonctionner, nous pouvons donner plusieurs agents à notre Harness."},{t:"p",text:"Imaginez une équipe dans une entreprise. Vous avez :"},{t:"list",items:["un juriste ;","un développeur ;","un commercial ;","un comptable."]},{t:"p",text:"Vous pourriez engager une personne extrêmement intelligente et lui demander de devenir experte dans les quatre domaines. Ou utiliser plusieurs spécialistes et leur permettre de collaborer."},{t:"p",text:"Dans un système multi-agent, le principe est similaire. Un agent peut recevoir la demande puis la transmettre à un autre agent plus spécialisé."},{t:"diagram",name:"multiAgent"},{t:"p",text:"Le Harness devient alors une sorte de chef dâorchestre."},{t:"list",items:["Qui travaille ?","Dans quel ordre ?","Quelles informations doivent être transmises d'un agent à l'autre ?","Doivent-ils travailler en parallèle ?","Qui vérifie le résultat ?"]},{t:"p",text:"Chez SOCLE, nous utilisons notamment le protocole **A2A Agent-to-Agent** pour structurer ces échanges entre agents."},{t:"p",text:"L'objectif reste le même : éviter que chaque nouvelle combinaison nécessite de reconstruire entièrement votre produit."},{t:"h2",text:"Quatrième fonction : choisir le bon modèle"},{t:"p",text:"Et c'est ici que vous allez comprendre pourquoi je vous expliquais, dans le chapitre précédent, qu'un modèle n'est finalement « qu'un algorithme »."},{t:"p",text:"Votre produit n'a pas nécessairement besoin d'être marié à GPT, Claude ou Mistral jusqu'à ce que la mort vous sépare."},{t:"p",text:"Le Harness peut constituer une couche d'abstraction entre votre application et vos modèles. Imaginez :"},{t:"list",items:["un petit modèle rapide pour classer une demande ;","un modèle spécialisé dans le code pour analyser un programme ;","un modèle plus puissant pour une tâche complexe ;","un modèle multimodal pour comprendre une image ;","un modèle local pour certaines données sensibles."]},{t:"p",text:"Votre utilisateur, lui, n'a absolument pas besoin de savoir qu'il vient d'utiliser quatre modèles différents. Il veut simplement que son problème soit résolu."},{t:"p",text:"Et c'est un point qui nous tient particulièrement à cÅur chez SOCLE : **nous ne pensons pas qu'un produit IA devrait être construit autour d'un modèle.** Il devrait être construit autour d'un besoin."},{t:"p",text:"Les modèles deviennent alors des ressources que le système choisit selon la tâche à accomplir."},{t:"h2",text:"Le modèle le plus puissant n'est pas toujours le meilleur produit"},{t:"p",text:"C'est peut-être l'idée la plus importante de cet article."},{t:"p",text:"Imaginons deux entreprises utilisant exactement le même modèle."},{t:"h3",text:"Entreprise A"},{t:"p",text:"Elle envoie directement votre question au LLM avec un énorme prompt de 15 pages."},{t:"h3",text:"Entreprise B"},{t:"p",text:"Son Harness :"},{t:"list",items:["identifie votre intention ;","récupère uniquement les documents nécessaires ;","sélectionne les bons outils ;","contrôle leurs permissions ;","utilise un modèle spécialisé pour une sous-tâche ;","vérifie le résultat ;","demande validation à un humain si nécessaire ;","trace toutes les étapes."]},{t:"callout",label:"MÃME MODÃLE",text:"Deux produits totalement différents. Et potentiellement deux niveaux de fiabilité totalement différents."},{t:"p",text:"C'est aussi pour cela que comparer des solutions d'IA uniquement en disant « ils utilisent quel LLM ? » commence à devenir une question insuffisante."},{t:"p",text:"C'est comme comparer deux voitures uniquement en demandant quelle quantité de chevaux développe le moteur. C'est important. Mais vous oubliez tout ce qu'il y a autour."},{t:"h2",text:"Human-in-the-loop : parfois, l'IA doit simplement demander"},{t:"p",text:"Autre élément particulièrement important dans un Harness : savoir quand **ne pas agir seul**."},{t:"p",text:"Imaginez une IA utilisée dans un contexte juridique. Elle peut :"},{t:"list",items:["retranscrire un entretien ;","identifier les interlocuteurs ;","signaler une incohérence ;","proposer une correction."]},{t:"p",text:"Mais modifier définitivement un témoignage sans validation humaine serait évidemment une très mauvaise idée."},{t:"p",text:"Le Harness peut donc introduire des points de contrôle : **IA â proposition â validation humaine â suite du traitement**."},{t:"p",text:"C'est ce que l'on appelle le **Human-in-the-loop**."}
83,{t:"p",text:"Et contrairement à certaines visions très futuristes de l'IA, ce n'est pas nécessairement un défaut d'automatisation. C'est parfois exactement ce qui rend l'automatisation utilisable."},{t:"p",text:"Chez l'un de nos clients dans le domaine juridique, nous utilisons justement cette approche : différentes étapes du traitement peuvent être vérifiées et corrigées par l'utilisateur avant validation."},{t:"callout",label:"LE BON OBJECTIF N'EST PAS DE RETIRER L'HUMAIN",text:"Mais de le faire intervenir uniquement là où sa décision apporte réellement de la valeur."},{t:"h2",text:"Cinquième fonction : observer ce quâil se passe"},{t:"p",text:"C'est probablement l'un des aspects les moins sexy de l'IA."},{t:"p",text:"Et pourtant, si vous voulez mettre un système en production, il devient indispensable."},{t:"p",text:"Votre agent vient de produire une mauvaise réponse. Pourquoi ? Est-ce :"},{t:"list",items:["le modèle ?","le prompt ?","le document récupéré par le RAG ?","une mauvaise réponse d'un outil ?","un problème de routage ?","une étape précédente qui s'est trompée ?","une information présente dans la mémoire ?","un autre agent ?"]},{t:"p",text:"Si votre système consiste uniquement en **question â grosse boîte noire â réponse**, bonne chance."},{t:"p",text:"Un Harness industriel doit donc également permettre de suivre le déroulement du traitement. Chez SOCLE, nous cherchons justement à rendre les différentes étapes observables."},{t:"list",items:["Quel agent a été appelé ?","Quel outil ?","Quel document ?","Quel modèle ?","Combien de temps ?","Dans quel ordre ?"]},{t:"p",text:"Cela permet de comprendre ce que fait réellement votre IA. Mais également de mesurer son coût."},{t:"p",text:"Parce qu'une IA qui vous fait gagner 3 minutes de travail en consommant 12 ⬠de calcul à chaque demande n'est peut-être pas le fantastique projet de transformation numérique annoncé dans le PowerPoint."},{t:"h2",text:"Et la sécurité dans tout ça ?"},{t:"p",text:"Dès que vous donnez des outils à une IA, la question devient évidemment critique."},{t:"p",text:"Un chatbot qui hallucine une capitale est embêtant. Un agent connecté à votre système informatique qui hallucine une action est légèrement plus problématique."},{t:"p",text:"Le Harness doit donc également pouvoir imposer des règles :"},{t:"list",items:["quels outils sont accessibles ;","quelles actions nécessitent une validation ;","quelles données peuvent être transmises ;","combien d'actions peuvent être réalisées ;","quels utilisateurs possèdent quels droits ;","quels résultats doivent être vérifiés."]},{t:"p",text:"Plus l'IA devient capable d'agir, plus cette couche devient importante."},{t:"p",text:"La sécurité d'un système agentique ne peut donc pas reposer uniquement sur : « on a demandé gentiment au modèle dans le prompt de ne pas faire de bêtises. »"},{t:"p",text:"Ce serait pratique. Mais évitons."},{t:"h2",text:"Finalement, où se trouve l'intelligence ?"},{t:"p",text:"Quand ChatGPT est apparu, nous avons naturellement associé toute l'intelligence que nous observions au modèle. C'était logique."},{t:"p",text:"Mais à mesure que nos systèmes deviennent plus complexes, la frontière devient beaucoup plus floue."},{t:"p",text:"Une partie des performances provient du modèle. Une autre vient :"},{t:"list",items:["de la qualité des outils ;","du contexte qu'on lui fournit ;","de la mémoire ;","du RAG ;","du routing ;","de l'orchestration ;","des boucles de vérification ;","des autres modèles autour de lui."]},{t:"p",text:"Le **système d'IA** devient donc plus important que le simple modèle. Et c'est probablement l'évolution la plus intéressante que nous observons actuellement."},{t:"p",text:"Nous sommes passés de « quel modèle utilisez-vous ? » à **« quel système avez-vous construit autour de vos modèles ? »**"},{t:"h2",text:"En résumé"},{t:"callout",label:"SI VOUS NE DEVEZ RETENIR QUâUNE CHOSE",text:"Le modèle produit de l'intelligence, le Harness lui permet d'en faire quelque chose d'utile."},{t:"p",text:"Il lui apporte :"},{t:"list",items:["du contexte ;","des documents ;","de la mémoire ;
83","des outils ;","des règles ;","une capacité à agir ;","d'autres agents ;","des mécanismes de contrôle ;","de l'observabilité."]},{t:"p",text:"Et surtout, il transforme un simple appel de modèle en véritable produit."},{t:"p",text:"C'est aussi pour cela que chez SOCLE nous travaillons avant tout sur cette couche. Notre objectif n'est pas de créer le prochain modèle généraliste : d'autres entreprises dépensent déjà quelques milliards pour cela ;)"},{t:"p",text:"Notre travail consiste à permettre aux entreprises de construire autour de ces modèles des systèmes utilisables : agents, RAG, outils compatibles MCP, écosystèmes multi-agents basés sur A2A, contrôle humain et suivi des différentes étapes."},{t:"p",text:"Le modèle devient ainsi une brique interchangeable au sein d'un système plus large."},{t:"p",text:"Et cela nous amène naturellement au chapitre suivant. Parce que tout ce beau système les agents, les outils, les modèles appelés en cascade doit bien tourner quelque part."},{t:"p",text:"Spoiler : **ça consomme du béton, de l'électricité et du silicium.**"}]},{slug:"infrastructure-datacenters-et-silicium",number:5,title:"L'infrastructure : des giga-datacenters au silicium dans votre poche",updated:"2026-08-10",author:"Benjamin",readingMinutes:11,metaDescription:"La couche physique de l'IA : pourquoi un serveur à Paris ne suffit pas à échapper au CLOUD Act, ce que coûtent vraiment l'énergie et l'eau d'un datacenter IA, où part l'argent des milliards annoncés, et la bascule vers l'IA locale.",lede:"Quand on parle d'IA, on imagine un nuage magique qui flotte quelque part sur le web. En réalité, c'est de l'acier, du béton, du cuivre, du silicium ultra-pur, des mégawatts d'électricité et des millions de litres d'eau. Descendons dans les sous-sols.",body:[{t:"p",text:"Quand on parle d'IA, on imagine souvent un concept abstrait, une sorte de « nuage magique » qui flotte dans le web et répond à nos questions. En réalité, **l'IA est d'une matérialité brutale**. C'est de l'acier, du béton, du cuivre, du silicium ultra-pur, des mégawatts d'électricité et des millions de litres d'eau."},{t:"p",text:"Dans ce chapitre, on va plonger dans les sous-sols de l'IA : là où la physique, la géopolitique et le droit s'entrechoquent."},{t:"h2",text:"Le paradoxe des cloud providers : la géographie ne fait pas le droit"},{t:"p",text:"Quand vous stockez vos données ou faites tourner vos modèles chez un géant du cloud, la première question que pose votre directeur de la sécurité (RSSI) est souvent : *« Les serveurs sont où ? »* Si on vous répond *« à Paris ou à Francfort ! »*, vous vous dites sûrement : *« Ouf, c'est en Europe, mes données sont protégées par le RGPD. »*"},{t:"p",text:"**Et c'est là qu'arrive le piège.**"},{t:"p",text:"C'est ce qu'on appelle le **paradoxe de la souveraineté numérique** : la localisation physique d'un serveur ne suffit pas à protéger vos données, car **la nationalité de l'entreprise** qui possède le datacenter s'impose à la géographie."},{t:"list",items:["Si vous utilisez **AWS (Amazon), Azure (Microsoft) ou Google Cloud**, même si votre serveur physique est posé à Marseille ou à Paris, ces entreprises sont américaines.","Elles sont donc soumises aux lois extraterritoriales des Ãtats-Unis, notamment le **CLOUD Act** et la **section 702 du FISA**.","En clair : l'injonction d'un juge ou d'une agence de renseignement américaine peut théoriquement contraindre Microsoft ou Amazon à fournir l'accès aux données hébergées sur leurs serveurs, **peu importe que le serveur soit en France**."]},{t:"p",text:"C'est pour cela que la bataille des « clouds souverains » fait rage. D'un côté, les acteurs français et européens (Scaleway, OVHcloud, Outscale...) garantissent une protection juridique totale contre le droit américain, mais se battent pour aligner la puissance de calcul nécessaire. De l'autre, les géants américains déploient des milliards pour rassurer le marché avec des offres « souveraines » ou « de confiance »."},{t:"h2",text:"Le coût monstrueux d'un datacenter IA"},{t:"p",text:"Construire un datacenter pour de l'IA générative n'a **rien à voir** avec la construction d'un datacenter classique destiné à héberger des sites web. Un serveur traditionnel consomme quelques kilowatts par baie. Une ferme de GPU dernier cri conçue pour l'IA consomme des **mégawatts** à l'échelle d'un seul bâtiment."},{t:"h3",text:"â¡ L'énergie : la guerre des gigawatts"},{t:"p",text:"Les besoins en électricité sont devenus tellement colossaux que l'Agence internationale de l'énergie estime que la consommation des datacenters pourrait doubler d'ici 2030. Pour alimenter ces usines à calcul, les géants du cloud signent aujourd'hui des contrats directs avec des centrales nucléaires, ou rachètent des fermes solaires entières. **L'accès à une énergie abondante, stable et décarbonée est devenu le facteur numéro 1** qui décide de l'endroit où un datacenter sera construit."},{t:"p",text:"Et c'est pour cela que, cocorico, la France est un pays assez sérieux sur ces sujets : le nucléaire nous fournit une énergie stable et décarbonée, ce qui en fait un terrain très intéressant pour la création de datacenters."},{t:"callout",label:"C'EST QUOI, LE MIX ÃNERGÃTIQUE ?",text:"Le mix énergétique (ou bouquet énergétique) est la répartition des différentes sources d'énergie primaire utilisées par un pays pour couvrir l'ensemble de ses besoins : électricité, chauffage, carburants. C'est la « recette » d'un territoire, qui combine les énergies fossiles (pétrole, gaz naturel, charbon), l'énergie nucléaire et les énergies renouvelables (solaire, éolien, hydraulique, biomasse)."},{t:"p",text:"Et en France, on n'est vraiment pas mauvais : plus de **95 % de notre électricité vient de sources bas carbone**, dont environ deux tiers de nucléaire. Ce qui fait de nous un exportateur net d'électricité, aidant nos voisins à réduire leur
83s propres émissions. Comparons, sur la même période :"},{t:"diagram",name:"energyMix"},{t:"p",text:"Deux choses à lire dans ce graphique. D'abord, la Suède fait encore mieux que nous, mais sur une production totale bien plus modeste et surtout très dépendante de l'hydraulique. Ensuite, et c'est le point qui compte pour un datacenter : l'Allemagne et le Royaume-Uni ont massivement investi dans l'éolien et le solaire, mais restent à 19,9 % de charbon pour l'une et 26,4 % de gaz pour l'autre. Une électricité décarbonée **et pilotable**, disponible la nuit sans vent, reste une denrée rare."},{t:"p",text:"C'est l'une des raisons pour lesquelles Mistral a signé un si gros contrat avec Microsoft en matière de puissance de calcul. Il y avait un manque de puissance de calcul du côté de Microsoft, et donc une opportunité pour une entreprise comme Mistral de devenir plus qu'un créateur de modèles : un fournisseur de service. Certains y verront une position stratégique très maligne, d'autres une « trahison » de la souveraineté, en ajoutant des implications américaines sur le territoire. Que se passe-t-il quand ton client monopolistique te demande quelque chose ?"},{t:"p",text:"La réalité est plus complexe que cela. Qui était prêt à investir autant en France ou en Europe ? Comment refuser une opportunité de garder la main, ne serait-ce que partiellement, sur ce marché ? Je pense vous écrire un article sur ces sujets stratégiques et mon point de vue personnel sur ce qu'il faudrait faire. N'hésitez pas à me le rappeler si le sujet vous intéresse :)"},{t:"h3",text:"ð§ L'eau : le casse-tête du refroidissement"},{t:"p",text:"Autre problème : ces puces chauffent. **Ãnormément.** Le refroidissement à air classique, les gros ventilateurs, ne suffit plus pour les puces haute densité. Les datacenters basculent massivement vers le **refroidissement liquide** (*liquid cooling*), où des fluides circulent directement au contact des processeurs."},{t:"p",text:"Mais cela demande des infrastructures complexes, et parfois des volumes d'eau impressionnants pour les tours de refroidissement. Gérer l'impact environnemental de cette eau est devenu un enjeu politique majeur pour les collectivités qui accueillent ces centres."},{t:"p",text:"Tous ces sujets font que les cloud providers cherchent aussi à améliorer leur rendement énergétique et leurs systèmes de refroidissement, comme l'usage du refroidissement adiabatique au datacenter Paris 2 de Scaleway. Certains vont même jusqu'à fournir des outils de calcul d'impact environnemental à leurs clients. Car oui, l'IA est fortement consommatrice d'énergie, et aujourd'hui au centre des attentions : les entreprises ont besoin d'un maximum de monitoring et d'outils de pilotage pour leur stratég
83ie RSE, mais aussi, tout simplement, pour leurs dépenses."},{t:"p",text:"Tout n'est pas qu'une question de tokens ;)"},{t:"h2",text:"La taxe du silicium : où passe vraiment l'argent ?"},{t:"p",text:"Quand un cloud provider dépense des milliards pour construire un datacenter IA, à votre avis, qu'est-ce qui coûte le plus cher ? Les murs ? L'électricité ? Le réseau ?"},{t:"p",text:"**Non. Ce sont les puces.**"},{t:"p",text:"Dans un datacenter optimisé pour l'IA à très grande échelle, le matériel informatique (les cartes graphiques) coûte **environ deux fois plus cher que le bâtiment lui-même**. Pour un projet de campus de 1 gigawatt, comptez environ 10 milliards de dollars pour la structure et l'infrastructure, et **20 milliards de dollars uniquement pour remplir les baies avec des puces**."},{t:"callout",label:"à VISUALISER TOUT DE SUITE",text:"Quand une personne, politique ou industrielle, vous annonce 100 milliards d'investissement dans un datacenter, la majorité de cet argent ira en réalité dans l'achat de puces. Des puces qui, elles, ont une obsolescence."},{t:"p",text:"Pourquoi un tel déséquilibre ? Tout simplement parce que le marché est dominé par un quasi-monopole : **NVIDIA**. L'entreprise ne se contente pas de vendre une puce à des dizaines de milliers de dollars pièce, elle vend l'architecture complète : le système d'interconnexion ultra-rapide (*NVLink*) et la couche logicielle (*CUDA*) sur laquelle reposent presque tous les modèles d'IA de la planète."},{t:"p",text:"Cette situation a même donné naissance à une nouvelle catégorie d'acteurs : les **neoclouds** (CoreWeave, Nebius, Lambda). Ce ne sont pas des cloud providers généralistes, mais des spécialistes qui font une seule chose : acheter des dizaines de milliers de GPU NVIDIA, et les louer à l'heure aux entreprises d'IA."},{t:"p",text:"Pour le détail sur les puces, je vous en parle au prochain chapitre. Un peu de mystère, c'est toujours bien pour vous garder attentif ;)"},{t:"h2",text:"La grande tendance : l'IA hybride"}
83,{t:"p",text:"Face à des coûts d'infrastructure démentiels, à des problèmes de latence réseau et aux enjeux de confidentialité, une question s'impose : **est-on condamné à tout faire tourner dans d'immenses datacenters distants ?** La réponse est **non**. Nous assistons à une bascule vers l'**IA locale** (*on-device*)."},{t:"h3",text:"Le règne des Small Language Models"},{t:"p",text:"L'ère du « toujours plus gros » touche à ses limites économiques. On s'est rendu compte qu'il n'y avait pas besoin d'un modèle géant de 700 milliards de paramètres hébergé aux Ãtats-Unis pour corriger une faute de frappe ou résumer un e-mail professionnel."},{t:"p",text:"Grâce à des modèles ultra-optimisés et compacts (les **SLM**, *Small Language Models*, comme les versions légères de Mistral, Llama ou Phi) et à l'apparition de puces dédiées dans nos appareils (les **NPU**, *Neural Processing Units*), l'IA s'installe directement dans nos smartphones et nos ordinateurs : Copilot+ PC, Apple Intelligence."},{t:"p",text:"Le problème, c'est que l'usage de SLM demande une bien plus grande maîtrise d'Åuvre que de tout balancer sur un gros modèle. Ce qui fait que la pratique n'est pas encore très répandue."},{t:"h3",text:"Le modèle hybride : le bon compromis"},{t:"p",text:"Certains pensent que le futur de l'infrastructure ne sera ni 100 % cloud, ni 100 % local, mais **hybride** :"},{t:"list",items:["**En local, sur votre téléphone ou votre PC** : pour 80 % des tâches quotidiennes (saisie semi-automatique, retouche d'image, recherche dans vos documents). C'est instantané, gratuit en coûts d'API, ça fonctionne hors-ligne, et vos données ne quittent **jamais** votre appareil.","**Dans le cloud** : pour les 20 % de tâches complexes qui exigent du grand raisonnement, de l'analyse de téraoctets de données ou de la génération vidéo lourde."]},{t:"p",text:"Aujourd'hui, le marché semble tendre vers cette approche, avec un pourcentage moins élevé pour le local. Et nous voyons de plus en plus un troisième pan prendre de l'importance : le **cloud privé / on-premise**, l'hébergement sur des serveurs au sein même de l'entreprise, pour les traitements trop sensibles. C'est généralement sur ce type de sujet que des technologies comme Socle AI deviennent plus qu'un accélérateur : un passage obligé, car toute l'infrastructure IA est alors à monter en interne et à articuler pour délivrer de la valeur."},{t:"h2",text:"Le cloud provider : une expertise qui n'est pas que dans la pierre"},{t:"p",text:"Depuis le début, nous parlons des murs, des puces, de l'énergie. Mais faire fonctionner des serveurs entre eux, les maintenir avec toutes les couches logicielles propres à ce matériel, n'est en rien une sinécure. C'est une expertise précise, à ne pas sous-estimer : les bons devops, ces ingénieurs râleurs dans des salles sombres, sont en fait ceux sans qui rien ne fonctionnerait."},{t:"quote",text:"Un pilote de Rafale, c'est classe. Mais ça le devient tout de suite moins si son avion ne décolle pas, parce que personne n'a installé ni maintenu son réacteur."},{t:"p",text:"C'est aussi ça, le travail de cloud provider : fournir les outils, les services, et donc la capacité d'interagir avec ces ressources matérielles. Et chacun a son positionnement, cela va d'Outscale, le cloud provider de Dassault à la réputation institutionnelle, à Scaleway, ce cloud provider tendance qui a rapidement pris le pas sur les sujets IA."},{t:"h2",text:"En résumé"},{t:"p",text:"L'infrastructure est la frontière physique de l'IA. Elle nous rappelle qu'un simple clic sur *« Générer »* déclenche une chaîne logistique mondiale : des puces gravées à Taïwan, vendues par une entreprise américaine, installées dans un datacenter refroidi à l'eau en Europe, et alimenté par une centrale électrique locale."},{t:"p",text:"Comprendre cette couche, c'est comprendre **les vrais coûts, les vraies limites écologiques et les véritables enjeux de souveraineté** de l'intelligence artificielle. Et puisque tout revient toujours aux puces, allons voir de plus près qui sait les fabriquer."}]},{slug:"les-puces-le-nerf-de-la-guerre",number:6,title:"Les puces : le nerf de la guerre",updated:"2026-08-10",author:"Benjamin",readingMinutes:22,metaDescription:"Les semi-conducteurs et l'enjeu de souveraineté : CPU, GPU, LPU, nÅuds avancés, ASML, TSMC, pourquoi CUDA fait la domination de NVIDIA, la montée des puces chinoises, et ce qu'il manque à l'Europe.",lede:"Nous construisons de
83s datacenters en France, et nous mettons dedans des puces américaines pour être souverains.",body:[{t:"p",text:"Reprenons là où nous nous étions arrêtés au chapitre précédent : nous savons construire des datacenters. Reste à savoir ce que nous mettons dedans."},{t:"p",text:"C'est quoi, ces puces ? En réalité, celles qui font fonctionner l'IA font partie des objets les plus évolués et les plus complexes que l'humanité ait réussi à produire. Vous lisez cet article grâce à une puce, votre téléphone fonctionne grâce à une puce. Et pour les anti-technologistes, une bonne partie du matériel médical qui serait utilisé s'il vous arrivait quoi que ce soit fonctionne avec une puce. C'est la base de notre technologie moderne."},{t:"h2",text:"Qu'est-ce qu'une puce électronique ?"},{t:"p",text:"Les **puces électroniques** (ou **semi-conducteurs**) sont les composants essentiels des appareils électroniques modernes. Elles sont fabriquées à partir de silicium, un matériau semi-conducteur, et contiennent des millions, voire des milliards, de transistors miniaturisés. Ces transistors sont assemblés pour exécuter des fonctions précises : les calculs, le stockage de données ou la gestion des périphériques."},{t:"image",src:"/images/articles/les-puces-a-quoi-servent.jpg",alt:"Schéma des usages des puces électroniques : IA, communication, santé, défense, électroménager, transport.",caption:"à QUOI SERVENT LES PUCES ÃLECTRONIQUES ?"},{t:"p",text:"Pour faire simple, **sans ces puces, dites adieu à toutes vos machines électroniques** : vos consoles de jeu, votre ordinateur, un drone, votre voiture ou même votre machine à laver. Il y en a partout, de plusieurs sortes, avec des niveaux de complexité très différents selon l'usage. Ici, on va se concentrer sur les deux plus populaires du moment : les CPU et les GPU."},{t:"image",src:"/images/articles/les-puces-types.png",alt:"Comparaison des types de puces électroniques : CPU, GPU, et les puces spécialisées ASIC, FPGA et NPU.",caption:"TYPES DE PUCES ÃLECTRONIQUES"},{t:"h3",text:"Le CPU (Central Processing Unit)"},{t:"p",text:"Le CPU est souvent décrit comme le « cerveau » d'un ordinateur. Ses fonctions principales :"},{t:"list",items:["exécuter les instructions des logiciels et des programmes,","gérer les calculs nécessaires pour faire fonctionner un système informatique,","coordonner les différentes parties d'un ordinateur."]},{t:"p",text:"Côté structure, le CPU est divisé en plusieurs **cÅurs**, chacun capable de traiter des instructions simultanément. Il comprend des unités de calcul appelées ALU (*Arithmetic Logic Unit*) pour les opérations mathématiques et logiques, et une unité de contrôle pour orchestrer les flux de données."},{t:"h3",text:"Le GPU (Graphics Processing Unit)"},{t:"p",text:"Le GPU est spécialisé dans les calculs parallèles massifs, en particulier ceux nécessaires au rendu graphique. Ses fonctions principales :"},{t:"list",items:["gérer les calculs liés à l'affichage des images, des vidéos et des animations,","accélérer les calculs complexes nécessaires aux jeux vidéo, aux logiciels de graphisme et à la réalité virtuelle,","traiter des tâches non graphiques nécessitant du calcul parallèle : l'intelligence artificielle, la simulation scientifique, ou le minage de cryptomonnaie."]},{t:"p",text:"Sa structure est l'inverse de celle du CPU : un très grand nombre de cÅurs, individuellement moins puissants que ceux d'un processeur classique. Il excelle donc à exécuter simultanément de très nombreuses petites tâches."},{t:"h3",text:"Les autres types de puces"},{t:"list",items:["**ASIC** (*Application-Specific Integrated Circuit*) : conçu pour une tâche unique, par exemple dans les routeurs ou les cartes bancaires. On y trouve aussi les **NPU** (*Neural Processing Units*), spécialisés dans les calculs d'intelligence artificielle, et les **LPU** (*Language Processing Units*), pensés pour l'usage des LLM.","**FPGA** (*Field-Programmable Gate Array*) : une puce reprogrammable après sa fabrication, pour des usages spécifiques."]},{t:"p",text:"Avec l'avènement des LLM, le public s'est largement concentré sur les GPU, devenus « les cartes pour faire de l'IA » (avec derrière le géant NVIDIA). Mais il ne faut pas oublier que **les GPU ont été historiquement conçus pour du traitement graphique**. Depuis peu, de nouveaux acteur
83s mettent en avant des architectures mieux pensées pour l'intelligence artificielle : on parle alors de LPU, IPU, NPU. L'un d'eux mérite le détour : **Groq** (non pas l'IA d'Elon Musk Grok, mais Groq avec un q ;) ). J'y reviendrai plus bas."},{t:"p",text:"Vous comprendrez qu'il est donc indispensable, pour un pays, d'être capable de se fournir en puces électroniques. Sans cela, impossible de faire tourner nos usines, notre matériel médical, nos armes. Ce matériel est presque aussi important que **l'énergie ou l'agriculture**. Et cette dépendance peut affecter indirectement nos industries, voire nos décisions politiques, comme l'a montré la problématique liée à la réglementation ITAR."},{t:"link",href:"https://fr.wikipedia.org/wiki/International_Traffic_in_Arms_Regulations",label:"La réglementation ITAR",note:"Wikipédia"},{t:"image",src:"/images/articles/les-puces-ligne-production.png",alt:"Chaîne de production d'une puce : équipement industriel et matières premières alimentent les fonderies, qui produisent les puces dessinées par les architectes.",caption:"LIGNE DE PRODUCTION DES PUCES ÃLECTRONIQUES"},{t:"h2",text:"De quoi sont composées ces puces ?"},{t:"p",text:"De la même manière qu'il faut des matériaux pour construire une éolienne, ou de l'uranium pour une centrale, ces puces ont besoin de matières bien spécifiques. Voici une liste forcément non exhaustive, mais qui montre l'essentiel :"},{t:"list",items:["**Le silicium**, le matériau de base des transistors. Purifié jusqu'à 99,9999999 % (le « grade électronique »), il est transformé en *wafers*, ces disques sur lesquels les circuits sont gravés.","**Les métaux conducteurs** : cuivre pour les interconnexions, or pour les connexions critiques, tungstène, aluminium, nickel, cobalt et molybdène pour certains alliages et couches protectrices.","**Les dopants**, qui modifient les propriétés du silicium : phosphore et arsenic (type N, qui ajoutent des électrons libres), bore (type P, qui crée des « trous »).","**Les isolants** : dioxyde de silicium, et oxyde d'hafnium dans les processeurs modernes pour améliorer les transistors tout en réduisant la consommation.","**Les matériaux de dissipation thermique** : carbure de silicium, graphite et graphène, céramiques.","**Les substrats et boîtiers** : époxy renforcé de fibre de verre (FR-4), alliages de cuivre et aluminium, plastiques et polymères."]},{t:"image",src:"/images/articles/les-puces-composition.png",alt:"Schéma de la composition d'une puce et des principaux pays exportateurs de chaque matériau.",caption:"COMPOSITION ET PRINCIPAUX FOURNISSEURS / EXPORTATEURS"},{t:"p",text:"Ce que l'on voit quand on regarde les pays exportateurs de ces matières, c'est la **prépondérance de la Chine**. Avec une mention spéciale à l'Indonésie, la RDC, la Turquie et le Pérou, premiers sur certains matériaux. Même si ces données portent sur les exportations globales, donc utiles à bien d'autres choses que les puces, on comprend vite **l'importance de certaines voies maritimes**."},{t:"p",text:"Il existe donc des formes de « monopoles » sur des matériaux nécessaires à la conception des puces, ce qui complexifie la logistique et pèse sur les rapports entre pays : les discussions autour des droits de douane entre la Chine et les Ãtats-Unis en sont l'illustration permanente. Notons au passage que les réserves de certains pays ne sont pas exploitées, en France par exemple, l'impact environnemental des mines étant jugé trop important ou trop coûteux à réduire."},{t:"h2",text:"L'importance des nÅuds avancés"},{t:"p",text:"Il existe plusieurs étapes de conception entre ces matières premières et la puce finie. Mais l'une des variables présentées comme déterminantes, c'est la notion de **nÅuds avancés**. Voyez cela comme le dépôt d'une très fine couche de métal dans un circuit, qui va conduire l'électricité."},{t:"p",text:"L'utilisation de nÅuds avancés (les procédés à 7 nm, 5 nm, 3 nm et bientôt 2 nm) a un impact majeur sur la **performance**, la **consommation énergétique**, le **coût** et la **complexité de conception**. D'autres nÅuds, plus épais, existent : nÅuds intermédiaires et nÅuds anciens. Certains sont largement suffisants pour faire tourner votre machine à laver. Tout dépend du besoin et de la consommation attendue."},{t:"image",src:"/images/articles/les-puces-noeuds-avances.png",alt:"Comparaison des tailles de nÅuds : épaisseur d'un cheveu (17 000 nm), nÅuds anciens (22 nm), intermédiaires (7 nm) et avancés (5 nm, 2 nm).",caption:"LES DIFFÃRENTES TAILLES D'UN NÅUD AVANCÃ"},{t:"p",text:"Prenons un exemple moins drôle. Dans le conflit ukrainien, l'usage des drones est omniprésent. Au début pilotés à 100 % par l'homme, on voit désormais des drones capables de cibler et de poursuivre leur trajectoire malgré un brouillage. Pour faire voler un drone, aucun besoin stratég
83ique de nÅuds avancés. Pour y mettre du traitement d'imagerie ou des systèmes de défense aérienne, on y entre. Et optimiser le besoin énergétique de cette tâche permet de gagner du temps de vol sans toucher aux autres composants."},{t:"p",text:"Retenez qu'un nÅud plus petit permet d'intégrer davantage de transistors dans le même espace, donc plus de puissance à conditions égales. Je ne rentrerai pas dans le détail des problèmes que cela pose sur la gestion de la chaleur ou les courants de fuite, mais dites-vous qu'un nÅud plus fin offre davantage de possibilités d'architecture et un meilleur rendement."},{t:"p",text:"Mais pourquoi tant insister sur les nÅuds ? Parce qu'il existe **un monopole mondial** sur les machines capables de graver les nÅuds les plus fins, ceux qui sont indispensables à l'intelligence artificielle. Et cette entreprise est européenne : **ASML**."},{t:"link",href:"https://youtu.be/tgfVAZT5EeE",label:"Une vidéo d'Yvan Casta (Au CEO) qui vous montrera la complexité de ce domaine, tout en étant très distrayante ;)",note:"YouTube"},{t:"h2",text:"Le cas ASML"},{t:"p",text:"Dans la création de puces, vous avez un géant, **TSMC**, à Taïwan. Mais derrière ce géant, il y a une entreprise sans qui rien de tout cela ne serait possible : ASML. Elle construit les machines de **lithographie EUV**, une méthode qui utilise des longueurs d'onde ultraviolettes extrêmement courtes pour graver des motifs sur les wafers de silicium, rendant possible la miniaturisation des circuits."},{t:"image",src:"/images/articles/les-puces-asml.png",alt:"Le cas ASML : entreprise basée aux Pays-Bas, capitalisation de 271 milliards d'euros, seule à fournir des machines capables d'atteindre 2 nm pour plus de 150 millions d'euros l'unité.",caption:"LE CAS ASML"},{t:"p",text:"Il faut comprendre qu'**ASML vend chaque machine à un coût dépassant les 150 millions d'euros**. C'est de loin le fleuron de l'industrie néerlandaise, et son patron est, cocorico, français : Christophe Fouquet. Son importance est telle aux Pays-Bas qu'elle influe sur le débat politique du pays."},{t:"link",href:"https://www.lecho.be/entreprises/semi-conducteurs/panique-au-gouvernement-neerlandais-asml-menace-de-quitter-le-pays/10531541.html",label:"Panique au gouvernement néerlandais : ASML menace de quitter le pays",note:"L'Ãcho"},{t:"p",text:"Cette entreprise est clairement **clé pour le soft power européen**, et il serait indispensable de la prendre en compte dans toute stratégie visant à produire des puces de dernière génération chez nous."},{t:"h2",text:"Les fonderies"},{t:"p",text:"Les **fonderies** (*foundries*) sont les entreprises spécialisées dans la fabrication des puces conçues par les architectes (Apple, NVIDIA, etc.). Elles maîtrisent des procédés de fabrication à l'échelle nanométrique. Ici, on s'intéresse aux fonderies de pointe, celles qui savent descendre aux nÅuds les plus fins, aujourd'hui indispensables aux nouvelles technologies."},{t:"image",src:"/images/articles/les-puces-fonderies.png",alt:"Parts de marché des fonderies de semi-conducteurs : TSMC environ 59 %, Samsung environ 17 %, Intel moins de 17 %.",caption:"FONDERIES DE SEMI-CONDUCTEURS"},{t:"p",text:"Il est difficile de sortir des statistiques parfaitement fiables sur ce segment précis, la plupart des données étant globales. Mais la domination du marché par trois acteurs, **TSMC, Samsung et Intel**, est indéniable, avec un TS
83MC nettement au-dessus du reste."},{t:"p",text:"Véritable sujet géopolitique depuis huit ans, avec l'avènement de la crypto, puis le covid, et maintenant l'IA, le marché des puces subit une réelle tension mondiale. Et il y a un véritable **nÅud d'étranglement** autour des puces à nÅuds avancés, principalement localisé à Taïwan. Taïwan utilise d'ailleurs cet outil industriel comme défense face à la Chine."},{t:"list",items:["les **Ãtats-Unis** cherchent à réduire leur dépendance à TSMC en se dotant de capacités de production sur leur territoire,","l'**Allemagne** a lancé une fonderie avec un investissement de 10 milliards d'euros (5 de TSMC, 5 de financement public) pour une ouverture en 2027,","le **Japon** a créé **Rapidus**, soutenue par le gouvernement et huit grands groupes nippons (Toyota, NTT, Sony, NEC, SoftBank, Denso, Kioxia et MUFG Bank), pour remettre le pays dans la course aux semi-conducteurs avancés. Et qui s'outille chez⦠ASML !"]},{t:"callout",label:"UN VRAI SUJET DE SOUVERAINETÃ",text:"Avoir a minima sur son territoire un producteur de puces électroniques (Ãtats-Unis, Allemagne), et a maxima une entreprise nationale (Japon)."},{t:"h2",text:"Les architectes de puces"},{t:"p",text:"Un **architecte de puces** (ou architecte de circuits intégrés
83) est celui qui conçoit et planifie la structure globale du semi-conducteur. Il ne le fabrique pas : il le dessine, puis confie sa production à une fonderie."},{t:"h3",text:"Architectes de CPU"},{t:"image",src:"/images/articles/les-puces-architectes-cpu.png",alt:"Parts de marché des architectes de CPU sur le marché des serveurs : Intel 58 %, AMD 38 %, Apple 2 %, Qualcomm 0,2 %.",caption:"ARCHITECTES DE CPU"},{t:"p",text:"Je me suis concentré ici sur le marché des serveurs, mais comprenez qu'il existe des marchés différents pour le mobile et pour les ordinateurs personnels. Sur les serveurs, le leadership est partagé entre **Intel (environ 58 %)** et **AMD (environ 38 %)**, loin devant Apple et Qualcomm."},{t:"link",href:"https://www.cpubenchmark.net/market_share.html",label:"Les parts de marché CPU",note:"cpubenchmark.net, en anglais"},{t:"h3",text:"Architectes de GPU"},{t:"image",src:"/images/articles/les-puces-architectes-gpu.png",alt:"Parts de marché des architectes de GPU : NVIDIA 80 %, AMD 15 %, Intel 5 %.",caption:"ARCHITECTES DE GPU"},{t:"p",text:"Sur ce marché, aucun doute possible sur la prédominance de NVIDIA."},{t:"h2",text:"Mais au fait, pourquoi NVIDIA ?"},{t:"p",text:"80 % du marché, c'est écrasant. Et la réponse qui vient spontanément, c'est « parce qu'ils font les meilleures puces ». C'est vrai. Ce n'est pas suffisant. AMD sait faire de très bonnes puces, Intel a des moyens colossaux, Google conçoit ses propres TPU depuis une dizaine d'années. Si le matériel seul suffisait, ce marché serait beaucoup plus disputé."},{t:"p",text:"Le véritable avantage de NVIDIA n'est pas dans le silicium. Il est dans le logiciel. Et il porte un nom : **CUDA**."},{t:"h3",text:"Le pari à quinze ans"},{t:"p",text:"Retour au début des années 2000. à cette époque, un GPU sait faire une chose : afficher des pixels. Un chercheur qui voudrait détourner cette puissance de calcul pour autre chose, simuler un fluide par exemple, doit déguiser son calcul en image. Littéralement : transformer ses équations en textures et en triangles pour que la carte accepte de les traiter, puis relire les résultats dans les pixels de sortie. C'est possible. C'est atroce. Presque personne ne le fait."},{t:"p",text:"En 2006, NVIDIA présente **CUDA** (*Compute Unified Device Architecture*). Le principe : écrire du code presque normal, en C, qui s'exécute directement sur le GPU. Fini le déguisement, la carte graphique devient un accélérateur de calcul générique."},{t:"p",text:"Mais le vrai coup de génie n'est pas technique, il est commercial : NVIDIA rend CUDA disponible sur **toutes** ses cartes. Y compris la GeForce à 200 ⬠du joueur du dimanche, et pas seulement sur le matériel professionnel hors de prix. Du jour au lendemain, n'importe quel étudiant, dans n'importe quel laboratoire du monde, possédait déjà chez lui une machine capable de faire du calcul massivement parallèle. Cela a coûté très cher, très longtemps : pendant des années, des analystes ont demandé à Jensen Huang pourquoi son entreprise de cartes graphiques pour gamers brûlait autant d'argent en recherche logicielle, pour un marché qui n'existait pas."},{t:"h3",text:"2012 : le marché existe"},{t:"p",text:"Cette année-là , trois chercheurs, Alex Krizhevsky, Ilya Sutskever et Geoffrey Hinton, pulvérisent le concours de reconnaissance d'images ImageNet avec un réseau de neurones baptisé **AlexNet**. Entraîné sur deux cartes GeForce GTX 580. Des cartes de gamer. Avec CUDA."},{t:"p",text:"C'est le big bang du deep learning moderne, et il se produit sur du matériel NVIDIA, avec des outils NVIDIA, parce que NVIDIA était le seul à avoir mis ces outils entre les mains des chercheurs six ans plus tôt."},{t:"h3",text:"Le fossé"},{t:"p",text:"Depuis, l'entreprise n'a jamais cessé d'empiler. Au-dessus de CUDA : cuDNN (les briques de calcul des réseaux de neurones), NCCL (pour faire dialoguer des milliers de GPU entre eux), TensorRT (pour accélérer l'exécution des modèles). Et au-dessus de tout cela, **PyTorch**, le framework qu'utilise la quasi-totalité des chercheurs et des ingénieurs IA de la planète, et qui, quand vous lui demandez une multiplication de matrices, finit par appeler du code NVIDIA."},{t:"p",text:"C'est ce qu'on appelle un *moat*, un fossé : près de vingt ans de logiciel, des millions de lignes de code, des centaines de milliers de développeurs formés, une documentation, des tutoriels, et des réponses sur Stack Overflow à trois heures du matin. Un concurrent peut sortir demain une puce plus rapide et moins chère : si votre code met six mois à être porté dessus et tourne ensuite 30 % moins vite faute d'optimisations, vous ne l'achèterez pas. C'est exactement le mur contre lequel bute AMD depuis des années, dont l'équivalent, ROCm, est régulièrement décrit comme fonctionnel mais douloureux."},{t:"p",text:"Et NVIDIA a élargi le fossé bien au-delà de la puce. En rachetant Mellanox au tournant de 2020, elle s'est offert le réseau qui relie les serveurs entre eux. Aujourd'hui, elle ne vend plus vraiment une carte : elle vend une armoire entière, GPU, réseau, logiciel et outils compris. Le verrou n'est plus au niveau du composant, il est au niveau du système."},{t:"callout",label:"CE QU'IL FAUT RETENIR",text:"NVIDIA ne vend pas une puce, elle vend une plateforme. Concevoir un concurrent au GPU, c'est peut-être 20 % du problème. Les 80 % restants, ce sont les outils, les bibliothèques et les développeurs qui savent s'en servir. Toute stratég
83ie de souveraineté sur les puces d'IA qui oublie cette ligne du budget est morte avant d'avoir commencé."},{t:"h3",text:"La brèche"},{t:"p",text:"Bonne nouvelle quand même, et elle est essentielle pour la suite : le fossé se comble par le haut. Aujourd'hui, un chercheur n'écrit presque jamais de CUDA à la main, il écrit du PyTorch. Or PyTorch est une couche d'abstraction : si quelqu'un fait l'effort de le brancher correctement sur un autre matériel, le code de l'utilisateur, lui, ne change pas. C'est un travail énorme, ingrat et invisible. Mais c'est un travail *fini*, là où rattraper vingt ans d'écosystème à la main serait infini."},{t:"p",text:"C'est par cette brèche que passent les nouveaux entrants. Et c'est aussi par là qu'est passée la Chine."},{t:"h2",text:"La montée de nouvelles puces"},{t:"p",text:"Les grandes boîtes tech se lancent désormais dans leurs propres puces, surtout pour l'IA : Meta avec sa MTIA, ou AWS avec ses puces Trainium. Il ne faut pas oublier que les GPU n'ont pas été initialement pensés pour faire de l'IA. L'un des acteurs qui s'est fait remarquer très tôt, c'est **Groq**, concepteur de LPU pour optimiser l'usage des LLM. Pour mesurer l'enjeu de ce type de puces : Groq a levé 640 millions de dollars auprès de BlackRock, Cisco ou encore Samsung."},{t:"p",text:"Globalement, les géants que tout le monde cherche à concurrencer sont : **TSMC** pour les fonderies, **NVIDIA** pour les GPU et **Intel** pour les CPU."},{t:"h2",text:"La montée des puces chinoises"},{t:"p",text:"Si vous voulez savoir ce que donne concrètement une stratégie de souveraineté sur les semi-conducteurs, il existe un laboratoire à ciel ouvert : la Chine. à ceci près qu'elle n'a pas vraiment choisi d'y entrer."},{t:"p",text:"à partir d'octobre 2022, les Ãtats-Unis interdisent l'exportation vers la Chine des puces d'IA les plus performantes, les A100 et H100 de NVIDIA. Et chaque fois que NVIDIA conçoit une version bridée pour rester dans les clous (A800, H800, puis H20), Washington resserre le curseur. L'objectif affiché : conserver plusieurs années d'avance sur le calcul."},{t:"p",text:"Le résultat est plus ambigu. Privées de fournisseur, les entreprises chinoises n'ont pas arrêté de faire de l'IA : elles ont été contraintes d'acheter chinois. Les sanctions ont donc offert à l'industrie domestique exactement ce qui manque le plus cruellement à l'Europe : **un marché intérieur captif, énorme et solvable**."},{t:"h3",text:"Graver sans ASML"},{t:"p",text:"Souvenez-vous de ce que nous disions d'ASML : sans machine de lithographie EUV, pas de nÅud avancé. La Chine n'y a pas accès, les Pays-Bas ayant bloqué ces exportations sous pression américaine."},{t:"p",text:"Elle a quand même produit du 7 nm. Le fondeur **SMIC** y parvient en multipliant les passages avec les anciennes machines DUV : au lieu de graver le motif fin en une seule fois, on le décompose en plusieurs expositions successives. Ãa marche. C'est plus lent, plus cher, et surtout beaucoup moins fiable. Les taux de rendement des puces Ascend de Huawei ont longtemps été estimés entre 20 et 40 %, là où une fonderie de pointe tourne à 80-90 %. Traduction : sur dix puces gravées, six à huit partent à la poubelle."},{t:"p",text:"Donc oui, on peut se passer d'ASML. Mais on le paie en argent, en capacité et en temps, ce qui confirme au passage à quel point cette entreprise européenne est un actif stratégique que nous sous-estimons."},{t:"h3",text:"La réponse par la force brute"},{t:"p",text:"Puisqu'une puce chinoise vaut moins qu'une puce NVIDIA, Huawei a fait un choix assumé : en mettre beaucoup plus. Son système CloudMatrix, présenté en 2025, entasse 384 accélérateurs Ascend dans une armoire, là où l'équivalent NVIDIA en aligne 72. Résultat : le système chinois délivre davantage de puissance brute que son concurrent américain. Il consomme aussi environ quatre fois plus d'électricité. En Europe, ce serait rédhibitoire et n'aurait pas de sens car ASML est européen. En Chine, c'est une volonté à la fois industrielle et politique qui leur donne ce type de moyen, c'est pour eux, arbitrage parfaitement rationnel."},{t:"callout",label:"UNE LEÃON POUR NOUS",text:"La puissance de calcul est autant un problème d'énergie que de silicium. La Chine, privée d'ASML, ne peut compenser qu'en multipliant les puces au prix d'environ quatre fois plus d'électricité. **L'Europe, elle, dispose des deux leviers à la fois** : ASML sur son territoire, donc l'accès à la gravure la plus fine, et un mix électrique décarboné et pilotable côté français, donc de quoi alimenter le calcul. Nous sommes le seul ensemble à réunir ces deux atouts. Reste à ne pas les gâcher : conserver notre souveraineté sur ASML, et bâtir le reste de la chaîne de valeur."},{t:"h3",text:"Le vrai goulot d'étranglement : la mémoire"},{t:"p",text:"Détail qui a son importance et qu'on oublie presque toujours : ce qui limite aujourd'hui la production chinoise de puces d'IA n'est plus la gravure, c'est la **HBM** (*High Bandwidth Memory*), cette mémoire ultra-rapide empilée juste à côté du processeur, et sans laquelle un accélérateur d'IA est un moteur sans carburant. SMIC serait capable de sortir de quoi fabriquer plus d'un million de puces par an, quand les capacités chinoises en HBM en limiteraie
83nt la production à quelques centaines de milliers. Elle est, elle aussi, sous embargo depuis fin 2024, et dominée par un trio coréano-américain : SK hynix, Samsung et Micron."},{t:"h3",text:"Et le fossé CUDA ?"},{t:"p",text:"Huawei a parfaitement identifié le problème dont je vous parlais plus haut. Face à CUDA, elle a construit **CANN**, sa propre couche logicielle, et **MindSpore**, son équivalent de PyTorch. Et surtout, elle a annoncé en 2025 l'ouverture du code de CANN : quand on est en retard sur un écosystème, l'open source est le seul levier connu pour attirer des développeurs qu'on ne peut pas payer."},{t:"p",text:"Le résultat s'est vu en avril 2026, avec **DeepSeek V4**, **post-entraîné** sur des puces Huawei Ascend, via CANN. La nuance a son importance : le pré-entraînement, de loin la phase la plus lourde, n'est pas concerné. Mais le signal reste considérable : une étape entière du cycle de vie d'un modèle de pointe s'est déroulée hors de l'écosystème NVIDIA. Le fossé logiciel réputé infranchissable vient d'être entamé. Il n'y a donc pas de fatalité, seulement un coût d'entrée."},{t:"link",href:"https://www.tomshardware.com/tech-industry/artificial-intelligence/huawei-led-team-claims-it-post-trained-deepseeks-1-6-trillion-parameter-models-on-ascend-910c-chips",label:"DeepSeek V4 post-entraîné sur des puces Ascend",note:"Tom's Hardware, en anglais"},{t:"h3",text:"Le retournement"},{t:"p",text:"Pendant ce temps, la part de marché de NVIDIA en Chine s'est effondrée. Le feuilleton du H20 résume à lui seul l'absurdité de la situation : une puce bridée pour respecter les règles américaines, interdite en avril 2025 (près de 4,5 milliards de dollars passés en pertes chez NVIDIA), ré-autorisée en juillet, puis boudée par Pékin, qui a discrètement déconseillé à ses entreprises d'en acheter pour raisons de sécurité. Elle n'a jamais vraiment été vendue."},{t:"p",text:"Depuis janvier 2026, Washington a de nouveau entrouvert la porte avec un examen au cas par cas des H200, pendant que le Congrès tente au contraire de verrouiller. Mais le fait notable est ailleurs : ce n'est plus seulement l'Amérique qui refuse de vendre, c'est désormais la Chine qui commence à refuser d'acheter. Et Huawei n'est pas seul : Cambricon, Biren, Moore Threads, Hygon, sans compter les puces maison d'Alibaba et de Baidu. L'écosystème existe maintenant du haut en bas de la chaîne."},{t:"h3",text:"Ce que ça nous dit"},{t:"list",items:["**La barrière technologique est franchissable.** Pas gratuitement, pas rapidement, mais franchissable, y compris la barrière logicielle, longtemps considérée comme le vrai verrou.","**Ce qui a rendu cela possible tient en trois ingrédients**, et aucun n'est le génie : un marché intérieur captif, une coordination Ãtat-industrie tenue sur une décennie, et une contrainte extérieure qui interdisait le statu quo. L'Europe a la troisième, au moins potentiellement. Il lui manque les deux premières.","**L'avance américaine est réelle, mais ce n'est plus une rente.** Elle repose sur un écosystème logiciel. Et un écosystème logiciel, ça se contourne."]},{t:"p",text:"Alors si la Chine y arrive sous embargo, la vraie question n'est plus « l'Europe en est-elle capable ? », mais « qu'est-ce qui nous en empêche ? »."},{t:"h2",text:"Et l'industrie française et européenne ?"},{t:"image",src:"/images/articles/les-puces-acteurs-francais.jpg",alt:"Les acteurs français des semi-conducteurs : STMicroelectronics, Soitec, CEA-Leti et Kalray.",caption:"ACTEURS FRANÃAIS"},{t:"p",text:"Globalement, la France, mais surtout l'Europe, possède la base pour toutes les étapes que je viens de décrire, mais il y a du travail⦠beaucoup de travail. Sans reparler d'ASML, nous avons des concepteurs de puces spécialisées comme **Kalray**, des fabricants comme **STMicroelectronics** (bien que son siège social soit en Suisse), des fournisseurs de matériaux comme **Soitec**, et même des centres de recherche comme le **CEA-Leti** à Grenoble (cf. la vidéo d'Yvan Casta partagée plus haut)."},{t:"list",items:["**STMicroelectronics** : fabricant franco-italien, spécialisé dans les puces pour l'automobile, l'électronique industrielle et l'IoT. Il produit sur des technologies matures (28 nm, 40 nm) à Crolles, près de Grenoble, sur des wafers de 300 mm. On reste néanmoins très loin de ce qu'exige l'IA.","**Soitec** : basé à Bernin, fournisseur de substrats en silicium sur isolant (SOI), utilisés dans les smartphones, la 5G et l'automobile. Il travaille avec TSMC, Samsung et GlobalFoundries.","**CEA-Leti** : centre de recherche appliquée à Grenoble, connu pour ses travaux sur les transistors 3D, la lithographie EUV et l'intégration hétérogène.","**Kalray** : concepteur de processeurs pour applications critiques, avec ses MPPA (*Massively Parallel Processor Array*). Comme NVIDIA, Kalray ne fabrique pas ses puces."]},{t:"p",text:"Globalement, nos expertises ne vont pas aussi loin que celles de nos homologues américains et chinois, qui ont dû apprendre à toute vitesse. Mais c'est précisément pour cela que nous avons encore des cartes à jouer."},{t:"p",text:"Certaines entreprises devraient attirer notre attention, par exemple :"},{t:"list",items:["**VSora** : ils conçoivent des accélérateurs matériels dédiés à l'inférence IA dans les datacenters. C'est donc bien plus directement comparable à NVIDIA ou AMD que SiPearl. Actualité toute récente : en juillet 2026, Ardian Semiconductor a pris une participation minoritaire dans VSORA pour accélérer sa stratég
83ie commerciale.","**SiPearl** : concepteur de puces, bien sûr, avec son RHEA1 un CPU haute performance, pas un GPU (et fabriqué par TSMC).","**Axelera AI** et **Innatera** : deux entreprises néerlandaises intéressantes. On y sent la proximité avec ASML."]},{t:"link",href:"https://www.ardian.com/news-insights/press-releases/ardian-semiconductor-invests-vsora-innovative-ai-inference-accelerator",label:"Ardian Semiconductor investit dans VSORA",note:"Communiqué Ardian, juillet 2026, en anglais"},{t:"p",text:"Il ne faut pas oublier un autre acteur européen majeur : **ARM**. Cette entreprise britannique est spécialisée dans la conception d'architectures de processeurs, mais elle a été **rachetée en 2016 par SoftBank (japonais) pour 32 milliards de dollars**. Contrairement à Intel ou AMD, ARM ne produit pas de matériel : elle conçoit et concède des licences. Son architecture est aujourd'hui principalement utilisée sur les formats mobiles, ce qui explique la présence de Samsung, Qualcomm ou Apple parmi ses clients. Si vous avez un Mac avec une puce M1 ou M2, félicitations : vous êtes sur une architecture ARM !"},{t:"p",text:"Pour mesurer son importance stratégique : le rachat d'ARM par NVIDIA, pour 66 milliards de dollars, a été bloqué par les régulateurs. Et les enjeux énergétiques autour des puces font que NVIDIA prévoit malgré tout de se mettre à cette architecture pour ses PC."},{t:"h2",text:"Qu'en conclure ?"},{t:"p",text:"*Je vais vous donner mon point de vue avec les informations que j'ai en main. Le but de cet article est surtout, pour moi, de poser ce qui me trotte dans le cerveau depuis bien des années. Mais je vous invite à réagir et à apporter des informations, pour que l'on puisse creuser le sujet ensemble :)*"},{t:"callout",label:"LA LIGNE DIRECTRICE",text:"L'Europe ne doit pas chercher à reproduire l'intégralité de la chaîne de valeur américaine ou asiatique. Elle doit identifier les briques dont elle doit absolument maîtriser le savoir-faire, celles sur lesquelles elle peut devenir indispensable, et celles pour lesquelles une rupture d'approvisionnement constituerait un risque stratégique."},{t:"p",text:"Nous avons vu qu'il faut une multitude d'acteurs pour produire une puce : l'architecte, la fonderie, parfois des licences. Les puces sont partout, mais l'un des enjeux stratégiques qui va probablement prendre le plus d'importance dans les prochaines années est celui des **puces dédiées à l'intelligence artificielle**. La question à se poser est donc : quelle stratégie de long terme mettre en place pour nos besoins stratégiques futurs ?"},{t:"p",text:"à première vue, trois stratégies semblent « évidentes » :"},{t:"list",ordered:!0,items:["**La stratégie allemande**, faire venir des entreprises étrangères sur son sol, avec TSMC. Elle permet de bénéficier de la connaissance d'entreprises déjà existantes, mais c'est le modèle le plus fragile aux décisions de tiers, et il nous laisse dépendants des problématiques de licence. Attention néanmoins : aujourd'hui, il semblerait que l'on parle de nÅuds de 12 nanomètres au plus fin, ce qui reste loin des 2 nm dont nous parlions précédemment.","**La stratégie japonaise**, créer une structure de zéro sur son sol, avec Rapidus. L'avantage : un fleuron national. Le désavantage : le prix, le temps et le risque, pour une mise en service seulement en 2027, et dans un pays qui a pourtant un fort historique industriel.","**La stratégie d'augmenter un acteur existant**, via une aide nationale ou européenne. Elle se défend et reste possible, mais les mécanismes européens imposent de justifier précisément l'intérêt stratégique de l'investissement, et surtout ils rendent difficile la concentration de moyens sur un seul acteur national. Et un candidat que je voyais possible n'est plus basé dans un pays de l'UE, ce qui limite encore les possibilités."]},{t:"link",href:"https://digital-strategy.ec.europa.eu/en/news/commission-approves-eu5-billion-german-state-aid-measure-support-esmc-setting-new-semiconductor",label:"La Commission approuve 5 milliards d'aide d'Ãtat allemande pour l'usine ESMC",note:"Commission européenne, en anglais"}
83,{t:"p",text:"Mais avant de choisir une stratégie, il faut peut-être définir ce que nous entendons par souveraineté."},{t:"callout",label:"CE QUE J'ENTENDS PAR SOUVERAINETÃ",text:"La souveraineté ne signifie pas tout produire nous-mêmes. Elle signifie **ne jamais être incapable de produire, remplacer ou contourner une brique critique**."},{t:"p",text:"C'est une distinction importante. Une Europe souveraine n'a pas nécessairement besoin de fabriquer chaque wafer sur son territoire, pas plus qu'elle n'a besoin de construire seule chaque machine utilisée dans une fonderie. En revanche, elle doit savoir identifier les dépendances dont la rupture pourrait mettre en danger son industrie, sa défense ou ses infrastructures critiques, et disposer d'une alternative crédible lorsque le risque devient trop important."},{t:"p",text:"C'est à partir de cette définition que je voudrais faire un pas de côté."},{t:"h3",text:"Faire un pas de côté"},{t:"p",text:"Comme ceux qui me connaissent s'en doutent, si je vous parle de ces trois stratégies « évidentes », c'est pour vous parler de celle qui me semble la plus intelligente : **faire un pas de côté** sur la stratégie japonaise. Repartons de quelques constats."},{t:"list",items:["**L'Europe en a les capacités intellectuelles.** Sans faire de chauvinisme, il y a beaucoup d'ingénieurs européens dans les industries de pointe, et nous souffrons particulièrement de la fuite des cerveaux. Ne voyons pas cela comme une fatalité mais comme une opportunité, comme l'ont perçu les fondateurs de Mistral ou de Kyutai. Dans le domaine des puces, rappelons que le Cortex-A9 d'ARM qui équipait les tout premiers iPhone a été conçu à Sophia-Antipolis.","**Nous savons déjà produire certains types de puces** grâce aux entreprises présentes sur le territoire. L'enjeu principal porte sur les technologies stratégiques de demain, dont le fleuron est l'IA.","**La finesse de gravure n'est qu'une variable** parmi celles qui déterminent les performances d'une puce."]},{t:"quote",text:"Voyez l'IA comme une vis que vous voulez visser pour monter votre meuble IKEA. Votre GPU est un marteau dont on cherche à améliorer les performances, là où vous voudriez un simple tournevis."},{t:"p",text:"C'est le pari des entreprises du moment, largement marketé par Groq à sa création : « une architecture spécialisée peut compenser une partie du désavantage lié à un nÅud de gravure moins avancé », tout comme l'intérêt pour l'architecture ARM."},{t:"p",text:"Vous voyez donc où je veux en venir. Honnêtement, j'aurais aimé qu'à un moment Groq se lance lui-même dans la production de ses puces, et que nous cherchions à en produire en Europe. Le fait que cela ne se soit pas fait est d'ailleurs une raison à explorer pour ce que je pense être une bonne idée : **faire un nouveau Mistral sur les semi-conducteurs de l'IA**."},{t:"image",src:"/images/articles/les-puces-pas-de-cote.png",alt:"Schéma de la stratégie proposée : viser la souveraineté sur l'IA en se concentrant sur les NPU et LPU, avec une approche énergétique compétitive.",caption:"FAIRE UN PAS DE CÃTÃ"},{t:"p",text:"Mais donc **ne pas chercher à faire des GPU à la NVIDIA**, pas tout de suite. Viser réellement des **architectures spécialisées pour l'IA**, qu'il s'agisse de LPU, de NPU ou d'autres architectures dédiées. Et ce, pour deux raisons très pragmatiques : le besoin (on ne veut pas faire tourner des jeux vidéo, mais construire l'IA du futur) et le coût (viser une cible précise réduira une facture qui sera déjà bien assez lourde)."},{t:"p",text:"Une précision qui découle directement de tout ce que nous venons de voir : **une telle entreprise ne serait pas un projet de silicium, ce serait un projet de logiciel.** Trois leviers me semblent déterminants."},{t:"h3",text:"Levier 1 : le produit, ce n'est pas la puce"},{t:"quote",text:"Le produit ne doit pas être la puce. Le produit doit être la plateforme."},{t:"p",text:"La puce n'est que le matériel sur lequel tourne :"},{t:"list",items:["le compilateur ;","les kernels ;","les runtimes ;","les bibliothèques ;","les drivers ;","PyTorch ;","vLLM ;","Triton ;","les outils de profiling ;","les frameworks d'agents ;","les outils cloud, etc."]},{t:"p",text:"L'une des raisons majeures du retard d'AMD face à NVIDIA n'est pas uniquement le silicium : c'est l'avance considérable prise par NVIDIA sur l'**écosystème logiciel**, notamment avec CUDA. La percée de Huawei ne s'explique pas seulement par ses puces, mais par le fait d'avoir c
83onstruit, puis ouvert, sa propre couche logicielle. Un acteur européen qui consacrerait 90 % de son budget au matériel et 10 % aux compilateurs, aux bibliothèques et à l'intégration dans PyTorch reproduirait exactement l'erreur que d'autres ont déjà payée. La bonne nouvelle, c'est que l'Europe a une vraie tradition sur ce terrain-là . Et que ça coûte infiniment moins cher qu'une fonderie."},{t:"p",text:"C'est exactement le problème qu'AMD essaie de résoudre aujourd'hui avec **ROCm**, qui regroupe runtimes, compilateurs, bibliothèques, outils et intégration avec PyTorch, JAX, vLLM ou SGLang. Et Huawei fait quelque chose de similaire autour d'**Ascend**, de **CANN** et de l'écosystème open source."},{t:"h3",text:"Levier 2 : il faut un premier client"},{t:"p",text:"Moins technique, mais tout aussi décisif. Aucun de ces projets n'a démarré sur la seule demande du marché. Huawei bénéficie d'un marché chinois immense et d'une politique industrielle renforçant la préférence pour les solutions nationales, tandis que Rapidus bénéficie d'un engagement direct de l'Ãtat et de grands industriels japonais. Les fondeurs américains, eux, ont la commande publique et la défense."},{t:"p",text:"Une puce d'IA européenne n'a pas besoin de convaincre le monde entier dès le premier jour : elle a besoin que les administrations, les organismes de recherche et les clouds souverains du continent s'engagent à en acheter. Cela a l'air complexe, et pourtant nous voyons déjà les Ãtats chercher de plus en plus à migrer de Microsoft vers des solutions open source basées sur Linux. C'est probablement le levier politique le plus efficace, et le moins coûteux, dont nous disposions."},{t:"quote",text:"Une partie des capacités de calcul financées par de l'argent public européen doit être disponible sur des accélérateurs européens."},{t:"h3",text:"Levier 3 : ce qu'il nous manque encore"},{t:"p",text:"Nous avons sur le territoire des cloud providers qui se positionnent sur l'IA (Scaleway, OVH), et un fleuron des LLM en France (Mistral) qui, comprenant l'enjeu, s'est aussi positionné sur la partie datacenter, d'où le fameux contrat avec Microsoft. Il nous manque donc des acteurs pour compléter le tableau : une entreprise capable d'architecturer des LPU et des NPU **et d'en maîtriser l'écosystème logiciel**, ainsi que des capacités européennes capables de fabriquer, assembler et intégrer ces architectures lorsque cela est stratégiquement nécessaire."},{t:"p",text:"Et il ne faudrait pas réduire cette ambition au seul wafer. Pour les accélérateurs IA modernes, le **packaging**, les **interconnexions** et la **mémoire** sont devenus des éléments déterminants de la performance. Les architectures à base de *chiplets* permettent justement de découpler certaines fonctions et d'assembler plusieurs composants au sein d'un même package. La souveraineté européenne peut donc aussi se jouer ici : nous n'avons peut-être pas besoin de maîtriser immédiatement chaque génération de gravure si nous maîtrisons l'architecture, le packaging, l'interconnexion et le logiciel qui donnent sa valeur au système final."},{t:"h3",text:"Un fil rouge : la cohérence énergétique"},{t:"p",text:"Un dernier aspect traverse ces trois leviers, entrevu avec ARM : l'**énergie**. Nous avons besoin, en Europe, d'une stratégie cohérente entre notre industrie et nos objectifs réglementaires. L'Union européenne lance plusieurs réglementations sur l'impact environnemental et sociétal des entreprises et de leurs fournisseurs (la CSRD et la CS3D). Le paradoxe est que la plupart des entreprises se dotent d'outils d'intelligence artificielle pour améliorer leur conception, voire pour répondre à ces réglementations, alors que ces outils sont eux-mêmes très énergivores. Créer un acteur ayant pour norme de base la recherche d'un bon **rapport performance / consommation** et le respect des normes sociales européennes serait un message politique de cohérence."},{t:"p",text:"Compte tenu de la complexité de cette industrie, la volonté politique et le travail avec les acteurs privés sont obligatoires, comme le prouvent les investissements autour de Rapidus au Japon. Cette industrie pourrait aider à la réindustrialisation du continent européen tout en sécurisant notre souveraineté sur le sujet."},{t:"callout",label:"CE QUE NOUS DEVONS VISER",text:"Nous ne devons pas nécessairement construire un nouveau NVIDIA. Nous devons construire **la capacité européenne à ne plus dépendre exclusivement de NVIDIA** en ayant pour objectif de le concurrencer à long terme."},{t:"callout",label:"UN MOT SUR LES SOURCES",text:"Le sujet chinois bouge très vite : rendements de gravure, statut d'export des puces
83NVIDIA, capacités réelles annoncées. Les chiffres cités ici sont ceux dont je disposais à la publication, et je les mettrai à jour au fil de l'eau. Si vous avez mieux, écrivez-moi."},{t:"h2",text:"Annexes"},{t:"p",text:"*Ce qui suit n'est pas nécessaire à la compréhension de l'article : c'est le niveau de détail en dessous, avec les sources, pour celles et ceux qui veulent creuser. Les trois annexes reprennent et approfondissent des passages déjà survolés plus haut.*"},{t:"h3",text:"Annexe 1 La composition d'une puce"},{t:"p",text:"**Le silicium.** C'est le matériau de base des transistors qui composent les circuits intégrés des CPU et des GPU. C'est un *semi-conducteur* : selon les conditions, il conduit ou isole le courant, ce qui est précisément ce qu'il faut pour fabriquer un transistor. Il est purifié jusqu'au « grade électronique » (99,9999999 % de pureté), puis transformé en *wafers*, ces disques sur lesquels les circuits sont gravés à l'échelle nanométrique."},{t:"image",src:"/images/articles/les-puces-annexe-silicium.webp",maxHeight:"420px",alt:"Production mondiale de silicium en 2023, en milliers de tonnes : Chine 6 600, Russie 620, Brésil 390, Norvège 340, puis Islande, Kazakhstan, France, Malaisie, Bhoutan, Allemagne, Inde et Espagne sous 130.",caption:"PRODUCTION DE SILICIUM (2023)"},{t:"p",text:"**Les métaux, pour la conductivité.** Ils assurent la circulation du courant dans les circuits et les interconnexions."},{t:"p",text:"Le **cuivre (Cu)** est utilisé pour les interconnexions entre les couches du circuit intégré : conductivité élevée et bonne dissipation thermique."},{t:"image",src:"/images/articles/les-puces-annexe-cuivre.webp",maxHeight:"420px",alt:"Production mondiale de cuivre raffiné en 2023, par pays : Chine 44,4 %, Chili 7,4 %, Japon 5,6 %, Russie 3,7 %, Ãtats-Unis 3,3 %, autres 28,6 %.",caption:"CUIVRE RAFFINà (2023)"},{t:"p",text:"L'**aluminium (Al)** servait autrefois aux interconnexions ; il a été remplacé par le cuivre dans les processeurs modernes, mais reste employé dans certains composants."},{t:"image",src:"/images/articles/les-puces-annexe-aluminium.webp",maxHeight:"420px",alt:"Production mondiale d'aluminium de fonderie en 2023, en milliers de tonnes : Chine 41 000, Inde 4 100, Russie 3 800, Canada 3 000, Ãmirats arabes unis 2 700, puis Bahreïn, Australie, Norvège, Malaisie, Ãtats-Unis et Islande.",caption:"ALUMINIUM DE FONDERIE (2023)"},{t:"p",text:"L'**or (Au)** est réservé aux connexions critiques, comme les fils très fins qui relient la puce à son boîtier (*bond wires*). Il est très résistant à la corrosion."},{t:"image",src:"/images/articles/les-puces-annexe-or.webp",maxHeight:"420px",alt:"Production mondiale d'or en 2023, en tonnes : Chine 370, Australie 310, Russie 310, Canada 200, Ãtats-Unis 170, puis Kazakhstan, Mexique, Indonésie, Afrique du Sud, Ouzbékistan et Pérou.",caption:"PRODUCTION D'OR (2023)"},{t:"p",text:"Le **tungstène (W)** entre dans certaines couches d'interconnexion, pour sa résistance mécanique et sa tenue aux hautes températures. [Fiche matériau, MineralInfo](https://www.mineralinfo.fr/sites/default/files/2023-01/Fiche_W_230106.pdf)"},{t:"image",src:"/images/articles/les-puces-annexe-tungstene.webp",maxHeight:"420px",alt:"Production minière mondiale de tungstène en 2020 (78,4 kt) : Chine 84,2 %, Vietnam 5,7 %, Russie 3,1 %, Bolivie 1,7 %, Autriche 1,1 %, Rwanda 1,1 %, puis Portugal, Espagne et Corée du Nord. Indice de concentration IHH de 0,73.",caption:"TUNGSTÃNE : 84 % EN CHINE (BRGM / USGS)"},{t:"p",text:"Le **nickel (Ni)**, le **cobalt (Co)** et le **molybdène (Mo)** entrent dans des alliages spécifiques ou des couches protectrices des transistors. [Arrêt des exportations de minerai de nickel (Trésor)](https://www.tresor.economie.gouv.fr/Articles/2019/11/04/annonce-de-l-arret-des-exportations-de-minerai-de-nickel) · [Le molybdène (L'Ãlémentarium)](https://lelementarium.fr/element-fiche/molybdene/)"},{t:"image",src:"/images/articles/les-puces-annexe-nickel.webp",maxHeight:"420px",alt:"Production mondiale de nickel en 2023, en tonne
83s : Indonésie 1 800 000, Philippines 400 000, France 230 000, Russie 200 000, Canada 180 000, Australie 160 000, Chine 110 000, Brésil 89 000, Ãtats-Unis 17 000.",caption:"NICKEL (2023)"},{t:"image",src:"/images/articles/les-puces-annexe-cobalt.webp",maxHeight:"420px",alt:"Réserves mondiales de cobalt en 2023, en tonnes : RDC 6 000 000, Australie 1 700 000, Indonésie 500 000, Cuba 500 000, Philippines 260 000, Russie 250 000, Canada 230 000, puis Madagascar, Turquie, Ãtats-Unis et Papouasie-Nouvelle-Guinée.",caption:"RÃSERVES DE COBALT (2023)"},{t:"image",src:"/images/articles/les-puces-annexe-molybdene.webp",maxHeight:"420px",alt:"Production minière mondiale de molybdène en 2023, en tonnes : Chine 90 000, Ãtats-Unis 52 000, Chili 44 100, Pérou 33 500, Mexique 16 500, Arménie 11 900, Russie 10 800, puis Iran, Japon et Kazakhstan.",caption:"MOLYBDÃNE (2023)"},{t:"p",text:"**Les dopants.** Ils modifient les propriétés du silicium pour en faire un transistor. Le **phosphore (P)** et l'**arsenic (As)** sont des dopants de type N : ils ajoutent des électrons libres qui conduisent l'électricité. [Production d'arsenic (Statista)](https://www.statista.com/statistics/264961/production-of-arsenic/)"},{t:"image",src:"/images/articles/les-puces-annexe-arsenic.webp",maxHeight:"420px",alt:"Production mondiale d'arsenic en 2023, en tonnes : Pérou 27 000, Chine 24 000, Maroc 8 000, Belgique 1 000, Russie 200, Japon 40.",caption:"PRODUCTION D'ARSENIC (2023)"},{t:"p",text:"Le **bore (B)** est un dopant de type P : il crée des « trous » qui facilitent la conduction par absence d'électrons. [Principaux pays producteurs de bore (Statista)](https://fr.statista.com/statistiques/565294/principaux-pays-producteurs-de-bore/)"},{t:"image",src:"/images/articles/les-puces-annexe-bore.webp",maxHeight:"420px",alt:"Production mondiale de bore en 2023, en milliers de tonnes : Turquie 2 200, Chili 360, Chine 200, Pérou 200, Bolivie 170, Argentine 130, Russie 80, Allemagne 60.",caption:"BORE : LA TURQUIE ÃCRASE LE MARCHà (2023)"},{t:"p",text:"L'**arséniure de gallium (GaAs)** est utilisé dans des composants spécialisés, pour de meilleures performances en vitesse et en efficacité. [Fiche matériau (Metoree)](https://fr.metoree.com/categories/6887/)"},{t:"p",text:"**Les isolants.** Ils séparent les couches et les parties du circuit. Le **dioxyde de silicium (SiOâ)** est l'isolant principal des circuits intégrés : il protège les transistors et évite les courts-circuits. L'**oxyde d'hafnium**, employé dans les processeurs modernes, améliore les performances des transistors tout en réduisant la consommation. [Fiche matériau (Metoree)](https://fr.metoree.com/categories/6581/)"},{t:"p",text:"**La dissipation thermique.** Sans elle, la puce surchauffe. Le **carbure de silicium (SiC)** est utilisé pour ses propriétés thermiques et électroniques supérieures dans certains composants. [Fiche matériau (L'Ãlémentarium)](https://lelementarium.fr/product/carbure-de-silicium/)"},{t:"image",src:"/images/articles/les-puces-annexe-carbure-silicium.webp",maxHeight:"420px",alt:"Production mondiale de carbure de silicium en 2023, en milliers de tonnes : Chine 450, Norvège 80, Japon 60, Mexique 45, Brésil 40, Ãtats-Unis 40, Allemagne 35, Venezuela 30, France 20, Inde 5.",caption:"CARBURE DE SILICIUM (2023)"},{t:"p",text:"Le **graphite** et le **graphène** sont utilisés dans certaines puces pour évacuer efficacement la chaleur ; les **céramiques**, dans les substrats et les boîtiers, pour isoler et évacuer la chaleur. [Principaux pays producteurs de graphite (Statista)](https://fr.statista.com/statistiques/570417/principaux-pays-producteurs-de-graphite-dans-le-monde/) · mention spéciale : [des Français bientôt champions d'Europe du graphène (Les Ãchos)](https://www.lesechos.fr/partenaires/bpifrance/des-francais-bientot-champions-deurope-de-production-de-graphene-1975143)"},{t:"image",src:"/images/articles/les-puces-annexe-graphite.webp",maxHeight:"420px",alt:"Production mondiale de graphite en 2023, en milliers de tonnes : Chine 1 230, Madagascar 100, Mozambique 96, Brésil 73, Corée du Sud 27, Russie 16, Inde 12, Corée du Nord 8, Norvège 7, Tanzanie 6.",caption:"GRAPHITE (2023)"},{t:"p",text:"**Les substrats et boîtiers.** La puce est montée sur un substrat, pu
83is protégée : **époxy renforcé de fibre de verre (FR-4)** pour supporter la puce, **alliages de cuivre et d'aluminium** pour les boîtiers et dissipateurs, **plastiques et polymères** pour isoler et encapsuler les composants sensibles."},{t:"h3",text:"Annexe 2 Les nÅuds avancés en détail"},{t:"p",text:"**Densité de transistors.** Les nÅuds avancés permettent d'intégrer davantage de transistors sur une surface donnée. Plus de transistors, c'est plus d'unités fonctionnelles (cÅurs de calcul, unités de traitement parallèle, mémoire intégrée) donc de meilleures performances ou, à nombre de transistors égal, une puce plus petite, ce qui profite aux appareils compacts. En contrepartie, plus les transistors sont petits, plus ils deviennent sensibles à des phénomènes physiques comme le **courant de fuite** et la variabilité des caractéristiques électriques. Et la densité accrue complique la dissipation thermique."},{t:"p",text:"**Performances et consommation.** Des transistors plus petits raccourcissent les chemins électriques, ce qui améliore la vitesse d'horloge ; les progrès de conception (**FinFET**, **GAA**) permettent une meilleure gestion du courant et une latence réduite. Côté énergie, la tension d'alimentation baisse, donc la consommation aussi essentiel pour les appareils mobiles, les centres de données et les systèmes embarqués. Le revers : cette baisse de tension réduit la marge de fonctionnement des transistors, rendant les puces plus sensibles aux variations d'environnement (chaleur, bruit électrique)."},{t:"p",text:"**Nouvelles architectures.** Les nÅuds avancés ouvrent la voie à des conceptions qui étaient hors de portée :"},{t:"list",items:["**Empilement 3D** (*3D stacking*) : intégration verticale des circuits, comme les architectures à base de *chiplets* ou la 3D V-Cache.","**Intégration de la mémoire** : davantage de mémoire directement sur la puce, comme dans les GPU modernes.","**IA et calcul hétérogène** : les architectures hybrides (CPU + GPU + accélérateurs d'IA) tirent parti des nÅuds avancés pour maximiser les performances."]},{t:"h3",text:"Annexe 3 Les acteurs français et européens"},{t:"list",items:["**STMicroelectronics** *fabricant de semi-conducteurs*, franco-italien, siège à Genève mais forte présence en France. L'un des leaders européens de la conception et de la fabrication de puces, spécialisé dans l'automobile, l'électronique industrielle, l'IoT et les solutions intégrées. Il produit sur des technologies matures (28 nm, 40 nm) adaptées à ces secteurs, notamment à **Crolles**, près de Grenoble, sur des wafers de 300 mm.","**Soitec** *fournisseur de matériaux*, basé à Bernin, près de Grenoble. Spécialisé dans les substrats en **silicium sur isolant (SOI)** et d'autres matériaux avancés, utilisés pour les smartphones, la 5G, l'automobile et les systèmes embarqués. Ses substrats améliorent les performances et réduisent la consommation des puces. Il collabore avec TSMC, Samsung et GlobalFoundries.","**CEA-Leti** *centre de recherche appliquée*, à Grenoble. Spécialisé dans l'innovation pour les semi-conducteurs, connu pour ses travaux sur les transistors 3D, la lithographie EUV et l'intégration hétérogène. Il travaille en partenariat avec STMicroelectronics, Soitec et des acteurs internationaux, et accélère l'innovation qui permet à l'industrie européenne de rester compétitive.","**Kalray** *concepteur de processeurs spécialisés*, à Montbonnot-Saint-Martin, près de Grenoble. Conçoit des processeurs pour applications critiques et haute performance : les **MPPA** (*Massively Parallel Processor Array*), un DPU (*Data Processing Unit*) utilisé dans les systèmes autonomes, les centres de données et l'intelligence artificielle. Comme NVIDIA, Kalray ne fabrique pas ses puces."]}]},{slug:"que-doit-faire-la-france-ia-numerique-2027",number:7,title:"Que doit faire la France en 2027 pour l'IA et le numérique ?",updated:"2026-08-14",author:"Benjamin",readingMinutes:55,socialImage:"/images/articles/france-2027-plan-action.png",metaDescription:"Hors-série : une proposition de stratég
83ie numérique française pour 2027. Bilan de dépendance numérique, cartographie de la chaîne de valeur, trous stratégiques (HBM, fonderie, runtime, GPU), plan de programmation à dix ans et commande publique.",lede:"Nous subventionnons d'un côté ce que nous refusons d'acheter de l'autre. Comment peut-on dire que nous avons raté quelque chose que nous n'avons jamais vraiment essayé de faire ?",body:[{t:"callout",text:"Les cinq chapitres précédents expliquent comment l'IA fonctionne. Celui-ci prend position sur ce que la France devrait en faire. Le registre change : ce n'est plus de la pédagogie, c'est un point de vue, discutable et assumé comme tel."},{t:"p",text:"à l'approche de cette période charnière que seront les élections présidentielles de 2027, probablement suivies très rapidement, je le pense, par des élections législatives, nous allons naturellement voir s'affronter différentes visions de la France sur de nombreux sujets. **L'intelligence artificielle et le numérique doivent en faire partie.**"},{t:"p",text:"Je ne prétends évidemment pas avoir la solution parfaite. Mais je pense qu'un lecteur averti pourra au moins ressortir de cet article avec quelques idées, quelques désaccords peut-être, et surtout quelques axes de réflexion."},{t:"h2",text:"D'où je parle"},{t:"p",text:"Avant toute chose, sur ce genre de sujet, je pense qu'il est important de savoir **d'où parle celui qui écrit**. Quelle est sa position initiale ? Quels sont ses biais ? Quelle vision défend-il avant même de commencer son raisonnement ?"},{t:"p",text:"Je vais donc vous mâcher le travail."},{t:"p",text:"Le numérique est un domaine que je côtoie tous les jours depuis maintenant huit ans, et dans lequel je rêvais déjà d'évoluer lorsque j'étais étudiant. Plus particulièrement aujourd'hui : l'intelligence artificielle."},{t:"p",text:"Et je défends la question de la souveraineté numérique depuis le début de ma carrière. Quand on travaille dans l'informatique, on comprend assez rapidement que la donnée, donc, finalement, l'information, est une forme de pouvoir. Et que ce pouvoir doit être protégé, à l'échelle de l'individu, de l'entreprise comme de l'Ãtat."},{t:"p",text:"Pour autant, je ne défends pas une vision extrême ou autarcique de la souveraineté. Je ne pense pas que la France doive absolument tout produire seule, ni que chaque logiciel utilisé dans notre pays doive être français ou même européen. La coopération entre Ãtats et entreprises étrangères peut évidemment être bénéfique, notamment lorsque nous ne disposons pas des compétences nécessaires ou simplement lorsque le sujet n'est pas particulièrement sensible."},{t:"p",text:"Par exemple, je n'ai absolument aucun problème à ce que mon futur GTA VI utilise une IA américaine pour faire parler ses PNJ. De la même manière, si une IA américaine m'aide à reformuler une réponse destinée à être publiée sur LinkedIn, la question de souveraineté me paraît relativement secondaire, outre, peut-être, celle de la spontanéité du message."},{t:"callout",text:"Toutes les données ne se valent pas. Toutes les technologies non plus. Et toutes les dépendances ne présentent pas le même risque."},{t:"p",text:"Mon approche sur ce sujet consiste donc à essayer d'être le plus juste et mesuré possible. Et forcément, cela rend la réponse beaucoup plus compliquée que :"},{t:"quote",text:"De toute façon, nous n'avons personne au niveau en Europe."},{t:"p",text:"ou, à l'inverse :"},{t:"quote",text:"Il suffit de passer au 100 % open source pour être souverains."},{t:"p",text:"La réalité est quelque part entre les deux. Et c'est précisément cette zone grise que j'aimerais explorer dans cet article."},{t:"h2",text:"Le constat"},{t:"p",text:"Commençons par le plus simple : **le constat économique**."},{t:"p",text:"Le déficit numérique européen représenterait aujourd'hui environ **264 milliards d'euros par an**. Autrement dit, une part gigantesque de la valeur générée par nos usages numériques quitte chaque année l'Europe pour financer principalement des entreprises américaines."},{t:"p",text:"Ce sujet n'est évidemment pas nouveau. Emmanuel Macron lui-même déclarait récemment :"},{t:"quote",text:"Nous avons raté le virage du cloud souverain européen."},{t:"p",text:"Mais cette phrase me pose un problème."},{t:"callout",text:"Comment peut-on dire que nous avons raté quelque chose que nous n'avons jamais vraiment essayé de faire ?"},{t:"p",text:"Attention : je ne parle pas ici des industriels. Des entreprises françaises et européennes construisent depuis des années des infrastru
83ctures cloud, développent des logiciels, investissent et essaient de concurrencer les acteurs américains."},{t:"p",text:"Je parle plutôt de **la commande publique et de la commande des plus grands acteurs économiques de notre territoire**. Parce qu'on peut difficilement demander à une industrie européenne d'émerger si, lorsqu'elle commence à exister, ses principaux clients potentiels continuent systématiquement d'acheter ailleurs."},{t:"h3",text:"Nous avons des acteurs. Ce qui leur manque, c'est le marché"},{t:"p",text:"Nous avons aujourd'hui des entreprises européennes du cloud qui se battent pour reprendre du terrain à AWS, Microsoft Azure ou Google Cloud. Et, assez ironiquement, la situation géopolitique actuelle commence probablement à les aider."},{t:"p",text:"Merci, quelque part, au franc-parler du président Trump : il n'a pas créé la dépendance européenne aux technologies américaines, mais il a rendu beaucoup plus visible une réalité qui existait déjà ."},{t:"p",text:"Une entreprise américaine reste soumise au droit américain. Et le fait que ses serveurs soient installés à Paris, Francfort ou Amsterdam ne fait pas nécessairement disparaître cette réalité juridique."},{t:"p",text:"C'est là qu'apparaît parfois une forme de **sovereignty washing** :"},{t:"quote",text:"Vos données sont hébergées en Europe, donc elles sont souveraines."},{t:"p",text:"Ce raccourci est beaucoup trop simple. La localisation physique des données n'est qu'une composante de la souveraineté. Il faut également regarder la juridiction applicable, la propriété de la technologie, la capacité à maintenir le service, sa réversibilité ou encore la possibilité qu'un acteur extérieur interrompe l'accès à certaines briques."},{t:"p",text:"Les offres comme **Bleu**, portée par Orange et Capgemini autour des technologies Microsoft, ou **S3NS**, portée par Thales avec Google Cloud, rendent cette discussion particulièrement intéressante. Ces structures françaises peuvent réduire certains risques juridiques et opérationnels et répondent à de véritables besoins. Certaines ont notamment cherché ou obtenu la qualification SecNumCloud, l'un des principaux référentiels français en matière de sécurité du cloud."},{t:"p",text:"Mais cela ne signifie pas pour autant que la dépendance technologique disparaît."},{t:"callout",text:"Le rapport sur la souveraineté numérique le rappelle explicitement : SecNumCloud est avant tout un référentiel de sécurité et de protection juridique, **pas une certification d'indépendance technologique**. Une offre peut donc répondre aux exigences du référentiel tout en continuant à reposer sur des technologies développées par des entreprises non européennes."},{t:"p",text:"C'est précisément ce qui me fait parfois hausser un sourcil lorsque ces solutions sont présentées comme l'aboutissement de notre souveraineté numérique. Et je ne suis pas le seul : j'ai déjà rencontré un bon nombre d'acteurs de la tech assez dubitatifs sur ces solutions et leur « positionnement singulier »."},{t:"p",text:"Qu'on ne se méprenne pas. Je n'ai aucune inimitié particulière envers les entreprises américaines, ni envers Bleu ou S3NS. Je pense même qu'elles ont une place intéressante dans notre écosystème. Le problème apparaît lorsque nous **considérons** qu'il n'existe **aucune alternative crédible possible**, et que nous organisons ensuite nos politiques publiques autour de cette hypothèse."},{t:"p",text:"Car cette hypothèse finit par devenir autoréalisatrice. Si nous ne commandons jamais aux alternatives européennes parce qu'elles sont trop petites, **elles resteront trop petites parce que nous ne leur commandons jamais rien**."},{t:"h3",text:"Nous subventionnons d'un côté ce que nous refusons d'acheter de l'autre"},{t:"image",src:"/images/articles/france-2027-subvention-achat.webp",alt:"Schéma : l'Ãtat subventionne d'un côté une entreprise française, et achète de l'autre à une entreprise américaine. Entre les deux flèches, un point d'interrogation souligne l'incohérence.",caption:"SUBVENTIONNER D'UN CÃTÃ, ACHETER DE L'AUTRE"},{t:"p",text:"C'est probablement là que se situe l'une des incohérences les plus importantes de notre politique industrielle numérique."},{t:"p",text:"Nous dépensons beaucoup d'argent pour soutenir nos startups, financer la recherche, accompagner l'innovation ou faire émerger des technologies souveraines. Puis, lorsque vient le moment de passer une commande importante, nous choisissons très souvent les acteurs dominants existants."},{t:"p",text:"Le Sénat fait d'ailleurs un constat particulièrement sévère sur ce point. Sa commission d'enquête sur la commande publique relève des difficultés persistantes de l'Ãtat à soutenir les startups et PME françaises et européennes dans ses propres marchés. Elle souligne notamment que seulement **1,75 milliard d'euros de commande publique** avait été consacré aux startups en 2022, une part extrêmement faible de l'ensemble des achats publics."},{t:"callout",text:"à quoi sert de financer l'émergence d'une entreprise si nous refusons ensuite de devenir son client ?"},{t:"p",text:"Si nous voulons réellement réindustrialiser la France et l'Europe, y compris dans le numérique, nous devons probablement sortir d'une politique reposant presque exclusivement sur les aides et commencer à réfléchir davantage en termes de **contrats**. Pour résumer brutalement l'idée : revoir la stratég
83ie d'achat de l'Ãtat et encourager les grands acteurs français à utiliser leur propre demande pour faire monter en capacité des entreprises françaises et européennes."},{t:"p",text:"C'est très différent d'une subvention. Une subvention permet à une entreprise de travailler quelques mois ou quelques années sur une technologie. Un contrat lui permet d'embaucher, d'investir, de construire une infrastructure, d'améliorer son produit et surtout de démontrer à ses prochains clients que quelqu'un lui a déjà fait confiance."},{t:"image",src:"/images/articles/france-2027-cercle-contrat.webp",alt:"Cycle en trois temps : une entreprise gagne un contrat, ce qui lui permet d'investir, ce qui la rend plus compétitive, ce qui lui permet de gagner le contrat suivant.",caption:"LE CERCLE VERTUEUX DE LA COMMANDE",maxHeight:"520px"},{t:"h3",text:"« Ce qui manque, ce ne sont pas des subventions, ce sont des commandes »"},{t:"p",text:"Je reprends ici une phrase de **Damien Lucas, CEO de Scaleway**, prononcée à VivaTech en juin 2026 alors qu'il évoquait le développement d'une filière européenne de processeurs :"},{t:"quote",text:"Ce qui manque, ce ne sont pas des subventions, ce sont des commandes."},{t:"p",text:"Et Scaleway a décidé de mettre cette idée en pratique en annonçant l'achat de puces auprès du fabricant français **VSORA**."},{t:"p",text:"La logique est intéressante. Scaleway aurait pu simplement expliquer que l'Ãtat devait davantage financer l'industrie européenne des semi-conducteurs. à la place, l'entreprise a décidé de devenir elle-même cliente."},{t:"p",text:"C'est exactement ce que devrait provoquer une stratégie industrielle efficace : **des acteurs qui ont intérêt à ce qu'une filière européenne existe et qui acceptent donc de participer à la construction de son marché.** L'Ãtat devrait probablement raisonner de la même manière."},{t:"h3",text:"Le cas Mistral : une réussite européenne à regarder de près"},{t:"p",text:"Il faut malgré tout éviter de tomber dans un discours trop pessimiste. **Mistral AI est probablement l'un des meilleurs contre-exemples récents à l'idée selon laquelle l'Europe serait incapable de faire émerger rapidement un acteur technologique de premier plan.**"},{t:"p",text:"Créée en 2023, l'entreprise a levé **1,7 milliard d'euros en septembre 2025** pour une valorisation de 11,7 milliards d'euros, avec ASML comme investisseur principal. Début 2026, son rythme de revenus annualisé dépassait les **400 millions de dollars**, contre environ 20 millions un an auparavant, et l'entreprise revendiquait plus d'une centaine de grands clients."},{t:"p",text:"Surtout, Mistral ne grandit plus uniquement grâce à une image de « champion français de l'IA ». L'entreprise commence à décrocher de vrais contrats industriels : Airbus, BMW et EDF ont notamment choisi ses technologies pour différents usages d'ingénierie et d'IA industrielle. Airbus a depuis signé un accord de long terme avec Mistral pour développer et déployer des solutions d'IA souveraines, notamment sur des usages sensibles liés à la défense et à la propriété intellectuelle."},{t:"p",text:"Il n'y a pas de recette secrète, il suffit de voir ce qui se dit dans les événements de la tech. Mistral n'est pas une entité chanceuse qui a émergé par magie. Elle avait un VRP très puissant à la tête de l'Ãtat, car il y avait une vraie volonté politique de faire émerger ce type d'acteur sur le territoire. Il suffit de voir aussi la composition de l'équipe de départ, l'expertise et les réseaux des fondateurs, qui ont été un accélérateur et sûrement un liant dans cette coopération Ãtat / grandes entreprises."},{t:"p",text:"Cela n'enlève rien à l'exploit, c'est une simple réalité entrepreneuriale, et donc le talent de ses membres. Prenons son concurrent allemand qui a essayé de faire un « concurrent à OpenAI » : **Aleph Alpha** a fini par abandonner cette course au modèle et se faire racheter par Cohere, l'acteur canadien. Cela souligne aussi qu'il existera des échecs dans la stratég
83ie économique que nous essayons de mener."},{t:"p",text:"Ce cas est intéressant parce qu'il montre qu'**un acteur européen peut rattraper une partie de son retard lorsqu'il bénéficie simultanément de capital, de talents, d'un marché et de grands clients prêts à lui faire confiance.**"},{t:"p",text:"Cela ne signifie pas que Mistral a « gagné » la bataille de l'IA, ni qu'il faut en faire artificiellement notre champion unique. L'entreprise reste elle-même dépendante de nombreuses briques étrangères, notamment pour le calcul. Mais elle démontre quelque chose d'important :"},{t:"callout",text:"Le problème européen n'est pas nécessairement l'absence de compétences ou d'entrepreneurs capables de construire des champions technologiques. Le problème est aussi **notre capacité à leur donner suffisamment vite le marché nécessaire pour changer d'échelle**."},{t:"p",text:"Et c'est précisément là que la question de la commande devient centrale."},{t:"h3",text:"L'Europe commence néanmoins à bouger, de force"},{t:"p",text:"Un changement commence malgré tout à apparaître. Plusieurs administrations européennes cherchent aujourd'hui à réduire leur dépendance à certaines solutions américaines, notamment Microsoft, et se tournent davantage vers des solutions open source ou européennes."},{t:"p",text:"Les motivations ne sont pas idéologiques, sinon cela aurait commencé il y a un moment : c'est une gestion du risque qui prend le pas. Elles sont aussi économiques : éviter d'être totalement dépendant des évolutions tarifaires d'un fournisseur. Elles deviennent, donc, également géopolitiques."},{t:"p",text:"L'affaire du magistrat de la Cour pénale internationale sanctionné par les Ãtats-Unis a notamment montré à quel point une personne située en Europe peut être affectée dans sa vie quotidienne lorsque des entreprises américaines appliquent des sanctions décidées par leur gouvernement."},{t:"callout",text:"Un service numérique auquel nous avons accès aujourd'hui n'est pas nécessairement un service auquel nous aurons toujours accès demain."},{t:"p",text:"Le problème est donc économique, juridique, industriel et désormais clairement géopolitique. Et c'est probablement à partir de ce constat qu'il faut commencer à réfléchir à la suite."},{t:"p",text:"Car dire qu'il faut « acheter européen » est facile. La vraie question est beaucoup plus complexe : **comment organiser cette demande sans tomber dans le protectionnisme aveugle, financer des entreprises médiocres ou remplacer un monopole américain par un monopole européen ?**"},{t:"p",text:"C'est là que les choses deviennent intéressantes."},{t:"h2",text:"Mesurer notre dépendance comme nous mesurons notre impact environnemental"},{t:"p",text:"*Ce que nous ne mesurons pas, nous ne le maîtrisons pas.*"},{t:"p",text:"Avant de chercher à réduire notre dépendance numérique, encore faudrait-il être capables de la mesurer. Cela peut sembler évident, mais nous avons déjà c
83onnu exactement le même problème sur un autre sujet : l'environnement."},{t:"p",text:"Pendant longtemps, l'impact environnemental d'une entreprise était essentiellement considéré comme une externalité. Une entreprise publiait son chiffre d'affaires, sa marge, ses investissements ou sa dette. En revanche, la quantité de COâ nécessaire à son activité, sa consommation de ressources ou l'impact de sa chaîne de fournisseurs restaient beaucoup plus difficiles à voir."},{t:"p",text:"Nous avons progressivement changé de logique. L'un des exemples les plus récents en Europe est la **CSRD** (*Corporate Sustainability Reporting Directive*). Son principe est intéressant au-delà même du débat écologique : certaines entreprises doivent publier des informations standardisées sur leurs enjeux environnementaux, sociaux et de gouvernance."},{t:"p",text:"Mais surtout, et c'est le plus important, elles doivent **cartographier leurs propres fournisseurs**. Cette idée était fondamentalement novatrice. Ne vous trompez pas : j'ai accompagné des startups sur ces sujets et rencontré des entreprises, même très importantes, qui n'avaient pas une idée précise de leur gestion de risque fournisseur."},{t:"p",text:"Autrement dit, nous avons transformé quelque chose de difficile à observer en quelque chose que nous cherchons à **mesurer, comparer et piloter**."},{t:"p",text:"Et ce changement n'est pas anodin. Lorsqu'un indicateur entre dans le reporting d'une entreprise, il finit également par entrer dans ses décisions. Il peut être regardé par son conseil d'administration, ses clients, ses banques, ses investisseurs ou ses salariés."},{t:"p",text:"Le marché financier lui-même a progressivement commencé à intégrer une partie de ces risques. La littérature économique n'est pas parfaitement unanime sur leur ampleur, mais plusieurs travaux montrent que les émissions ou l'exposition au risque climatique peuvent avoir une incidence sur la valorisation ou le coût du capital des entreprises. Une étude internationale publiée en 2021 trouve par exemple une relation négative entre le niveau d'émissions déclaré et la valeur des entreprises observées."},{t:"p",text:"Il faut toutefois rester prudent : cela ne signifie pas que chaque tonne de COâ supplémentaire retire mécaniquement quelques euros à une action. La relation entre pollution, risque et valorisation est beaucoup plus complexe, et certaines études observent même ce que les économistes appellent une **« prime carbone »** : les investisseurs peuvent exiger davantage de rendement pour accepter de détenir des entreprises fortement exposées au risque climatique."},{t:"p",text:"Mais c'est justement cela qui m'intéresse ici. **Le carbone est devenu, au moins en partie, un risque économique mesurable.** Pourquoi n'en serait-il pas de même demain pour notre dépendance numérique, dont l'impact business est plus palpable encore (kill switch, licences, réglementation) ?"},{t:"h3",text:"Une dette numérique que nous savons très mal mesurer"},{t:"p",text:"Prenons une entreprise française fictive. Elle utilise Microsoft 365 pour sa bureautique, Azure pour une partie de son infrastructure, Salesforce pour son CRM, GitHub pour héberger son code, les API d'OpenAI pour certaines fonctionnalités et des GPU NVIDIA dont les logiciels reposent largement sur CUDA."},{t:"p",text:"Aucun de ces choix n'est nécessairement mauvais individuellement. Le problème apparaît lorsque l'on regarde l'ensemble."},{t:"list",items:["Que se passe-t-il si un fournisseur augmente brutalement ses prix ?","Combien coûterait réellement une migration ? Combien de temps faudrait-il pour changer ?","Existe-t-il une alternative techniquement crédible ?","Les données peuvent-elles être récupérées facilement ?","Les équipes possèdent-elles encore les compétences nécessaires pour opérer une solution différente ?","Le fonctionnement de l'entreprise dépend-il d'une juridiction étrangère ?","La technologie utilisée repose-t-elle elle-même sur une autre dépendance que nous n'avons pas identifiée ?"]},{t:"p",text:"Nous savons très bien répondre à une question comme : « Quel est votre chiffre d'affaires réalisé aux Ãtats-Unis ? » Nous sommes beaucoup moins capables de répondre à :"},{t:"callout",text:"Quelle proportion de votre capacité numérique peut continuer à fonctionner si vous perdez l'accès à vos principaux fournisseurs américains ?"},{t:"p",text:"Et pourtant, pour certaines entreprises, la deuxième question peut être au moins aussi stratég
83ique que la première."},{t:"p",text:"Les différents travaux réalisés en France sur la souveraineté numérique commencent d'ailleurs à aller dans cette direction. Le rapport sur la coopération entre le public, le privé et les communs numériques insiste notamment sur la nécessité d'établir et de maintenir une cartographie des briques numériques utilisées et disponibles. Il rappelle également qu'une stratégie de souveraineté suppose d'abord de connaître précisément ses dépendances."},{t:"h3",text:"Créons un bilan de dépendance numérique"},{t:"p",text:"Je pense que nous devrions progressivement créer l'équivalent numérique de ce que nous avons commencé à construire avec les indicateurs environnementaux. Pas nécessairement une nouvelle usine administrative de plusieurs centaines de pages. Mais un **bilan de dépendance numérique**, fondé sur quelques indicateurs communs."},{t:"p",text:"Pour chaque grande brique du système d'information d'une organisation, nous pourrions par exemple regarder :"},{t:"list",items:["**La dépendance juridique.** à quelle juridiction appartient réellement le fournisseur ? Existe-t-il des lois extraterritoriales susceptibles de s'appliquer ?","**La dépendance technique.** La technologie repose-t-elle sur des formats ou des composants propriétaires ? Peut-on réellement la remplacer ?","**La réversibilité.** Combien coûterait une migration ? Combien de temps prendrait-elle ? Peut-on récupérer les données dans un format exploitable ?","**La concentration.** Combien de fournisseurs différents sont capables de fournir la même fonction ?","**La dépendance aux compétences.** Les compétences permettant d'exploiter ou de maintenir cette technologie existent-elles encore en France ou en Europe ?","**La dépendance de second niveau.** Un fournisseur présenté comme européen dépend-il lui-même entièrement d'une technologie américaine ou asiatique indispensable à son fonctionnement ?"]},{t:"h3",text:"Une dépendance technologique peut devenir une dépendance juridique"},{t:"p",text:"Il existe depuis longtemps un exemple particulièrement parlant de ce phénomène dans l'industrie de défense et le spatial : **ITAR**, pour *International Traffic in Arms Regulations*."},{t:"p",text:"ITAR est le régime américain qui contrôle l'exportation, mais également dans certaines situations la réexportation ou le transfert, de matériels, services et données techniques de défense relevant de la réglementation américaine. Ainsi, intégrer certains composants américains dans un système européen peut imposer des contraintes sur ce qu'il sera ensuite possible de faire de ce système, notamment lorsqu'il doit être transféré ou exporté vers un autre pays."},{t:"p",text:"Ce n'est d'ailleurs pas une inquiétude théorique inventée par quelques défenseurs de la souveraineté européenne. La Commission européenne relevait déjà que les industriels européens utilisant certains composants américains pouvaient devoir obtenir l'accord préalable des Ãtats-Unis pour les transférer ensuite vers des pays tiers."},{t:"p",text:"Le spatial européen cherche pour cette raison depuis des années à développer certaines technologies **« ITAR-free »**. L'Agence spatiale européenne présente par exemple son moteur EuroSMG, conçu et fabriqué en Europe sans composants soumis à ITAR, comme participant directement à son objectif d'indépendance stratégique de la chaîne d'approvisionnement européenne."},{t:"p",text:"C'est une excellente illustration de ce que nous devrions apprendre à mesurer dans le numérique. La question n'est donc pas uniquement « où cette technologie a-t-elle été fabriquée ? », mais également :"},{t:"callout",text:"De quelles technologies dépend-elle et quels droits étrangers ces dépendances donnent-elles à d'autres Ãtats ?"},{t:"p",text:"Une solution peut ainsi être française dans son assemblage final, européenne dans son hébergement, voire développée majoritairement par des équipes européennes, tout en conservant une dépendance stratég
83ique à une brique étrangère difficilement substituable. C'est exactement ce que devrait faire apparaître un bilan de dépendance numérique : **les dépendances de premier niveau, mais aussi les dépendances en cascade qui se cachent derrière elles.**"},{t:"p",text:"Et, dans le cas de l'open source, nous y reviendrons, une question supplémentaire : **qui contrôle réellement le projet ?** Parce qu'un dépôt GitHub public ne signifie pas nécessairement que nous possédons la capacité industrielle permettant de maintenir le logiciel."},{t:"p",text:"L'objectif ne serait pas d'arriver à un ridicule « 82,4 % souverain ». Mais de faire apparaître les concentrations critiques et les situations dans lesquelles **une entreprise, une administration ou même un pays n'a plus réellement de plan B**. On pourrait alors imaginer un indicateur comparable à une exposition au risque :"},{t:"list",items:["Cloud : dépendance forte","Bureautique : dépendance critique","IA : dépendance moyenne","Cybersécurité : dépendance faible","Bases de données : dépendance forte"]},{t:"p",text:"Puis suivre son évolution dans le temps."},{t:"h3",text:"Une méthodologie commence déjà à émerger"},{t:"p",text:"Cette idée n'est d'ailleurs pas complètement théorique. En France, **aDRI** (*A Digital Resilience Initiative*), portée notamment par Yann Lechelle, David Djaïz et Arno Pons, travaille justement à la création d'un **Indice de Résilience Numérique (IRN)**."},{t:"p",text:"L'objectif affiché est assez proche de ce que je décris ici : permettre aux entreprises d'avoir une vision plus claire, complète et objectivée de leurs dépendances et vulnérabilités numériques, afin de sortir d'évaluations aujourd'hui souvent réalisées en silos entre cybersécurité, continuité d'activité, achats, RGPD ou conformité."},{t:"p",text:"L'initiative cherche notamment à créer un langage commun permettant de faire remonter ces sujets jusqu'aux directions générales et aux comités exécutifs, avec à terme un indicateur synthétique de résilience numérique. Je trouve la démarche particulièrement intéressante parce qu'elle participe exactement au changement de logique que je défends ici : **passer d'un débat essentiellement politique autour de la souveraineté à une capacité à mesurer concrètement les dépendances numériques d'une organisation.**"},{t:"p",text:"La méthodologie est encore jeune et devra naturellement faire ses preuves : quelles dépendances mesurer ? Comment les pondérer ? Comment éviter qu'un score global masque une vulnérabilité critique sur une seule brique ? Et surtout, comment rendre comparable la situation d'entreprises aux systèmes d'information extrêmement différents ?"},{t:"p",text:"Mais ce caractère encore balbutiant n'est pas un problème. Les indicateurs environnementaux eux-mêmes ne sont pas apparus parfaitement formés du jour au lendemain. Ils ont été progressivement normalisés, enrichis et intégrés dans les processus de décision."},{t:"p",text:"Mon « bilan de dépendance numérique » pourrait donc parfaitement ne pas être un nouvel indicateur inventé par l'Ãtat. Il pourrait au contraire s'appuyer sur ce type de travaux, les compléter, les confronter à d'autres méthodologies européennes et progressivement faire émerger un standard commun. Car avant de décider quelles dépendances nous voulons réduire, encore faut-il commencer par être capables de les voir."},{t:"h3",text:"Ce qui est mesuré finit par devenir un critère de décision"},{t:"p",text:"C'est probablement l'une des principales leçons à retenir du reporting environnemental. Il est évidemment possible de critiquer la CSRD : son coût administratif, sa complexité et son périmètre ont fait l'objet de débats importants."},{t:"p",text:"L'Europe elle-même est d'ailleurs revenue sur une partie de son ambition initiale. Dans le cadre de son paquet de simplification « Omnibus », les institutions européennes ont fortement réduit le nombre d'entreprises devant obligatoirement produire ce reporting. En février 2026, le Conseil a validé un périmètre centré sur les entreprises de plus de **1 000 salariés et 450 millions d'euros** de chiffre d'affaires annuel net."},{t:"p",text:"Aux Ãtats-Unis, le mouvement est encore plus marqué. Depuis le retour de Donald Trump, le cadre fédéral américain sur le reporting climatique connaît un retournement spectaculaire. En mai 2026, la SEC a proposé de supprimer entièrement les règles de publication d'informations climatiques qu'elle avait adoptées quelques années auparavant."},{t:"p",text:"Je ne cite pas ces évolutions pour déterminer ici qui a raison sur le fond du débat environnemental. Personnellement, je pense que l'on peut faire « quelque chose d'intéressant, sans se prendre la tête ». Elles montrent surtout autre chose :"},{t:"callout",text:"Choisir ce que l'on oblige les entreprises à mesurer est une décision économique et politique. Une information qui n'existe pas dans les tableaux de bord a beaucoup plus de difficultés à entrer dans les arbitrages."},{t:"p",text:"C'est précisément le problème de notre souveraineté numérique. Nous parlons énormément de dépendance. Mais nous continuons à très peu la mesurer."},{t:"h3",text:"Environnement et souveraineté peuvent poursuivre le même objectif"},{t:"p",text:"Il existe enfin une autre raison pour laquelle le parallèle avec l'environnement me semble intéressant : ces deux objectifs ne sont pas toujours concurrents."},{t:"p",text:"Prenons l'intelligence artificielle. Faire fonctionner un modèle nécessite du calcul. Ce calcul nécessite des datacenters. Ces datacenters nécessitent de l'électricité. Choisir l'endroit où nous exécutons une charge de calcul revient donc simultanément à choisir une infrastru
83cture, une juridiction, un fournisseur, des technologies et **un mix énergétique**."},{t:"p",text:"Dans certains cas, déplacer du calcul vers une infrastructure française ou européenne peut donc répondre **à la fois à un objectif de réduction de dépendance et à un objectif environnemental**."},{t:"p",text:"La France dispose notamment d'un système électrique particulièrement décarboné par rapport à de nombreuses régions du monde. Cela ne signifie évidemment pas que tout datacenter français est automatiquement plus écologique qu'un datacenter américain : le résultat dépend de l'emplacement exact, de l'efficacité de l'infrastructure, de son approvisionnement électrique et du matériel utilisé."},{t:"p",text:"Mais cela signifie que les deux politiques peuvent parfois aller dans le même sens. C'est même un point qu'il faudra intégrer dans notre réflexion industrielle : si demain l'Europe souhaite héberger une part plus importante du calcul lié à l'intelligence artificielle, **le coût et l'origine de l'énergie deviendront eux-mêmes un élément de souveraineté numérique.**"},{t:"h3",text:"Faire apparaître le risque pour pouvoir agir dessus"},{t:"p",text:"à terme, j'aimerais même que nous soyons capables de poser une question aujourd'hui assez inhabituelle : **une entreprise extrêmement dépendante technologiquement doit-elle être considérée comme plus risquée qu'une entreprise capable de changer rapidement de fournisseurs ?**"},{t:"p",text:"Cela me paraît finalement assez logique. Une entreprise dépendante d'un fournisseur unique qui peut augmenter ses prix, modifier ses licences, supprimer un produit ou devenir inaccessible à la suite d'un événement géopolitique ou économique possède une forme de risque opérationnel supplémentaire."},{t:"callout",text:"Le terme « autonomie » à la place de « souveraineté », défendu par JB Kempf, est très malin. Dans un sens, ces termes représentent la même chose, mais parler d'autonomie pour une entreprise met l'accent sur la capacité à changer de fournisseur, et donc à se rendre plus résiliente à une hausse de prix ou à un arrêt de service. C'est un sujet déjà bien maîtrisé dans l'industrie traditionnelle : nous devons reprendre cette logique dans le numérique."},{t:"p",text:"Aujourd'hui, ce risque est généralement dilué dans les analyses traditionnelles. Demain, nous pourrions peut-être parler d'une véritable **« prime » de dépendance numérique**, de la même manière que les marchés commencent à intégrer certaines formes de risque climatique."},{t:"p",text:"Nous n'en sommes évidemment pas encore là . Mais avant même d'imaginer que les investisseurs, les banques ou les assureurs commencent à valoriser ce risque, l'Ãtat pourrait commencer par se l'appliquer à lui-même. Avant chaque grande décision numérique, une administration devrait pouvoir répondre à quelques questions simples :"},{t:"list",ordered:!0,items:["De qui allons-nous dépendre ?","Pour combien de temps ?","Quel serait le coût réel pour en sortir ?","Existe-t-il une alternative européenne ?","Et si elle n'existe pas aujourd'hui, avons-nous intérêt à faire en sorte qu'elle existe demain ?"]},{t:"p",text:"Car avant de parler de préférence européenne, de commande publique ou de politique industrielle, il nous faut commencer par savoir précisément où se situent nos dépendances. **Ce que nous avons commencé à faire avec le carbone, nous devons maintenant apprendre à le faire avec notre dépendance numérique : la rendre visible avant d'espérer la réduire.**"},{t:"h2",text:"Cartographier la chaîne de valeur pour trouver nos vrais trous stratégiques"},{t:"p",text:"*Nous ne pouvons pas tout fabriquer, alors choisissons.*"},{t:"p",text:"Avant de décider où investir, encore faut-il savoir précisément ce que nous possédons déjà et ce qui nous manque réellement. Il faudrait donc cartographier l'ensemble de la chaîne de valeur numérique, depuis les matières premières jusqu'aux applications finales : semi-conducteurs, architectures, datacenters, cloud, systèmes d'exploitation, bases de données, modèles d'IA, middleware, cybersécurité, logiciels et services."},{t:"p",text:"Pour chaque couche, la question serait simple : existe-t-il une capacité française ? Une capacité européenne ? Cette dépen
83dance est-elle acceptable, critique ou stratégique ? **L'objectif ne doit surtout pas être de combler tous les trous, mais d'identifier ceux dont l'absence peut réellement limiter notre autonomie future.**"},{t:"callout",text:"Ce qui suit est réellement une V0. Elle est fiable pour commencer une analyse de fond et mettre le doigt là où il y a de l'effort à mettre. Mais les données devront être consolidées pour obtenir une analyse fine : je ne suis pas analyste pour l'Ãtat, je n'ai donc pas forcément le temps et l'énergie de le faire ;)"},{t:"table",caption:"V0 DE LA CHAÃNE DE VALEUR NUMÃRIQUE",head:["Couche","Ce qu'elle contient","Acteurs mondiaux typiques","Acteurs européens / français à regarder"],rows:[["1. Matières premières","Silicium, cuivre, aluminium, lithium, cobalt, nickel, terres rares, gallium, germanium","Chine, Australie, Chili, RDC + groupes miniers internationaux","Eramet, Imerys, Solvayâ¦"],["2. Raffinage & matériaux avancés","Raffinage des métaux, wafers, substrats, matériaux semi-conducteurs, aimants","Entreprises chinoises, japonaises, coréennes, américaines","Soitec, Siltronic, Umicoreâ¦"],["3. Machines de fabrication","Lithographie, gravure, dépôt, métrologie, équipements de fabs","Applied Materials, Lam Research, KLA, Tokyo Electron","**ASML**, ASM Internationalâ¦"],["4. Conception des puces","CPU, GPU, NPU, accélérateurs IA, MCU, puces radio","NVIDIA, AMD, Qualcomm, Apple, Broadcom","STMicroelectronics, NXP, Infineon, VSORA, SiPearlâ¦"],["5. IP & architectures","ISA, cÅurs CPU, interfaces, IP de conception","Arm, x86 Intel/AMD, NVIDIA","Ãcosystème RISC-V, Codasipâ¦"],["6. EDA","Logiciels permettant de concevoir les puces","Synopsys, Cadence, Siemens EDA","Faiblesse européenne importante à examiner"],["7. Fonderies","Fabrication physique des puces","TSMC, Samsung, Intel","STMicroelectronics, GlobalFoundries Europe, Infineon ; capacités avancées limitées"],["8. Packaging & mémoire","HBM, DRAM, NAND, packaging avancé","SK Hynix, Samsung, Micron, TSMC","Très gros point de dépendance à examiner"],["9. Serveurs & hardware","Serveurs, cartes GPU, stockage, équipements HPC","Dell, HPE, Supermicro, NVIDIA","Eviden, OVHcloud côté intégration, fabricants spécialisés"],["10. Ãnergie","Production électrique, raccordement réseau, refroidissement","Fortement territorialisé","EDF, RTE, Engieâ¦"],["11. Datacenters","Bâtiments, refroidissement, alimentation, exploitation","Equinix, Digital Realty, hyperscalers","OVHcloud, Scaleway, Data4, Iliadâ¦"],["12. Réseaux & télécoms","Fibre, 5G/6G, backbone, câbles sous-marins, routeurs","Cisco, Huawei, hyperscalers","Nokia, Ericsson, Orange, Alcatel Submarine Networksâ¦"],["13. Cloud IaaS","Compute, stockage, réseau","AWS, Azure, GCP","OVHcloud, Scaleway, Outscale, Arubaâ¦"],["14. Cloud PaaS / middleware","Kubernetes, bases de données, messaging, serverless","AWS, Microsoft, Google, MongoDB, Confluentâ¦","Nombreux acteurs mais forte dépendance aux technologies US / open source"],["15. Systèmes d'exploitation","Serveur, desktop, mobile, embarqué","Microsoft, Apple, Google","Linux / open source ; distributions et intégrateurs européens"],["16. Runtime IA","CUDA, compilateurs, kernels, moteurs dâinférence","**NVIDIA/CUDA**, AMD ROCm, Google","Probablement lâun des trous stratégiques majeurs"],["17. Frameworks IA","Entraînement et développement","PyTorch, JAX, TensorFlow","Hugging Face comme acteur européen dâorigine, écosystème open source"],["18. Infrastructure IA","Serving, orchestration, vector DB, MLOps, RAG, agents","Très grand nombre dâacteurs US","Mistral, LightOn, Dust, Adaptive ML, Socle.ai et autres selon sous-couche"],["19. Modèles fondamentaux","LLM, vision, speech, multimodal","OpenAI, Anthropic, Google, Meta, xAI, Alibabaâ¦","Mistral AI, Aleph Alpha, Black Forest Labsâ¦"],["20. Données","Corpus, données industrielles, cartographie, santé, données publiques","Big Tech + grands data brokers","IGN, OpenStreetMap, data.gouv, acteurs sectorielsâ¦"],["21. Applications IA","Chat, copilots, logiciels métiers","Microsoft, OpenAI, Salesforce, ServiceNowâ¦","Ãnorme tissu européen de SaaS et startups"],["22. Capteurs","Caméras, lidar, radar, IMU, GPS/GNSS","Sony, Bosch, Velodyne/Ousterâ¦","Bosch, Valeo, Thales, Safranâ¦"],["23. Actionneurs / moteurs","Moteurs électriques, servos, transmissions","Chine, Japon, Allemagneâ¦","Siemens, Schneider, Bosch Rexroth, fabricants spécialisés"],["24. Robotique industrielle","Bras, cobots, contrôleurs","Fanuc, Yaskawa, ABB","ABB, KUKA, Stäubliâ¦"],["25. Robotique autonome","Robots mobiles, humanoïdes, perception/contrôle","Tesla, Figure, Boston Dynamics, Unitree","Exotec, Wandercraft, startups européennes"],["26. Drones, composants","Moteurs, batteries, contrôleurs de vol, GNSS, caméras, radios","Forte chaîne chinoise notamment","Safran, Thales, Exail, Lynred, fabricants spécialisés"],["27. Drones, plateformes","Drone complet","DJI, Autel, Andurilâ¦","Parrot, Delair, Quantum Systems, Tekeverâ¦"],["28. Navigation / positionnement","GPS/GNSS, navigation inertielle","GPS américain, BeiDou chinois","**Galileo**, Safran, Thalesâ¦"],["29. C
83ommunication sécurisée","Radio, satellite, datalink","Starlink, acteurs US","Thales, Airbus, Eutelsat/OneWeb, SESâ¦"],["30. Software robotique","ROS, simulation, autonomie, perception","ROS/Open Robotics, NVIDIA Isaac","Ãcosystème européen fragmenté"],["31. Modèles embarqués / Edge AI","Vision, navigation, décision locale","NVIDIA Jetson, Qualcomm","Hailo est israélien ; acteurs européens à identifier"],["32. Produit final / interface","Le fameux « chat », copilote, robot ou drone utilisé par le client","ChatGPT, Copilot, Gemini, DJIâ¦","Mistral Le Chat, applications européennes, industriels européens"]]},{t:"h3",text:"En réalité, on a un tronc commun"},{t:"p",text:"Le point vraiment intéressant apparaît lorsqu'on ne regarde plus les filières séparément. La chaîne se lit alors comme un empilement : matières premières â matériaux et composants â machines de fabrication â semi-conducteurs â serveurs, électronique et capteurs â énergie, datacenters et réseaux â cloud, systèmes et runtime â IA, logiciels et données. Et c'est seulement au sommet que la chaîne se divise en trois débouchés : le chat et le SaaS, la robotique, les drones."},{t:"image",src:"/images/articles/france-2027-chaine-valeur.webp",alt:"Schéma de la chaîne de valeur numérique en huit étages : matières premières, matériaux et composants, machines de fabrication, semi-conducteurs, serveurs et capteurs, énergie et datacenters et réseaux, cloud et systèmes et runtime, puis IA et logiciels et données. Le dernier étage se divise en trois débouchés : chat et SaaS, robotique, drones.",caption:"CHAÃNE DE VALEUR NUMÃRIQUE",maxHeight:"780px"},{t:"p",text:"L'UE reconnaît aujourd'hui explicitement ce lien : le **Chips Act 2.0** cherche notamment à rapprocher fabricants de semi-conducteurs et secteurs consommateurs comme les datacenters, le cloud et les futures AI Gigafactories. De son côté, **EuroHPC** compte désormais 19 AI Factories européennes et développe en parallèle les futures AI Gigafactories destinées à l'entraînement de très grands modèles."},{t:"h3",text:"Deux dimensions à ajouter à cette carte"},{t:"p",text:"La première serait **l'origine de la maîtrise** :"},{t:"list",items:["ð«ð· capacité française","ðªðº capacité européenne","ð¤ dépendance envers un partenaire considéré acceptable","â ï¸ forte dépendance extra-européenne","ð´ dépendance critique / absence d'alternative"]},{t:"p",text:"La seconde serait **le type de maîtrise**. Et c'est encore plus important que la nationalité de l'entreprise :"},{t:"list",items:["**R&D** : savons-nous concevoir la technologie ?","**Production** : pouvons-nous réellement la fabriquer ?","**Opération** : pouvons-nous l'exploiter sans assistance extérieure ?","**Maintenance** : pouvons-nous la maintenir dix ans ?","**Gouvernance** : pouvons-nous influencer son évolution ?","**Substitution** : avons-nous un plan B ?"]},{t:"p",text:"Cela éviterait un travers du type : « ASML est européen, donc les semi-conducteurs sont maîtrisés en Europe. » Non. ASML nous donne une position stratégique exceptionnelle sur **une brique** de la chaîne, tandis que l'Europe demeure dépendante sur d'autres. Le JRC documente précisément ces dépendances différentes selon les segments de la chaîne des semi-conducteurs."},{t:"p",text:"Voir cette chaîne de valeur dans son ensemble permet surtout d'éviter une erreur assez classique : **raisonner secteur par secteur alors que beaucoup de ces secteurs reposent en réalité sur les mêmes briques technologiques.** L'intelligence artificielle, le cloud, la robotique ou encore les drones ne sont pas quatre industries totalement indépendantes. Elles partagent une grande partie de leurs fondations."},{t:"p",text:"Prenons l'exemple des semi-conducteurs dédiés à l'intelligence artificielle. à première vue, on pourrait considérer qu'il s'agit d'un sujet propre aux grands modèles de langage ou aux datacenters. En réalité, les mêmes briques de calcul peuvent être utilisées pour la vision par ordinateur, la robotique autonome, les drones, les véhicules ou encore le calcul embarqué."},{t:"p",text:"Autrement dit, **un investissement réalisé sur une brique commune peut produire des effets dans plusieurs filières à la fois.** C'est précisément là que la cartographie devient utile : elle ne sert pas uniquement à chercher ce qui nous manque, elle permet aussi d'identifier les endroits où un effort concentré peut avoir le plus grand effet de levier industriel."},{t:"p",text:"Plutôt que de financer séparément une « stratég
83ie IA », une « stratégie robotique », une « stratégie drone » ou une « stratégie cloud », chacune avec ses propres budgets et ses propres priorités, il faut commencer par regarder les dépendances qu'elles ont en commun. La question devient alors moins « dans quel secteur devons-nous investir ? » que :"},{t:"callout",text:"Quelle brique technologique, si nous la maîtrisons mieux, renforcera le plus grand nombre de secteurs stratégiques ?"},{t:"p",text:"On pourrait presque mesurer cet **effet de levier stratégique** à partir de trois critères : le niveau de criticité de la technologie, le nombre de filières qui en dépendent et la faiblesse actuelle de la capacité française ou européenne à la produire, la maintenir ou la remplacer."},{t:"p",text:"Toutes les briques ne méritent donc pas le même niveau d'effort. Certaines technologies très spécifiques peuvent rester dépendantes de fournisseurs étrangers sans créer de risque majeur : présence de suffisamment d'acteurs différents ayant des enjeux différents, temps long avant un besoin en cas d'arrêt logistique. à l'inverse, une dépendance sur une brique transversale (semi-conducteurs avancés, infrastructures de calcul, certains runtimes, réseaux, navigation ou cybersécurité) peut fragiliser simultanément plusieurs secteurs."},{t:"h3",text:"Rapidement, certaines cases apparaissent comme stratégiques"},{t:"p",text:"Une fois cette chaîne mise à plat, certaines dépendances ressortent presque immédiatement. Pas forcément parce qu'aucun acteur européen n'existe, mais parce que nous ne disposons pas toujours d'un acteur suffisamment fort, d'une capacité industrielle suffisante ou d'une alternative crédible à l'échelle mondiale."},{t:"p",text:"ð´ **Trous / dépendances vraiment inquiétants**"},{t:"list",ordered:!0,items:["HBM / mémoire avancée","Fonderie leading-edge","GPU / accélérateurs IA à très grande échelle","Runtime portable capable de réduire la dépendance à CUDA"]},{t:"p",text:"ð **Nous avons déjà les acteurs mais pas encore la masse critique** : cloud hyperscale / PaaS, compute IA embarqué et *physical AI*, logiciel et infrastructure IA."},{t:"p",text:"ð¡ **Position européenne déjà stratégique à préserver** : l'EDA, grâce notamment à Siemens EDA."},{t:"table",caption:"LES HUIT BRIQUES à REGARDER EN PRIORITÃ",head:["Brique","Acteurs français / européens existants","Fournisseurs étrangers dominants","Risque principal"],rows:[["1. Accélérateurs IA / GPU","**VSORA** ð«ð· ; **Axelera AI** ð³ð± ; SiPearl ð«ð· côté CPU HPC/IA ; STMicroelectronics sur lâedge","**NVIDIA** ðºð¸ très dominant ; AMD ðºð¸ ; Google TPU ðºð¸ sur son cloud","ð´ Très fort"],["2. Runtime des accélérateurs","Stacks propres de VSORA / Axelera ; projets européens encore fragmentés","**CUDA / NVIDIA** ðºð¸ ; ROCm/AMD ðºð¸ ; oneAPI/Intel ðºð¸","ð´ Très fort"],["3. EDA","**Siemens EDA** ð©ðª est un acteur mondial majeur ; initiatives EuroCDP / open source","**Synopsys** ðºð¸, **Cadence** ðºð¸","ð Oligopole extrêmement concentré"],["4. HBM / mémoire avancée","Pas de fabricant européen de HBM à grande échelle identifié","SK Hynix ð°ð·, Samsung ð°ð·, Micron ðºð¸","ð´ Oligopole de trois groupes"],["5. Fonderie avancée","STMicroelectronics ð«ð·ð®ð¹, Infineon ð©ðª, GlobalFoundries Dresden ; ESMC/TSMC en Allemagne bientôt","**TSMC** ð¹ð¼ ; Samsung ð°ð· ; Intel ðºð¸","ð´ Très fort sur les nÅuds de pointe"],["6. Cloud hyperscale / PaaS","**OVHcloud**, **Scaleway**, Clever Cloud ð«ð· ; IONOS, STACKIT ð©ðª ; Aruba ð®ð¹","**AWS, Microsoft Azure, Google Cloud** ðºð¸","ð´ Concentration + profondeur de catalogue"],["7. Compute embarqué robotique / drones","**STMicroelectronics**, **NXP** ð³ð± ; VSORA ; Axelera AI","NVIDIA Jetson ðºð¸, Qualcomm ðºð¸ ; divers fournisseurs asiatiques","ð à ð´ selon le niveau de performance"],["8. Briques logicielles IA","Mistral AI ð«ð·, Qdrant ð©ðª, Clever Cloud ð«ð·, acteurs européens spécialisés ; écosystème open source","NVIDIA, Microsoft, Google, AWS, OpenAI et nombreux projets US","ð Très fragmenté plutôt quâabsence totale"]]},{t:"h3",text:"1. Accélérateurs IA / GPU"},{t:"p",text:"Ici, il faut nuancer fortement le « l'Europe n'a rien ». En France, **VSORA** développe des processeurs dédiés à l'inférence IA, pour les datacenters comme pour l'edge : s
83on Jotunn8 a atteint l'étape du *tape-out* en 2025. Aux Pays-Bas, **Axelera AI** développe également ses propres accélérateurs ; l'entreprise a levé 250 M$ début 2026 et ses accélérateurs ont été sélectionnés pour une partition d'inférence d'une AI Factory EuroHPC."},{t:"p",text:"**SiPearl** est légèrement différent : son cÅur de métier est le CPU haute performance européen, notamment pour HPC, IA et datacenters, plutôt qu'un équivalent direct du GPU NVIDIA."},{t:"p",text:"Le problème est donc moins « nous ne savons pas concevoir de puces IA » que **« nous ne possédons pas encore une plateforme européenne déployée à l'échelle de NVIDIA »**."},{t:"p",text:"NVIDIA reste le point de dépendance évident, avec AMD comme principal concurrent généraliste américain. C'est un risque particulièrement important parce que cette même brique irrigue cloud, IA, simulation, robotique et calcul scientifique. Plutôt que d'essayer d'atteindre un géant de front, on cherche à faire une avancée progressive sur des points où la concurrence peut être intéressante stratégiquement comme commercialement : ici les CPU haute performance, mais on peut aussi parler de LPU, d'IPU."},{t:"link",href:"https://socle.ai/fr/articles/les-puces-le-nerf-de-la-guerre/",label:"Les puces : le nerf de la guerre",note:"Le chapitre précédent détaille les architectures, les nÅuds avancés et le verrou CUDA"},{t:"image",src:"/images/articles/france-2027-composition-puce.webp",alt:"Schéma en trois niveaux montrant ce qu'il faut maîtriser pour produire un GPU : au sommet le GPU lui-même, en dessous ses composants (VRAM, VRM, PCIe), puis le wafer, et à la base les matières premières : silicium, or, cuivre, phosphore.",caption:"LES PUCES, UNE PROBLÃMATIQUE COMPLEXE"},{t:"callout",text:"ð´ Probablement une priorité stratégique de premier rang."},{t:"h3",text:"2. Le runtime : peut-être encore plus critique que la puce"},{t:"quote",text:"L'ère de la production est finie avec les agents de programmation, l'important maintenant c'est le run."},{t:"p",text:"Ludovic Fleury, CEO de Cloud IAM, conversation autour d'un café à Bourse."},{t:"p",text:"Même si demain une entreprise européenne produit une excellente puce, elle doit convaincre les développeurs de quitter un écosystème logiciel construit depuis des années autour de **CUDA**."},{t:"p",text:"Les concurrents disposent bien de leurs propres stacks : AMD avec ROCm, Intel avec oneAPI, Axelera ou VSORA avec leurs outils. Mais aucun écosystème européen n'a aujourd'hui une présence comparable à CUDA. C'est donc une dépendance particulière : **ce n'est pas un monopole absolu sur le hardware, mais un verrouillage par l'écosystème logiciel.** Et surtout, les grandes alternatives généralistes restent américaines."},{t:"p",text:"C'est exactement le genre de case où une politique européenne pourrait chercher non pas nécessairement à inventer encore une API propriétaire, mais à favoriser **un runtime ouvert et portable entre accélérateurs**."},{t:"callout",text:"ð´ Critique et très transversal."},{t:"h3",text:"3. EDA : surprise, l'Europe possède déjà l'un des trois géants"},{t:"p",text:"Le marché mondial de l'EDA n'est pas simplement américain. Les trois acteurs structurants sont **Synopsys** ðºð¸, **Cadence** ðºð¸ et **Siemens EDA**, contrôlé par Siemens ð©ðª. L'Europe possède donc déjà une position très importante. En 2026, Siemens participe d'ailleurs à **EuroCDP**, la plateforme européenne destinée à donner aux entreprises, chercheurs et startups un meilleur accès aux outils avancés d'EDA."},{t:"p",text:"Le risque reste néanmoins énorme : nous sommes dans un oligopole mondial de quelques entreprises seulement. Si vous voulez concevoir une puce avancée mais que votre chaîne d'outils dépend de deux ou trois fournisseurs mondiaux, la souveraineté de la conception reste fragile."},{t:"p",text:"C'est typiquement une case où la stratégie devrait peut-être être « renforcer ce que nous possédons déjà », plutôt que créer un nouveau champion de zéro. Et surtout **surveiller et protéger** l'existant : je ne connais pas la répartition actionnariale de Siemens, mais une rapide recherche montre que l'attention est de mise."},{t:"link",href:"https://assets.ctfassets.net/17si5cpawjzf/1kahIiDexZwqRBqevUJ5dF/d8ee26b7a519a8d46fefea0920437a50/Siemens_shareholder_structure_EN.pdf",label:"Structure actionnariale de Siemens",
83note:"Document officiel (PDF, en anglais)"},{t:"callout",text:"ð Stratégique, mais l'Europe possède déjà un excellent point d'appui avec Siemens."},{t:"h3",text:"4. HBM : probablement l'un des trous les plus nets"},{t:"p",text:"Ici, la situation est beaucoup plus brutale. La **High Bandwidth Memory** est devenue une brique essentielle des accélérateurs IA modernes : disposer de capacités de calcul gigantesques ne sert à rien si les processeurs ne peuvent pas accéder suffisamment rapidement aux données."},{t:"p",text:"Or la production mondiale de HBM reste aujourd'hui concentrée autour de trois groupes : **SK Hynix** (Corée du Sud), **Samsung** (Corée du Sud) et **Micron** (Ãtats-Unis). Ces trois entreprises dominent encore le marché en 2026 et sont au cÅur de la transition vers HBM4. Je ne vois aujourd'hui aucun équivalent européen industriel capable de produire cette mémoire à une échelle comparable."},{t:"p",text:"Nous avons donc ici une **double concentration : par entreprise et par géographie**, essentiellement entre la Corée du Sud et les Ãtats-Unis."},{t:"p",text:"Cela ne signifie évidemment pas qu'il faille immédiatement décider de construire une usine HBM française. Le coût d'entrée, le retard technologique et les volumes nécessaires pourraient rendre cette stratégie complètement absurde. à moins d'un plan malin avec les bonnes personnes, je me tournerais personnellement vers nos capitaines d'industrie tech pour avoir leur avis sur la question. Mais c'est incontestablement une dépendance qu'il faut cartographier et surveiller."},{t:"p",text:"Et l'exemple chinois est intéressant, car il montre que c'est possible avec un effort de long terme. **CXMT**, créé en 2016, est parvenu en quelques années à devenir le quatrième fabricant mondial de DRAM, notamment grâce à une politique industrielle chinoise extrêmement volontariste. Son introduction à la Bourse de Shanghai en juillet 2026 lui a permis de lever environ **8,6 milliards de dollars**, tandis que son cours progressait de plus de 460 % lors de sa première séance."},{t:"link",href:"https://fr.euronews.com/business/2026/07/27/le-fabricant-chinois-de-puces-memoire-cxmt-senvole-en-bourse",label:"Le fabricant chinois de puces mémoire CXMT sâenvole en Bourse",note:"Euronews, juillet 2026"},{t:"p",text:"CXMT n'est pas encore au niveau des trois leaders mondiaux sur la HBM : son activité reste principalement concentrée sur la DRAM classique et l'entreprise cherche justement à monter en capacité sur les mémoires destinées à l'IA. Mais son parcours montre quelque chose d'important : **une dépendance industrielle considérée comme installée n'est pas nécessairement irréversible lorsqu'un pays décide d'y consacrer du capital, des compétences, des infrastructures et surtout un marché.**"},{t:"callout",text:"ð´ Trou stratégique clair."},{t:"h3",text:"5. Fonderie avancée : l'Europe sait fabriquer des puces, mais pas les plus avancées"},{t:"p",text:"Nous avons de très grands industriels européens : **STMicroelectronics**, **Infineon**, **NXP** côté conception, ainsi que des fabs européennes de GlobalFoundries. Et l'Allemagne accueillera **ESMC**, la nouvelle usine commune avec TSMC, Bosch, Infineon et NXP. Mais cette usine produira principalement en 28/22 nm et 16/12 nm."},{t:"p",text:"Ce sont d'excellents nÅuds pour l'automobile et l'industrie. Mais ce n'est pas ce qui concurrence directement les technologies de pointe utilisées pour les GPU et CPU les plus avancés. Le projet Intel de Magdebourg devait précisément apporter une capacité européenne sous les 2 nm ; il a finalement été abandonné en 2025."},{t:"link",href:"https://www.it-daily.net/shortnews-en/intel-officially-cancels-construction-of-chip-factory-in-magdeburg-germany",label:"Intel annule officiellement son usine de Magdebourg",note:"it-daily.net (en anglais)"},{t:"p",text:"Sur le très avancé, le risque reste donc principalement TSMC / Taïwan, avec Samsung en Corée et Intel aux Ãtats-Unis comme alternatives. Ce cas montre parfaitement pourquoi il faut distinguer « avons-nous une industrie ? » de **« maîtrisons-nous la capacité précise dont nous aurions besoin en cas de crise ? »**"},{t:"callout",text:"ð´ Pour le leading edge ; beaucoup moins inquiétant pour certains composants industriels et automobiles."},{t:"h3",text:"6. Cloud : le problème n'est certainement pas l'absence d'acteurs européens"},{t:"p",text:"La France possède déjà **OVHcloud**, **Scaleway**, **Cloud Temple**, **Clever Cloud**, auxquels on peut ajouter en Europe IONOS, STACKIT, Aruba. OVHcloud revendique plus de 500 000 serveurs dans 46 datacenters. Scaleway propose désormais un portefeuille allant de l'IaaS au PaaS et à l'IA. Clever Cloud fournit une couche PaaS européenne avec runtimes, bases managées et services de déploiement."},{t:"p",text:"Donc dire « nous n'avons pas de cloud européen » est faux. Le problème est plutôt : **nous n'avons pas encore un AWS européen.** AWS, Azure et GCP disposent d'un avantage considérable en nombre de services, régions, intégrations, écosystème développeur et capacité financière."},{t:"p",text:"La bonne nouvelle est que la commande publique peut ici avoir un impact immédiat, puisqu'il ne faut pas attendre dix ans qu'une entreprise soit créée. La Commission européenne a d'ailleurs attribué en avril 2026 un contrat cloud de **180 M⬠sur six ans** à plusieurs fournisseurs européens, dont Scaleway, STACKIT et des consortiums intégrant OVHcloud et Clever Cloud."},{t:"p",text:"Ici la route commence à être tracée, merci aux industriels qui ont bataillé pendant un moment contre le « tout Microsoft ». L'objectif est maintenant de s'assurer de la continuité de leur effort. J'aime à dire dans ce type de situation que **l'objectif n'est plus qu'ils gagnent parce qu'ils sont européens, mais parce qu'ils sont meilleurs**. Il faut donc les aider à le devenir. Et un bon moyen de le vérifier est qu'ils gagnent des parts de marché en dehors de l'Europe."},{t:"callout",text:"ð Capacité européenne existante, mais déficit d'échelle."},{t:"h3",text:"7. Compute embarqué : l'Europe est mieux positionnée qu'on pourrait le croire"},{t:"p",text:"Je serais assez prudent avant d'en faire un « trou » majeur. Nous avons **STMicroelectronics** et **NXP**, deux très gros acteur
83s européens des semi-conducteurs embarqués. ST dispose par exemple du STM32N6, qui intègre son propre accélérateur neuronal Neural-ART pour l'inférence locale. NXP développe de son côté des plateformes spécifiquement pensées pour la robotique et utilise ses processeurs i.MX pour edge AI, perception et contrôle. à cela s'ajoutent les acteurs émergents comme Axelera ou VSORA."},{t:"p",text:"Le véritable problème apparaît lorsqu'on monte fortement en performance : robotique avancée, vision lourde, modèles multimodaux embarqués, véhicules autonomes. Là , NVIDIA possède avec Jetson et son environnement logiciel une place très importante ; Qualcomm est également un acteur majeur."},{t:"p",text:"Ãa change complètement la recommandation : **pas besoin de recréer l'industrie. Il faut amplifier une industrie que nous avons déjà , en la redirigeant sur les sujets qui nous intéressent.**"},{t:"callout",text:"ð Nous avons une excellente base européenne, qu'il faut empêcher de se faire dépasser sur la prochaine génération de *physical AI*."},{t:"h3",text:"8. Logiciel IA : ce n'est pas un trou, c'est un archipel"},{t:"p",text:"Il existe beaucoup d'acteurs européens. En France, **Mistral AI** développe désormais non seulement des modèles, mais aussi agents, infrastructure, orchestration et une offre de compute. En Allemagne, **Qdrant** fournit une base vectorielle open source utilisée pour la recherche sémantique, le RAG et les agents. Et il existe énormément d'autres entreprises européennes sur l'observabilité, la sécurité, l'orchestration, les bases de données, le *developer tooling* ou l'agentique, comme **Socle AI**, qui cherche à apporter à ses clients l'agilité nécessaire pour changer rapidement de fournisseur de modèle."},{t:"p",text:"Le problème est que l'écosystème est fragmenté, alors qu'en face AWS, Microsoft, Google ou NVIDIA cherchent chacun à proposer une pile complète. Donc le risque n'est pas « nous n'avons pas les technologies », c'est : **« nous avons les briques, mais pas toujours la distribution, l'intégration et la masse critique qui les transforment en plateforme. »**"},{t:"p",text:"C'est probablement un des endroits où les standards ouverts et l'interopérabilité européenne sont plus intéressants qu'un nouveau programme destiné à créer artificiellement un champion. L'objectif est d'éviter de trop dépendre d'une solution monolithique, même européenne : trouver une indépendance géopolitique pour finir sur une dépendance fournisseur n'a pas vraiment de sens."},{t:"link",href:"https://www.linkedin.com/pulse/entreprises-et-organismes-publics-ne-tombez-pas-dans-ce-de-almeida-o68ue",label:"Entreprises et organismes publics : ne tombez pas dans ce piège",note:"Article LinkedIn sur la dépendance fournisseur"},{t:"callout",text:"ð Problème de structuration et de stratégie d'achat plutôt que trou technologique."},{t:"h3",text:"Cas particulier : le quantique, un trou que nous pouvons encore éviter"},{t:"p",text:"Tous les éléments de cette cartographie ne doivent pas forcément être classés en « trous stratégiques ». Il existe aussi des domaines dans lesquels la France possède aujourd'hui de véritables compétences, mais pourrait perdre cet avantage si elle rate les prochaines étapes d'industrialisation. **L'ordinateur quantique en est probablement l'un des meilleurs exemples.**"},{t:"p",text:"Contrairement à la HBM ou aux GPU pour l'IA, nous ne partons pas ici avec vingt ans de retard et presque aucun acteur industriel crédible. La France dispose aujourd'hui de plusieurs entreprises développant des approches très différentes du calcul quantique :"},{t:"list",items:["**Pasqal**, autour des atomes neutres ;","**Quandela**, autour de la photonique ;","**Alice & Bob**, avec ses qubits supraconducteurs dits « cat qubits » ;","**C12**, autour des nanotubes de carbone ;","**Quobly**, autour des qubits sur silicium."]},{t:"p",text:"Ce qui est particulièrement intéressant est précisément cette diversité. à ce stade, personne ne sait encore avec certitude quelle architecture permettra de construire les ordinateurs quantiques réellement utiles et tolérants aux fautes de demain. La France possède donc plusieurs cartes dans son jeu plutôt qu'un unique pari technologique."}
83,{t:"p",text:"Et, pour une fois, il faut aussi reconnaître que **l'Ãtat français n'est pas resté complètement spectateur**. La stratégie nationale quantique lancée en 2021 représentait environ **1,8 milliard d'euros** d'investissements publics et privés sur cinq ans, dont un milliard apporté par l'Ãtat. En 2026, le gouvernement mettait notamment en avant plus de 600 publications, 48 brevets et une progression de 40 % des effectifs en master et de 25 % des doctorants dans les disciplines concernées."},{t:"p",text:"Mais l'initiative qui me paraît peut-être la plus intéressante est **PROQCIMA**. L'Ãtat ne se contente plus ici de subventionner des entreprises en espérant que quelque chose en sorte : le programme met en compétition Alice & Bob, C12, Pasqal, Quandela et Quobly, avec plusieurs étapes successives visant à sélectionner progressivement les solutions les plus performantes."},{t:"callout",text:"Définir une capacité stratégique, financer plusieurs approches concurrentes, puis concentrer progressivement les moyens sur celles qui démontrent qu'elles fonctionnent. C'est probablement beaucoup plus sain que de désigner dès le départ « le champion national » qui recevra ensuite l'ensemble des financements."},{t:"p",text:"La France dispose donc ici d'une position assez rare : **nous sommes encore dans la course avant que le marché ne soit définitivement structuré.** Et c'est précisément pour cette raison que le risque est important. Une startup quantique peut naître en France grâce à nos laboratoires, être financée pendant ses premières années par de l'argent public français, former ses ingénieurs ici⦠puis être rachetée ou déplacer progressivement ses activités vers les Ãtats-Unis lorsqu'elle aura besoin de plusieurs centaines de millions pour passer à l'échelle."},{t:"p",text:"Nous aurions alors financé la partie la plus risquée de l'innovation avant de laisser partir la capacité industrielle au moment où elle devient stratégique. Le défi des prochaines années n'est donc peut-être pas tellement de **faire émerger** des acteurs français du quantique. Ils existent déjà . Il est de réussir à **les conserver, les financer, leur donner des marchés et leur permettre d'industrialiser leurs technologies en Europe.**"},{t:"callout",text:"ð Pas encore un trou stratégique, mais une capacité à protéger absolument. En matière de souveraineté technologique, une avance qui n'est pas entretenue finit simplement par devenir une dépendance avec quelques années de retard."},{t:"h3",text:"Sectoriser les efforts"},{t:"p",text:"Plus on remonte dans les couches hautes de la chaîne de valeur, moins l'objectif doit être de faire émerger une technologie générique « pour tout ». à ce niveau, la stratégie devient davantage **sectorielle**. Il ne s'agit plus seulement de se demander quelles technologies nous voulons maîtriser, mais **dans quels secteurs nous voulons accélérer leur adoption et créer un avantage compétitif**."},{t:"p",text:"C'est aussi l'une des raisons pour lesquelles je considère que cette stratégie devrait être pilotée par le ministère de l'Ãconomie : à ce stade, nous ne parlons plus uniquement de technologie, mais bien de politique industrielle. On pourrait par exemple concentrer les efforts publics autour de l'IA et de la robotique dans quelques secteurs particulièrement stratégiques pour la France : **l'environnement et l'énergie, la santé, la défense.**"},{t:"p",text:"Cela ne signifie évidemment pas que l'Ãtat doit décider seul des usages pertinents de l'IA dans chaque industrie. Dans de nombreux secteurs, les usages rentables émergeront naturellement du marché. L'intervention publique devrait surtout se concentrer là où **l'intérêt stratégique ou collectif est important**."},{t:"callout",text:"Je me suis concentré sur les nÅuds importants de notre chaîne de valeur, en mettant volontairement de côté la finalité (type de robot, service IA, etc.), généralement plus accessible pour les acteurs et très sectorisée."},{t:"h2",text:"Construire une souveraineté européenne sans fabriquer des usines à gaz"},{t:"p",text:"*La France n'a pas à être seule, elle doit proposer un modèle de collaboration.*"},{t:"p",text:"Il faut commencer par évacuer une idée qui me semble dangereuse : **un projet européen n'est pas intrinsèquement meilleur qu'un projet national simplement parce qu'il est européen.**"},{t:"p",text:"Nous venons encore d'en avoir une démonstration avec le **SCAF**, le Système de combat aérien du futur. Ce projet franco-allemand, auquel l'Espagne s'était ensuite associée, devait devenir l'un des symboles de la coopération industrielle européenne dans la défense. Après des années de tensions entre industriels sur le leadership, la répartition du travail, l'accès à la propriété intellectuelle et même les caractéristiques attendues du futur appareil, la France et l'Allemagne ont finalement abandonné en juin 2026 le développement commun du cÅur de l'avion de combat."},{t:"p",text:"Cela ne signifie pas que toute coopération européenne est vouée à l'échec. Cela signifie qu'il ne faut surtout pas en faire un dogme. **Mieux vaut parfois être seul que mal accompagné.**"},{t:"p",text:"L'histoire du **Rafale** nous en donne d'ailleurs un exemple intéressant. Dans les années 1980, la France s'est retirée du programme européen qui donnera naissance à l'Eurofighter pour développer son propre appareil, notamment en raison de divergences sur les besoins opérationnels et l'organisation industrielle. La chronologie officielle britannique situe ce retrait français au 1er août 1985. Avec le recul, il serait difficile de considérer le choix du Rafale c
83omme l'échec industriel évident qu'aurait dû provoquer le refus français de participer coûte que coûte à un programme européen."},{t:"p",text:"L'inverse est également vrai : **des coopérations européennes fonctionnent.** Le système de défense aérienne SAMP/T, que nous appelons notamment Mamba en France, est issu d'une coopération historique entre la France et l'Italie. Sa nouvelle génération, le SAMP/T NG, poursuit cette logique industrielle commune et a encore réalisé des tirs réussis en France et en Italie fin 2025. Dans le numérique, Mistral AI travaille désormais avec des industriels européens comme Airbus, BMW ou EDF et développe une présence qui dépasse très largement le seul marché français."},{t:"p",text:"La leçon n'est donc pas que la France doit tout faire seule, pas plus qu'elle ne doit systématiquement tout faire à plusieurs. La bonne question est plutôt :"},{t:"callout",text:"à quel endroit se trouvent déjà les compétences européennes capables de porter cette technologie ?"},{t:"p",text:"Si les Pays-Bas disposent avec ASML d'un savoir-faire mondialement unique dans la lithographie, il serait absurde de créer artificiellement une copie française uniquement pour pouvoir inscrire un drapeau français sur la technologie. De la même manière, lorsqu'un pays possède déjà des chercheurs, des industriels, une chaîne de fournisseurs et plusieurs années d'expérience dans une technologie donnée, il doit probablement devenir le point d'appui naturel de l'effort européen."},{t:"p",text:"La coopération pourrait donc moins chercher à **répartir chaque projet équitablement entre les Ãtats** qu'à répartir intelligemment les capacités stratégiques à l'échelle du continent. La France pourrait être chef de file sur certaines technologies. L'Allemagne sur d'autres. Les Pays-Bas, l'Italie, la Finlande ou la Suède sur d'autres encore. Ce qui importe n'est pas que chacun possède 20 % de chaque projet. **Ce qui importe est que l'Europe possède collectivement les compétences dont elle a besoin.**"},{t:"p",text:"Et cela change aussi complètement la manière dont nous devons penser notre politique industrielle. Le but ne devrait pas être de décider politiquement « voici l'entreprise européenne qui sera notre champion », puis de la protéger pendant vingt ans de toute concurrence. La puissance publique doit plutôt chercher à **créer un marché européen suffisamment important pour qu'un ou plusieurs champions puissent émerger**."},{t:"p",text:"C'est une différence fondamentale. Un champion imposé administrativement peut finir par devenir un monopole protégé, dépendant de l'argent public et peu incité à rester compétitif. à l'inverse, un marché organisé autour d'une demande européenne importante peut permettre à plusieurs entreprises de se développer, de lever des capitaux, d'investir et de se concurrencer jusqu'à ce que les meilleures atteignent naturellement une taille mondiale."},{t:"p",text:"Il faut évidemment trouver un équilibre : un nouvel acteur européen ne peut pas être placé dès le premier jour dans exactement les mêmes conditions qu'un géant américain bénéficiant de vingt ans d'avance, de centaines de milliards de capitalisation et d'un marché domestique immense. Mais **protéger temporairement l'émergence d'un marché n'est pas la même chose que protéger indéfiniment une entreprise.**"},{t:"h3",text:"Petite simulation de répartition européenne"},{t:"callout",text:"Je n'ai pas réalisé une étude exhaustive des compétences industrielles européennes sur chacune de ces briques. L'objectif est un exercice rapide : si nous devions aujourd'hui répartir certains efforts, où semblerait-il le plus logique de les concentrer en partant des compétences déjà présentes ? Cette liste ne doit surtout pas se limiter au couple franco-allemand."},{t:"p",text:"**1. HBM et mémoire avancée : Benelux + Allemagne.** Les Pays-Bas disposent avec ASML d'un acteur absolument central dans l'industrie mondiale des semi-conducteurs, notamment sur les systèmes de lithographie EUV, tandis que l'écosystème régional bénéficie de la proximité de NXP et du centre de recherche belge imec. L'Allemagne dispose de son côté d'une industrie électronique et semi-conducteur importante. L'idée ne serait pas de décréter la création immédiate d'un « Samsung européen », mais de concentrer progressivement recherche, packaging avancé, intégration mémoire et capacités industrielles autour d'un écosystème qui possède déjà une partie des compétences nécessaires."},{t:"p",text:"**2. Fonderie avancée : Allemagne + France.** L'Allemagne semble un point d'appui naturel, notamment parce qu'elle accueille déjà à Dresde le projet ESMC, c
83oentreprise entre TSMC, Bosch, Infineon et NXP. Il faut toutefois rappeler que cette usine vise principalement des procédés de 12 à 28 nanomètres : elle ne constitue donc pas encore une réponse européenne au leading-edge de TSMC. La France pourrait compléter cet effort grâce à son écosystème, notamment le CEA-Leti et ses compétences en microélectronique."},{t:"p",text:"**3. GPU et accélérateurs IA : France + Espagne.** La France possède déjà plusieurs briques avec SiPearl, VSORA, mais aussi un écosystème HPC historique. L'Espagne dispose notamment de Semidynamics et d'un important écosystème de calcul haute performance autour de Barcelone. Surtout, cette coopération n'est plus entièrement théorique : SiPearl et Semidynamics ont annoncé en mai 2026 une coopération pour développer ensemble une plateforme européenne de calcul IA à l'échelle du rack, destinée notamment aux AI Factories et Gigafactories européennes. C'est précisément le type de rapprochement que l'Europe devrait favoriser."},{t:"p",text:"**4. Runtime portable et alternative au verrouillage CUDA : France + Europe du Nord.** Je verrais bien une initiative française associée à un pays d'Europe du Nord, probablement la Finlande. La France dispose de compétences importantes en calcul haute performance, en compilateurs, en IA et dans les futurs processeurs européens. La Finlande apporte un écosystème HPC particulièrement intéressant autour de CSC et de LUMI, l'un des grands supercalculateurs EuroHPC installé à Kajaani. Contrairement aux trois sujets précédents, je chercherais ici moins à faire émerger un champion national qu'à construire **un commun logiciel européen**, permettant à une même application de fonctionner plus facilement sur NVIDIA, AMD ou de futurs accélérateurs européens."},{t:"h2",text:"Un plan de programmation numérique pour donner de la visibilité à dix ans"},{t:"p",text:"*Arrêtons les plans à trois ans.*"},{t:"p",text:"Une fois les dépendances stratégiques identifiées, la politique numérique française ne devrait plus dépendre d'une succession de plans, d'appels à projets et d'annonces ponctuelles. Elle devrait être inscrite dans le temps. Le Sénat proposait déjà en 2019 de s'inspirer de la Loi de programmation militaire pour inscrire l'effort de souveraineté numérique dans la durée. L'idée me semble toujours pertinente, mais elle pourrait aujourd'hui être poussée beaucoup plus loin."},{t:"callout",text:"Au lieu du terme « loi », je pense qu'il faudrait plutôt réfléchir en termes de **plan** : que cela ne soit pas un texte mais des actions concrètes dans le monde physique, dont l'Ãtat est aussi responsable dans sa mise en Åuvre."},{t:"h3",text:"S'inspirer de la Loi de programmation militaire, sans en reproduire les faiblesses"},{t:"p",text:"La France possède déjà un outil assez proche de ce que nous cherchons à construire pour le numérique : la **Loi de programmation militaire (LPM)**."},{t:"p",text:"Son principe est assez simple. La défense ne peut pas être pilotée uniquement avec un budget décidé année après année. Concevoir un sous-marin, renouveler une flotte d'avions, développer un missile ou maintenir une dissuasion nucléaire demande parfois dix, vingt ou trente ans. L'industrie, elle aussi, doit savoir suffisamment tôt quels équipements seront commandés pour investir dans ses usines, ses compétences et ses chaînes d'approvisionnement."},{t:"p",text:"Une loi de programmation ne garantit pas simplement de l'argent. Elle donne surtout **de la visibilité** : aux armées, qui peuvent programmer leurs capacités ; aux industriels, qui savent qu'un besoin existe sur plusieurs années ; au Parlement, qui dispose d'une trajectoire à laquelle comparer l'exécution réelle. La Cour des comptes constatait d'ailleurs que, contrairement à plusieurs décennies de programmation militaire souvent mal respectée, l'exécution budgétaire de la LPM 2019-2025 avait été globalement conforme à la trajectoire sur ses premières années."},{t:"p",text:"Mais ce modèle a trois faiblesses qu'il faut regarder en face."},{t:"list",ordered:!0,items:["**Une programmation ne sanctuarise pas les budgets.** Les crédits restent votés chaque année dans les lois de finances. La programmation constitue avant tout un engagement politique et une trajectoire, que les contraintes budgétaires futures peuvent toujours remettre sous tension. Le Sénat constatait en 2026 que la remontée en puissance de la LPM 2024-2030 était réelle, mais qu'elle s'accompagnait déjà de fortes tensions budgétaires.","**Une programmation peut devenir obsolète avant son terme.** Une guerre, une innovation technologique ou une modification des rapports de force peut bouleverser en quelques mois des hypothèses établies plusieurs années auparavant. La programmation 2024-2030 a justement dû être actualisée en 2026 dans un contexte de dégradation géopolitique.","**Une trajectoire financière ne garantit pas que l'argent soit bien utilisé.** Un programme peut prendre du retard, voir son coût dériver ou continuer à être financé alors que le besoin évolue. La programmation ne dispense jamais d'un contrôle régulier, d'indicateurs de résultat et de la possibilité d'abandonner un projet qui ne fonctionne plus."]},{t:"p",text:"La deuxième leçon est particulièrement importante pour le numérique. Programmer sur dix ans ne peut pas signifier décider en 2028 quelle architecture de processeur, quel modèle d'IA ou quel standard logiciel devra être utilisé en 2038. Ce serait absurde. **Il faut programmer des capacités, pas figer les technologies.**"},{t:"p",text:"Par exemple : « disposer d'une capacité européenne de calcul accéléré pour l'intelligence artificielle » plutôt que « financer telle architecture de GPU pendant dix ans »."}
83,{t:"callout",text:"Protéger la stratégie contre les changements politiques de court terme, tout en laissant la technologie évoluer. Sanctuariser les objectifs stratégiques et une partie des moyens, sans sanctuariser indéfiniment les entreprises ou les technologies choisies pour les atteindre."},{t:"h3",text:"Ce que la Chine peut nous apprendre sur la continuité industrielle"},{t:"p",text:"La Chine offre un autre exemple intéressant de programmation technologique de long terme. L'idée n'est évidemment pas de copier son modèle politique, ni même l'ensemble de sa politique industrielle. Mais il serait tout aussi absurde d'ignorer ce qui a fonctionné."},{t:"p",text:"Depuis plus d'une décennie, la Chine fixe des objectifs industriels sur des horizons suffisamment longs pour permettre à des filières entières de se structurer. *Made in China 2025*, lancé en 2015, ciblait notamment les semi-conducteurs, la robotique, les équipements industriels avancés, les véhicules électriques ou l'aéronautique. Puis, en 2017, le plan national sur l'intelligence artificielle fixait un objectif clair : faire de la Chine, à l'horizon 2030, **l'un des principaux centres mondiaux d'innovation en intelligence artificielle**, avec une industrie cÅur de l'IA dépassant 1 000 milliards de yuans."},{t:"p",text:"La force de cette stratégie ne réside pas uniquement dans le fait d'annoncer des objectifs. **Elle réside surtout dans sa continuité.**"},{t:"p",text:"La robotique en constitue probablement l'exemple le plus visible. En 2023, le gouvernement annonçait encore vouloir doubler la densité de robots industriels entre 2020 et 2025. Selon l'International Federation of Robotics, plus de **2 millions de robots industriels** fonctionnaient dans les usines chinoises en 2024, et près de **295 000 nouveaux robots** y avaient été installés pendant cette seule année. Surtout, les fabricants chinois représentaient désormais **57 % des robots vendus sur leur propre marché**, contre 47 % un an auparavant."},{t:"p",text:"Autrement dit, la Chine n'a pas uniquement créé de la demande pour la robotique. **Elle s'est servie de cette demande pour faire monter en puissance ses propres industriels.** C'est exactement la mécanique qui m'intéresse."},{t:"p",text:"Le même phénomène apparaît, avec beaucoup plus de difficultés, dans les semi-conducteurs. La Chine avait fixé des objectifs extrêmement ambitieux d'autonomie dans les puces. Elle ne les a pas entièrement atteints : l'objectif souvent cité de 70 % d'autosuffisance en 2025 reste largement hors de portée. Pour autant, considérer cette politique comme un échec serait tout aussi trompeur : une évaluation américaine publiée en 2025 souligne qu'entre 2015 et 2023, la part des entreprises chinoises dans les capacités mondiales de fabrication de puces sur les nÅuds dits « fondamentaux » est passée d'environ **19 % à 33 %**."},{t:"callout",text:"Ne pas atteindre un objectif très ambitieux ne signifie pas nécessairement que la stratégie était inutile. Si la Chine visait 70 et atteint 40 ou 50, elle peut malgré tout avoir créé des dizaines d'usines, des fournisseurs, des ingénieurs et des entreprises qui n'existaient pas auparavant."},{t:"p",text:"Il faut néanmoins éviter d'idéaliser le modèle. La politique chinoise produit aussi des surcapacités, des investissements inefficaces, des entreprises artificiellement maintenues en vie et une concurrence parfois faussée par les subventions publiques. Plusieurs objectifs de *Made in China 2025* n'ont d'ailleurs pas été atteints."},{t:"p",text:"Mais la leçon utile pour nous est ailleurs. **La Chine accepte qu'une stratégie technologique dure plus longtemps qu'un mandat politique.** Elle accepte également qu'une première génération de produits soit moins bonne que celle de ses concurrents si elle permet d'acquérir progressivement les compétences nécessaires à la génération suivante."},{t:"p",text:"Nous ne devons pas essayer de prédire quelle entreprise ou quelle technologie gagnera dans dix ans. Nous devons être capables de dire : **« Sur cette capacité stratég
83ique, nous voulons encore avoir des industriels européens en 2035. Et nous sommes prêts à maintenir l'effort suffisamment longtemps pour leur permettre d'atteindre ce niveau. »**"},{t:"p",text:"La différence avec le modèle chinois doit néanmoins rester importante. La France et l'Europe doivent conserver la concurrence entre plusieurs acteurs, éviter de choisir trop tôt leurs champions et prévoir des mécanismes permettant d'arrêter les projets qui échouent. Il faudrait donc reprendre de la Chine **la continuité et la concentration de l'effort**, sans reprendre une logique dans laquelle l'Ãtat déciderait seul des gagnants."},{t:"callout",text:"Un autre point est à prendre en compte : le terreau fertile qui permet l'émergence rapide d'innovations. à Shenzhen, les fournisseurs sont littéralement à deux rues, il est donc facile de négocier des changements pour un prototype, et vous verrez des tests faits dans des parcs. L'impact politique pur se mélange avec une collaboration active d'entreprises liées à un territoire physique. C'est aussi pour cela que la Chine prévoit dans ses programmes des mises à disposition de terrain, parfois gratuites : il y a une logique territoriale, presque urbaniste, derrière tout cela."},{t:"h3",text:"Sanctuariser des capacités, pas des technologies"},{t:"p",text:"L'objectif d'un plan de programmation numérique ne serait pas de prédire quelles technologies domineront encore le marché dans dix ans. Dans le numérique, ce serait probablement impossible. Il devrait plutôt sanctuariser des **capacités stratégiques**. Par exemple, ne pas réfléchir de cette manière :"},{t:"quote",text:"La France doit disposer de tel GPU en 2035."},{t:"p",text:"Mais :"},{t:"quote",text:"La France et l'Europe doivent conserver une capacité autonome de calcul accéléré pour l'intelligence artificielle."},{t:"p",text:"La différence est importante. Une technologie peut disparaître. Une architecture peut être remplacée. Une entreprise peut échouer. **Mais le besoin stratégique, lui, peut rester.**"},{t:"p",text:"Le plan pourrait ainsi identifier une dizaine ou une quinzaine de capacités considérées comme critiques : calcul, cloud, semi-conducteurs, cybersécurité, communications, données, IA, logiciels critiques ou certaines technologies liées à la robotique. Pour chacune, il faudrait déterminer notre niveau actuel de dépendance, le niveau que nous sommes prêts à accepter et la trajectoire souhaitée à cinq et dix ans."},{t:"h3",text:"Programmer trois choses : recherche, industrialisation et commandes"},{t:"p",text:"Le deuxième changement serait de ne plus réduire une politique industrielle à une enveloppe de subventions. Pour chaque capacité stratégique, le plan pourrait distinguer trois niveaux d'intervention :"},{t:"list",ordered:!0,items:["**La recherche et le développement**, pour permettre l'émergence de technologies nouvelles et financer les phases les plus risquées.","**L'industrialisation**, lorsque la difficulté n'est plus de prouver que la technologie fonctionne, mais de passer du prototype à une production capable de répondre à un vrai marché.","**La commande**, la partie qui me semble aujourd'hui la plus importante. Le rapport consacré à la souveraineté numérique insiste justement sur la nécessité de soutenir les projets stratégiques par la commande publique et de mieux mutualiser la demande."]},{t:"p",text:"Prenons un exemple fictif. L'Ãtat pourrait décider qu'entre 2030 et 2035 il aura besoin de plusieurs centaines de millions d'euros de capacités de calcul répondant à certains critères de souveraineté, de performance et de réversibilité. Il ne promet pas à une entreprise précise qu'elle remportera ce marché. Il dit simplement : **« Si une entreprise européenne est capable d'atteindre ces objectifs, une demande existera. »**"},{t:"p",text:"Pour un entrepreneur et ses investisseurs, la différence est énorme. Une subvention peut permettre de développer une technologie. **Une commande permet de construire une industrie.**"},{t:"h3",text:"Garantir un marché, pas un gagnant"},{t:"p",text:"Ce point devrait probablement devenir l'un des principes fondamentaux de ce plan. La programmation doit sanctuariser **les objectifs, les moyens et la demande**, mais surtout pas les entreprises chargées d'y répondre. Si l'on décide qu'une capacité est stratég
83ique, plusieurs acteurs doivent pouvoir se concurrencer pour répondre au besoin."},{t:"p",text:"L'objectif ne doit pas être de créer artificiellement « notre NVIDIA européen » ou « notre AWS européen », puis de garantir à cette entreprise vingt années de rente publique. Ce serait simplement remplacer une dépendance étrangère par un monopole domestique."},{t:"callout",text:"Garantir aux entrepreneurs qu'un marché existera s'ils réussissent, sans leur garantir qu'ils gagneront ce marché."},{t:"p",text:"La puissance publique protège alors l'émergence d'un marché, pas une entreprise particulière. C'est aussi ce qui permettrait de continuer à accueillir de nouveaux entrants : l'entreprise qui paraît la meilleure en 2028 ne sera peut-être pas celle qui proposera la meilleure technologie en 2034. **Le plan doit donc être stable dans ses ambitions et ouvert dans ses moyens d'exécution.**"},{t:"h3",text:"Dix ans de visibilité, sans figer dix ans de technologie"},{t:"p",text:"Une programmation numérique sur dix ans ne peut évidemment pas être une programmation immobile. Je verrais donc un plan fixant un horizon de dix ans, mais avec des **revues obligatoires tous les deux ou trois ans**. à chaque étape, il faudrait reprendre la cartographie des dépendances et répondre à quelques questions simples :"},{t:"list",items:["Avons-nous réduit la dépendance identifiée ?","Des industriels européens crédibles ont-ils émergé ?","Les technologies que nous soutenons sont-elles toujours pertinentes ?","Les commandes annoncées ont-elles réellement été passées ?","Faut-il renforcer, diminuer ou abandonner certains efforts ?"]},{t:"p",text:"L'idée serait donc de conserver **des objectifs stables, mais des moyens adaptables**. Une stratégie technologique ne doit pas disparaître tous les trois ans simplement parce qu'un nouveau plan, un nouveau ministre ou une nouvelle priorité politique arrive. à l'inverse, la continuité ne doit jamais devenir de l'entêtement : un projet qui ne fonctionne plus doit pouvoir être abandonné."},{t:"h3",text:"Rendre l'abandon possible, mais jamais silencieux"},{t:"p",text:"Il serait de toute façon impossible de rendre juridiquement une programmation intangible pendant dix ans : un futur Parlement reste libre de modifier la loi. En revanche, on peut rendre le changement beaucoup plus explicite. Si un gouvernement souhaite abandonner une capacité stratégique ou réduire fortement les moyens qui lui sont consacrés, il pourrait devoir publier une analyse précisant :"},{t:"list",items:["l'augmentation attendue de notre dépendance ;","les alternatives disponibles ;","les investissements industriels concernés ;","le coût potentiel d'une reconstruction future de cette capacité ;","les conséquences sur les contrats et engagements déjà pris."]},{t:"p",text:"Puis faire voter cette évolution au Parlement. Cela ne rendrait pas la stratégie impossible à modifier, mais cela empêcherait qu'un programme structurant disparaisse discrètement au détour d'un arbitrage budgétaire. **Le politique doit conserver le droit de changer de stratégie, mais il doit en assumer publiquement les conséquences.**"},{t:"h3",text:"Concentrer les compétences : penser aussi l'urbanisation industrielle"},{t:"p",text:"Il existe un autre élément de la stratégie chinoise que nous devrions probablement davantage regarder : **la concentration géographique des filières**. La politique industrielle chinoise ne repose pas uniquement sur des feuilles de route nationales, des fonds massifs ou des commandes publiques. Elle s'appuie aussi sur des territoires spécialisés dans lesquels chercheurs, fabricants, sous-traitants, fournisseurs de composants et clients industriels sont physiquement proches."},{t:"p",text:"Shenzhen en constitue probablement l'exemple le plus spectaculaire. Dans la robotique et le hardware, les entreprises peuvent y trouver à proximité immédiate des fabricants de moteurs, de cartes électroniques, de batteries, de capteurs, de pièces mécaniques ou de systèmes de communication. Cette densité réduit énormément le temps entre une idée et un prototype."},{t:"p",text:"L'Europe et la France ont déjà essayé de développer cette logique de cluster
83s. Sophia Antipolis en est l'un des exemples historiques les plus connus. Grenoble sur les semi-conducteurs, Toulouse sur l'aéronautique ou Paris-Saclay sur la recherche suivent également cette logique. Mais créer un « pôle » sur une carte ne suffit pas. La question doit être beaucoup plus opérationnelle :"},{t:"callout",text:"Est-ce que les différents acteurs nécessaires à la fabrication d'un produit peuvent réellement travailler ensemble facilement ?"},{t:"p",text:"Cela suppose évidemment des laboratoires, des entreprises et des investisseurs, mais aussi des fournisseurs, des infrastructures industrielles, des logements et surtout des transports permettant aux personnes de circuler facilement entre ces acteurs."},{t:"p",text:"C'est peut-être une différence importante avec certaines expériences françaises. Nous avons parfois pensé l'innovation comme l'installation d'entreprises dans une technopole, alors que l'effet recherché est plutôt celui d'une **agglomération productive** : les interactions répétées entre compétences complémentaires réduisent les délais, les coûts de coordination et le temps nécessaire pour transformer une idée en produit."},{t:"p",text:"L'accessibilité devient donc elle-même un outil de politique industrielle. Un cluster dans lequel chaque interaction nécessite quarante-cinq minutes de voiture, dans une région où les ingénieurs souhaitent de moins en moins dépendre quotidiennement de l'automobile, ne produit pas le même niveau de friction positive qu'un écosystème dans lequel laboratoires, fournisseurs, startups et usines sont reliés rapidement par les transports collectifs."},{t:"p",text:"Le plan pourrait donc également avoir une dimension territoriale. L'objectif ne serait pas de recréer Shenzhen en France, ni de concentrer toute l'innovation à Paris. Il serait plus simplement d'accepter une réalité industrielle : **certaines technologies progressent plus vite lorsque toute leur chaîne de valeur se trouve à quelques kilomètres plutôt qu'à quelques centaines, même à l'ère du remote ;)** Et dans ce cas, une politique industrielle ne doit pas uniquement financer des entreprises : elle doit aussi financer **les lieux et les infrastructures qui leur permettent de travailler ensemble**."},{t:"h3",text:"Associer les grands acheteurs privés"},{t:"p",text:"Il existe une limite évidente à une stratégie reposant uniquement sur la commande publique : dans le numérique, l'Ãtat n'est pas toujours le plus gros acheteur. Le rapport sur la coopération entre public, privé et communs numériques souligne d'ailleurs le poids considérable des grands acheteurs privés."},{t:"p",text:"Un plan de programmation numérique pourrait donc permettre aux grandes entreprises françaises et européennes de **rejoindre volontairement certains engagements de demande**. Banques, énergéticiens, opérateurs télécoms, industriels, assureurs ou acteurs du transport pourraient annoncer qu'ils prévoient eux aussi d'acheter certaines capacités si elles atteignent les critères requis."},{t:"p",text:"On passerait alors d'une logique **Ãtat â entreprise** à une logique beaucoup plus puissante : **Ãtat + grands acheteurs privés â marché â plusieurs industriels européens.** C'est probablement là que l'effet d'échelle devient réellement intéressant."},{t:"h3",text:"Garder une place pour ce que nous ne savons pas encore prévoir"},{t:"p",text:"Enfin, il faut accepter que certaines technologies stratégiques de 2035 ne soient pas encore identifiées aujourd'hui. Une partie de la stratégie pourrait donc rester réservée aux **technologies émergentes**, avec la possibilité d'ajouter ou de retirer régulièrement certaines priorités, comme nous le voyons avec une mécanique très maline sur le quantique. Robotique, photonique, nouvelles architectures mémoire, technologies quantiques ou nouveaux paradigmes de calcul pourraient entrer progressivement dans cette catégorie."},{t:"p",text:"Ce plan ne doit pas devenir une prison intellectuelle. Il doit simplement **empêcher l'Ãtat de repartir de zéro à chaque nouveau cycle politique**. Au fond, son objectif pourrait se résumer assez simplement : sanctuariser les capacités que nous voulons conserver, donner un cap sûr sur les technologies que nous souhaitons détenir sur le territoire."}
83,{t:"h3",text:"Qui doit piloter cette stratégie ?"},{t:"p",text:"Le pilotage pourrait théoriquement revenir soit au **Haut-commissariat à la Stratégie et au Plan**, soit au **ministère de l'Ãconomie, des Finances et de l'Industrie**."},{t:"p",text:"Pour ma part, je privilégierais clairement le ministère de l'Ãconomie, ou de l'Industrie, ou du Plan selon la composition du gouvernement. Avec un fort relais de la **DINUM** et du Plan. Pourquoi ? La DINUM permet d'aider au niveau interministériel, donc sur tous les pans de l'Ãtat, et le Plan sera forcément impacté par ce travail. Même si on doit trouver l'organisation la plus simple, avec le minimum d'acteurs."},{t:"p",text:"Nous parlons ici avant tout de politique industrielle, d'investissement, de commande et de structuration de marchés. La responsabilité doit donc être placée auprès de l'acteur qui possède réellement les leviers permettant d'agir. **Et qui est plus exposé au public.**"},{t:"p",text:"Cette politique pourrait ensuite être suivie autour de **deux grands groupes d'indicateurs**. Le premier mesurerait l'avancement du remplissage de nos trous stratégiques : avons-nous fait émerger une capacité européenne crédible sur les technologies identifiées comme critiques ? Le second mesurerait le niveau de maturité souveraine de chaque secteur : un secteur peut être très avancé en recherche mais encore extrêmement dépendant pour sa production ou sa maintenance."},{t:"p",text:"Ces indicateurs devraient être publiés régulièrement. L'objectif n'est pas uniquement de mesurer les progrès de l'administration, mais de rendre la stratégie lisible pour les citoyens, les industriels et les investisseurs : **voilà où nous voulons aller, voilà où nous en sommes, et voilà les domaines dans lesquels l'effort doit encore être poursuivi.**"},{t:"h2",text:"Faire de l'Ãtat un acteur exemplaire, pas seulement un prescripteur"},{t:"p",text:"*L'Ãtat doit mettre son argent là où est son discours.*"},{t:"p",text:"Depuis des années, l'Ãtat appelle les entreprises françaises à renforcer leur souveraineté numérique, tout en continuant lui-même à consacrer une part importante de ses achats à des acteurs étrangers."},{t:"p",text:"Le problème n'est pas seulement symbolique : chaque euro dépensé dans une solution numérique participe aussi à renforcer une capacité industrielle. Nous avons longtemps considéré la commande publique uniquement comme un moyen d'obtenir le meilleur service au meilleur prix. Il faut désormais intégrer une autre dimension : l'impact de cet achat sur la montée en capacité des entreprises françaises et européennes. Cela suppose aussi d'accepter qu'une solution locale ne propose pas immédiatement exactement le même niveau de service qu'un acteur qui bénéficie de vingt ans d'avance."},{t:"link",href:"https://www.linkedin.com/pulse/impact-%C3%A9conomique-de-la-souverainet%C3%A9-benjamin-de-almeida-xgfge",label:"Impact économique de la souveraineté",note:"Pourquoi la souveraineté compte dans notre économie"},{t:"p",text:"Voici huit actions concrètes."},{t:"p",text:"**1. Faire de la souveraineté un critère réel de la commande publique.** Intégrer dans les marchés numériques des critères liés à la dépendance créée : exposition aux lois extraterritoriales, réversibilité, localisation des compétences, maîtrise technologique, capacité de substitution. Le Sénat recommande déjà d'imposer certaines clauses de non-soumission aux législations extraterritoriales dans les marchés impliquant des données publiques. *Résultat attendu :* arrêter de comparer les offres uniquement sur le prix et les fonctionnalités immédiates, et intégrer **le coût stratégique futur de la dépendance**."},{t:"p",text:"**2. Accepter une montée en capacité progressive des acteurs européens.** Permettre qu'une solution française ou européenne n'ait pas, au premier jour, exactement le même périmètre fonctionnel qu'un acteur installé depuis vingt ans, à condition qu'elle couvre le besoin critique et présente une trajectoire crédible. *Résultat attendu :* éviter le paradoxe actuel où l'on demande à un nouvel entrant d'avoir déjà atteint la taille de Microsoft ou AWS avant même de lui confier son premier grand marché."},{t:"callout",text:"Un achat public ne doit pas seulement valoriser la capacité actuelle d'une entreprise, mais aussi la capacité industrielle qu'il permet de construire."},{t:"p",text:"**3. Transformer l'achat innovant en véritable outil industriel.** Utiliser beaucoup plus largement les dispositifs d'achat innovant, relever leurs seuils et simplifier leur définition. Le Sénat propose notamment de relever fortement le seuil permettant les achats innovants sans publicité ni mise en concurrence, aujourd'hui trop peu utilisé. *Résultat attendu :* permettre aux administrations de devenir les **premiers grands clients** des entreprises technologiques émergentes plutôt que de les financer par subvention avant de leur fermer l'accès aux marchés."},{t:"p",text:"**4. Réserver une partie de la commande aux PME et nouveaux entrants.** Défendre un véritable **Small Business Act européen**, avec une part minimale de la commande publique accessible aux PME. Le rapport du Sénat propose un objectif d'au moins **30 % en valeur** des marchés publics européens pour les PME. Sur le numérique, cela pourrait aussi passer par davantage d'**allotissement** : ne pas acheter un gigantesque « lot numérique » de plusieurs centaines de millions auquel seules cinq entreprises peuvent répondre."},{t:"p",text:"**5. Faire des centrales d'achat des outils de politique industrielle.** Modifier le mandat de structures comme l'**UGAP** pour qu'elles ne se contentent plus de référencer ce que le marché demande déjà , mais participent activement à la structuration d'une offre française et européenne. *Résultat attendu :* qu'un acheteur public cherchant une solution cloud, IA ou logicielle dispose immédiatement d'alternatives européennes identifiées et comparables."},{t:"p",text:"**6. Acheter sur une trajectoire, pas uniquement sur une photographie.** Pour certaines technologies stratég
83iques, créer des **contrats par paliers**. Une première tranche permet le déploiement d'une solution encore imparfaite ; les suivantes sont déclenchées lorsque l'entreprise atteint des objectifs de performance, sécurité, disponibilité ou industrialisation. Une entreprise européenne pourrait par exemple gagner une première tranche si elle satisfait 80 % du besoin critique, puis accéder aux volumes suivants lorsqu'elle atteint 90 %, puis 95 %. Cela permet de concilier les deux impératifs : **accepter temporairement un retard fonctionnel, mais exiger qu'il se réduise.**"},{t:"p",text:"**7. Passer du « moins-disant » au coût complet de l'achat.** Intégrer dans l'analyse économique non seulement le prix de licence, mais le coût de migration future, le lock-in, la hausse potentielle des licences, la dépendance aux compétences du fournisseur et la contribution à une capacité industrielle européenne. *Résultat attendu :* éviter qu'une solution étrangère paraisse systématiquement « moins chère » simplement parce que **le coût futur de la dépendance est évalué à zéro**. Le Health Data Hub fournit d'ailleurs un cas intéressant : le Sénat estime que le choix initial de Microsoft a notamment été favorisé par les délais et les coûts immédiats, alors que la migration ultérieure vers une solution souveraine crée précisément les coûts supplémentaires qu'une vision de long terme aurait dû prendre en compte."},{t:"p",text:"**8. Fixer des objectifs d'achat aux administrations.** Ne plus se contenter de recommandations générales du type « privilégier les solutions européennes ». Fixer, dans les domaines identifiés par le plan, des objectifs mesurables de commande auprès d'acteurs européens. On retrouve alors les KPI décrits plus haut : *« Nous avons identifié le cloud comme dépendance stratégique. La commande publique doit alors contribuer concrètement à faire progresser son niveau de maturité souveraine de X à Y. »*"},{t:"callout",text:"L'Ãtat ne doit pas subventionner une industrie française d'un côté et financer son décrochage par ses achats de l'autre."},{t:"h2",text:"L'open source n'est pas une solution magique"},{t:"p",text:"*Le code ouvert améliore potentiellement notre souveraineté. Il ne la garantit pas.*"},{t:"p",text:"Quand on parle de souveraineté numérique, une réponse revient très souvent : **il suffit de passer à l'open source**. Je comprends évidemment pourquoi. L'open source apporte des avantages très importants : accès au code, auditabilité, possibilité de modifier le logiciel, réduction d'une partie du verrouillage propriétaire, meilleure interopérabilité et, dans certains cas, possibilité de reprendre le projet si son éditeur disparaît."},{t:"p",text:"Le rapport sur la souveraineté numérique et les communs insiste d'ailleurs fortement sur ce potentiel. Mais ce même rapport rappelle aussi quelque chose d'essentiel : **un commun numérique doit être gouverné, financé et maintenu dans le temps.** Et c'est là que le raccourci commence à devenir dangereux. J'écris ce passage pour éviter aux décideurs le piège de comprendre derrière ce terme une sorte de solution magique."},{t:"h3",text:"Qui paie pour que l'open source continue d'exister ?"},{t:"p",text:"Le premier risque est économique. Un logiciel peut être utilisé par des milliers d'entreprises, parfois au cÅur de systèmes extrêmement critiques, tout en reposant sur une poignée de développeurs qui assurent sa maintenance."},{t:"p",text:"La reproductibilité du logiciel open source est justement l'une de ses forces : une fois le code produit, chacun peut potentiellement l'utiliser. Mais cette force crée aussi un problème assez classique des communs : **tout le monde peut profiter de la ressource sans forcément participer à son financement.**"},{t:"p",text:"Or maintenir un logiciel coûte de l'argent. Il faut corriger les failles de sécurité, maintenir la compatibilité avec les nouvelles technologies, documenter, tester, répondre aux utilisateurs, améliorer les performances et parfois réécrire des pans entiers du projet. L'accès au code peut être gratuit. Le travail nécessaire pour que ce code
83continue à fonctionner ne l'est jamais."},{t:"callout",text:"Un logiciel gratuit à l'achat peut coûter extrêmement cher le jour où plus personne n'est payé pour le maintenir."},{t:"p",text:"La question de la souveraineté doit donc aussi devenir une question de modèle économique. Si une technologie est suffisamment importante pour que des administrations, des hôpitaux ou des entreprises critiques en dépendent, alors il faut également se demander **qui finance sa pérennité**."},{t:"h3",text:"Open source ne signifie pas gouvernance européenne"},{t:"p",text:"Le deuxième risque est plus stratégique. Avoir accès au code ne signifie pas nécessairement contrôler l'évolution du projet. Prenons un dépôt open source utilisé massivement en Europe : il faut regarder beaucoup plus loin que sa licence."},{t:"list",items:["Qui sont les principaux mainteneurs ?","Qui possède les droits permettant dâaccepter les modifications dans le projet ?","Quelles entreprises rémunèrent ces mainteneurs ?","Qui décide de la roadmap ?","Où se trouve la fondation éventuelle ?","Quels acteurs ont réellement le poids suffisant pour orienter les choix techniques ?"]},{t:"p",text:"Un projet peut être parfaitement open source tout en étant, dans les faits, largement gouverné par quelques entreprises étrangères. Dans ce cas, nous avons bien accès au code. Mais nous ne maîtrisons pas nécessairement sa direction. **La souveraineté ne consiste pas uniquement à pouvoir lire le code. Elle consiste aussi à disposer d'une capacité réelle à influencer ce qu'il deviendra.**"},{t:"h3",text:"« Nous pourrons toujours faire un fork »"},{t:"callout",text:"Copier le code et le mettre ailleurs pour continuer le projet de son côté, ou le figer dans une version."},{t:"p",text:"Un autre argument revient souvent : « Ce n'est pas grave, puisque le logiciel est open source, nous pourrons toujours le forker. » Techniquement, c'est vrai. En pratique, c'est beaucoup plus compliqué."},{t:"p",text:"Forker un projet signifie être capable de reprendre sa maintenance. Il faut donc disposer des développeurs qui connaissent suffisamment le code, de l'infrastructure de build, de la documentation, des outils de tests, des compétences de sécurité et surtout du budget nécessaire pour continuer à faire vivre le projet."},{t:"p",text:"Si demain les principaux mainteneurs d'une technologie critique disparaissent, la vraie question n'est donc pas « avons-nous encore une copie du code source ? », mais **« sommes-nous capables de reprendre ce projet et de le maintenir seuls pendant cinq ou dix ans ? »** Et la réponse peut être totalement différente. Un dépôt public ne crée pas automatiquement une compétence industrielle."},{t:"h3",text:"Une dépendance peut se cacher sous une autre"},{t:"p",text:"Il faut également regarder sous le logiciel. Un projet peut être open source mais reposer sur un autre composant qui, lui, crée une dépendance importante. Un framework IA peut être ouvert tout en étant largement optimisé pour CUDA. Une application open source peut être déployée presque exclusivement sur certains clouds. Le développement peut dépendre d'outils ou d'infrastructures contrôlés par un petit nombre d'acteurs étrangers."},{t:"p",text:"Autrement dit : **open source en surface ne signifie pas nécessairement autonomie de l'ensemble de la chaîne.** La question n'est jamais simplement « le logiciel est-il open source ? », mais plutôt **« de quoi dépend-il pour fonctionner, être développé, être distribué et être maintenu ? »**"},{t:"h3",text:"Ne pas opposer l'open source aux entreprises"},{t:"p",text:"Il existe enfin un autre risque, presque inverse. à force d'associer souveraineté et open source, l'Ãtat pourrait être tenté de considérer que la meilleure solution consiste systématiquement à développer ou exploiter lui-même les logiciels. Ce serait une erreur."},{t:"p",text:"Sur certaines couches, il peut être extrêmement pertinent de financer collectivement une brique ouverte : un protocole, un standard, un runtime, une bibliothèque fondamentale, un format de données. Mais des entreprises doivent ensuite pouvoir construire des produits et des services au-dessus : hébergement, support, sécurité, intégration, interfaces, fonctionnalités métiers. Sinon, nous produisons une autre situation absurde : **l'Ãtat finance un commun, puis détruit involontairement l'écosystème d'entreprises qui pourrait assurer sa maintenance et son industrialisation.**"},{t:"p",text:"La bonne question n'est donc pas « Ãtat, marché ou open source ? » mais **« sur quelle couche chacun de ces acteurs est-il le plus pertinent ? »**"},{t:"h3",text:"L'open source doit lui aussi être mesuré"},{t:"p",text:"Je reviens donc exactement au même principe que dans le reste de cet article : nous devons mesurer notre capacité réelle de maîtrise. Pour les projets open source stratég
83iques, il faudrait notamment suivre :"},{t:"list",items:["la localisation des principaux mainteneurs ;","la répartition des contributeurs ;","les entreprises qui financent le projet ;","la gouvernance de la communauté ;","notre capacité européenne à maintenir un fork ;","les dépendances techniques situées sous le projet ;","la disponibilité de compétences suffisantes en Europe."]},{t:"p",text:"Ces critères permettraient de distinguer un projet simplement ouvert d'un véritable **commun numérique maîtrisable**. Et si une brique open source devient suffisamment stratégique pour notre économie ou nos administrations, l'Europe devrait probablement accepter d'investir directement dans sa maintenance : financer des développeurs, contribuer au projet et participer à sa gouvernance."},{t:"callout",text:"Elle ne consiste pas à avoir accès au code. Elle consiste à disposer des compétences, du financement et de la gouvernance permettant de continuer à le faire vivre."},{t:"h2",text:"La mise en Åuvre"},{t:"p",text:"Tout ce que je viens d'écrire peut sembler très large. Alors essayons de le ramener à une chronologie simple. Si un gouvernement voulait réellement commencer à appliquer cette logique dès 2027, je verrais quelque chose comme ceci."},{t:"image",src:"/images/articles/france-2027-plan-action.webp",alt:"Feuille de route en quatre étapes. M+1 : choisir le responsable et lancer la mise à jour de l'UGAP. M+3 à Y+1 : étudier les dépendances et choisir les premières priorités technologiques. Y+1 : présenter le plan de programmation numérique à dix ans. Chaque année : publier les avancées, suivre les KPI et corriger.",caption:"PLAN D'ACTION NUMÃRIQUE DÃS 2027"},{t:"h3",text:"M+1 : Choisir qui pilote, et agir immédiatement sur la commande publique"},{t:"p",text:"La première étape serait de **désigner un responsable politique clairement identifié**, avec une préférence dans mon cas pour le ministre de l'Ãconomie, ou un ministre du Plan ou de l'Industrie selon la composition du gouvernement. L'objectif est simple : éviter que le sujet soit réparti entre dix administrations différentes sans qu'aucune ne soit réellement comptable du résultat final."},{t:"p",text:"Dans le même temps, les premiers travaux de transformation de la **commande publique numérique et du rôle de l'UGAP** pourraient commencer. Il ne s'agirait pas encore de bouleverser du jour au lendemain tous les marchés publics, mais de préparer l'évolution des critères de référencement et d'achat : réversibilité, dépendance juridique et technologique, accès des nouveaux entrants, présence d'alternatives européennes, coût réel de sortie. Pour cela je me baserais sur le rapport effectué par le Sénat. De toute manière, ces chantiers doivent avoir déjà commencé."},{t:"p",text:"Autrement dit, commencer immédiatement à travailler sur l'un des leviers que l'Ãtat maîtrise déjà : **son propre argent**."},{t:"h3",text:"M+3 à Y+1 : Mesurer nos dépendances et choisir nos premières priorités"},{t:"p",text:"Les mois suivants devraient être consacrés à un travail beaucoup moins visible politiquement, mais probablement plus important : **comprendre précisément où nous en sommes.**"},{t:"p",text:"Il faudrait d'abord établir une cartographie de nos dépendances numériques : technologies, fournisseurs, compétences, juridictions, dépendances de second niveau et capacité réelle de substitution. En parallèle, il faudrait cartographier les capacités déjà présentes en France et en Europe, et à terme les représenter de manière systémique : qui impacte qui et où."},{t:"p",text:"Le but n'est surtout pas de produire une liste de cinquante technologies que nous souhaiterions toutes maîtriser. **Il faut faire des choix.** Pour chaque capacité candidate, il faudrait répondre à quelques questions simples : que savons-nous déjà faire ? De quoi dépendons-nous encore ? Cette dépendance est-elle acceptable ? Et quel niveau de maîtrise voulons-nous atteindre dans cinq ou dix ans ?"},{t:"p",text:"C'est à ce moment-là que pourraient apparaître les premiers grands axes de travail : calcul accéléré, mémoire, cloud, runtimes, quantique, robotique, cybersécurité, mais aussi de
83s secteurs spécifiques comme l'usage de l'IA en pharmacologie. Et avec eux les éléments stratégiques concernant la politique du territoire et les programmes d'achat. Un gros travail de structuration au sein du ministère."},{t:"h3",text:"Y+1 : Présenter le plan de programmation numérique"},{t:"p",text:"Au bout d'un an, ce travail devrait déboucher sur quelque chose de concret : **la présentation publique d'un plan de programmation numérique à dix ans.** Ce plan fixerait les capacités que la France souhaite préserver, renforcer ou faire émerger. Pour chacune, il définirait une trajectoire autour de trois leviers : **la recherche, l'industrialisation et la commande.**"},{t:"p",text:"Il pourrait également identifier les coopérations européennes pertinentes, les territoires sur lesquels certaines compétences doivent être concentrées et les marchés que l'Ãtat pourrait progressivement contribuer à structurer. L'objectif ne serait toujours pas de désigner administrativement les entreprises qui gagneront. Il serait de dire : **voilà les capacités que nous voulons encore maîtriser dans dix ans, voilà les objectifs à atteindre et voilà les moyens que nous sommes prêts à mobiliser pour créer les conditions de leur émergence.**"},{t:"h3",text:"Chaque année : Rendre publiquement des comptes"},{t:"p",text:"Enfin, un élément devrait être prévu dès le lancement du plan : **un compte rendu public annuel.** Pas un nouveau rapport de plusieurs centaines de pages que personne ne lira. Quelques indicateurs simples, prévus dès le départ."},{t:"list",items:["Où voulions-nous être ? Où en sommes-nous réellement ?","Quelles commandes ont été passées ?","Quels investissements ont été réalisés ?","Notre niveau de dépendance a-t-il diminué ?","Les acteurs français ou européens gagnent-ils en maturité ?","Sommes-nous en avance, dans les temps ou en retard ?"]},{t:"p",text:"Ces KPI suivraient les deux éléments développés plus haut : **la progression dans le comblement de nos trous stratégiques** et **le niveau de maturité de chaque capacité** en matière de R&D, production, opération, maintenance, gouvernance et substitution. Ce rendez-vous annuel aurait aussi une fonction politique importante : il éviterait qu'une nouvelle stratégie numérique soit annoncée tous les trois ans sans jamais réellement expliquer ce qu'est devenue la précédente."}
83,{t:"callout",text:"**M+1** : choisir qui pilote et commencer à transformer la commande publique. **M+3 à Y+1** : mesurer nos dépendances et choisir nos priorités. **Y+1** : présenter le plan à dix ans. **Puis chaque année** : mesurer, publier et corriger."},{t:"p",text:"Rien de tout cela ne garantit évidemment que nous ferons toujours les bons choix. Mais au moins, nous saurons ce que nous avons choisi de faire, pourquoi nous l'avons choisi, et si nous sommes réellement en train d'y parvenir."},{t:"h2",text:"Pour conclure"},{t:"p",text:"Je ne prétends évidemment pas que l'ensemble des propositions de cet article doivent être reprises telles quelles. Certaines mériteraient des études économiques beaucoup plus poussées, d'autres nécessiteraient d'être confrontées aux contraintes juridiques européennes, aux réalités industrielles ou simplement à des personnes bien plus expertes que moi sur certaines briques technologiques."},{t:"p",text:"Ce texte doit donc surtout être lu comme **un point de départ pour la réflexion**. L'objectif est moins de fournir une feuille de route parfaite que de poser quelques questions qui me semblent aujourd'hui essentielles : quelles dépendances sommes-nous prêts à accepter ? Lesquelles voulons-nous réellement réduire ? Où devons-nous concentrer nos efforts ? Et surtout, comment transformer nos discours sur la souveraineté en capacités industrielles durables ?"},{t:"p",text:"Je suis convaincu d'une chose : nous ne résoudrons pas ces questions uniquement avec des subventions, des labels ou des déclarations d'intention. Il faudra faire des choix, accepter certaines dépendances, en refuser d'autres, prendre des risques industriels et surtout inscrire ces décisions dans le temps."},{t:"p",text:"Alors ne prenez pas forcément cet article comme **la** stratégie que la France devrait appliquer en 2027. Prenez-le plutôt comme une invitation à se demander collectivement :"},{t:"callout",text:"Quelle France et quelle Europe numériques voulons-nous encore être capables de construire dans dix ans ?"},{t:"h3",text:"Et si nous creusions ?"},{t:"callout",text:"Si vous souhaitez que je creuse un secteur en particulier, avec les différents acteurs et les cibles qu'il me semble falloir regarder (environnement, drones, robotique, énergieâ¦), n'hésitez pas à vous manifester."}]},{slug:"simulateur-defense-anti-drone-monte-carlo",number:8,title:"Pendant mes vacances, j'ai construit un simulateur de défense anti-drone",updated:"2026-09-08",author:"Benjamin",readingMinutes:14,socialImage:"/images/articles/sentinelle-resultats.png",metaDescription:"Un prototype de simulation de défense anti-drone construit pendant des vacances : relief réel, lignes de vue, stock d'intercepteurs, et surtout Monte-Carlo. Pourquoi cette méthode de 1940 reste plus pertinente qu'un LLM pour certains problèmes.",lede:"Un prototype de simulation de défense de zone, construit entre deux activités plus normales : du relief, des radars, des trajectoires et un stock limité d'intercepteurs. Et au bout, une méthode des années 1940 bien plus pertinente qu'un LLM pour ce genre de problème.",body:[{t:"p",text:"Oui, mes vacances sont parfois un peu particulières."},{t:"p",text:"Certains lisent au bord de la piscine. D'autres visitent des musées."},{t:"p",text:"Moi, entre deux activités un peu plus normales, j'ai sorti une radiocommande, lancé un simulateur de drone FPV⦠et commencé à me demander :"},{t:"quote",text:"Est-ce que je serais capable de construire un petit simulateur d'attrition pour une défense de zone ?"},{t:"p",text:"Pas un outil militaire opérationnel, ce n'est pas mon métier, en tout cas aujourd'hui ! Et non, pas un logiciel destiné à prédire précisément ce qui se passerait sur un champ de bataille : il faudrait bien plus d'heures de travail là -dessus."},{t:"p",text:"Simplement un prototype permettant de manipuler quelques concepts : des drones, des radars, du relief, des trajectoires, des probabilités de détection et un stock limité d'intercepteurs."}
83,{t:"p",text:"Et comme souvent avec les projets personnels, cette petite question a fini par m'emmener beaucoup plus loin que prévu."},{t:"h2",text:"Les drones et moi, ce n'est pas complètement nouveau"},{t:"image",src:"/images/articles/sentinelle-selfie-radiocommande.jpg",maxHeight:"640px",alt:"L'auteur tenant une radiocommande RadioMaster Pocket devant un écran affichant le simulateur de drone FPV Uncrashed",caption:"LES ARBRES, EUX, N'ONT TOUJOURS PAS APPRIS à ESQUIVER"},{t:"p",text:"J'aime les drones depuis longtemps. Le concept d'avoir à portée de main des capacités aériennes m'a toujours fasciné."},{t:"p",text:"Il y a environ sept ans, lorsque je travaillais chez Golem.ai, nous avions déjà fait une petite expérimentation qui consistait à faire décoller un drone à distance grâce à de la reconnaissance vocale. Une chaîne assez simple : **voix â speech-to-text â compréhension du langage â commande â drone**. Le retour vidéo arrivait directement sur mon ordinateur."},{t:"p",text:"à l'époque, nous avions même discuté d'utilisations plus ludiques de ce type de technologie : paintball augmenté, interactions entre joueurs et machines, pilotage simplifiéâ¦"},{t:"p",text:"L'actualité des dernières années a malheureusement montré que les usages de ces appareils dépasseraient très largement le divertissement."},{t:"p",text:"Aujourd'hui, je continue donc d'apprendre à les piloter. Principalement sur simulateur (Uncrashed pour les néophytes ;), avec une RadioMaster). Parce que les arbres, eux, n'ont toujours pas appris à esquiver."},{t:"h2",text:"Une question simple : une défense peut-elle réellement tenir ?"},{t:"p",text:"Quand on regarde les caractéristiques d'un système, on raisonne facilement en fiches techniques. Un radar porte à X kilomètres. Un intercepteur se déplace à telle vitesse. Un drone arrive à telle altitude."},{t:"p",text:"Et intuitivement, on finit par dessiner de beaux cercles autour des systèmes."},{t:"callout",label:"LE PROBLÃME",text:"La portée théorique n'est pas nécessairement la capacité réelle du système."},{t:"p",text:"C'est exactement la question que je voulais explorer. J'ai donc construit un petit outil permettant de positionner :"},{t:"list",items:["une zone à défendre ;","des radars ;","des observateurs ;","une base contenant un nombre limité de drones intercepteurs ;","un front d'attaque ;","différentes trajectoires d'intrusion."]},{t:"p",text:"Le simulateur fait ensuite évoluer chaque drone dans le temps, vérifie s'il peut être détecté, regarde si un intercepteur est disponible et estime si l'intrus peut être arrêté avant d'atteindre la zone protégée."},{t:"p",text:"Dit comme ça, cela paraît presque trivial. Ãa ne l'est pas."},{t:"video",src:"/videos/sentinelle-simulation.mp4",poster:"/images/articles/sentinelle-resultats.png",caption:"UNE EXÃCUTION : LES INTRUS AVANCENT, CERTAINS SONT INTERCEPTÃS, D'AUTRES PASSENT"},{t:"h2",text:"Mon premier système de défense possédait des drones infinis"},{t:"p",text:"Et c'est probablement mon bug préféré du projet."},{t:"p",text:"Dans une première version, j'avais bien défini qu'une base possédait, par exemple, sept drones. Sauf que lorsque le simulateur lançait une interception⦠je ne retirais jamais réellement le drone utilisé du stock."},{t:"p",text:"Résultat :"},{t:"list",items:["trois attaquants ;","un seul intercepteur ;","trois interceptions."]},{t:"p",text:"Une innovation remarquable dans la logistique militaire : le drone recyclable instantanément."},{t:"p",text:"C'est une erreur idiote. Mais elle illustre quelque chose d'assez fondamental dans ce genre de simulation."},{t:"p",text:"La question intéressante n'est pas uniquement :"},{t:"quote",text:"Est-ce que ce système peut intercepter cette cible ?"},{t:"p",text:"Elle devient :"},{t:"quote",text:"Combien d'attaques peut-il absorber avant de ne plus pouvoir répondre ?"},{t:"p",text:"Et là , on commence à parler d'attrition, de saturation, de redondance et de dimensionnement. Le problème change complètement."},{t:"h2",text:"Le cercle du radar ment un peu"},{t:"p",text:"J'ai ensuite voulu ajouter quelque chose que je trouvais indispensable : le relief réel. Parce qu'un radar annoncé avec une portée de plusieurs dizaines de kilomètres ne voit évidemment pas de la même manière dans une plaine que derrière une montagne."},{t:"p",text:"Une montagne a cette désagréable habitude de ne pas lire les brochures commerciales."},{t:"image",src:"/images/articles/sentinelle-relief-3d.png",alt:"
83Vue 3D du prototype : la zone à défendre, deux radars et une base de drones posés sur le relief réel des Alpes",caption:"LE MÃME DISPOSITIF, POSà SUR LE RELIEF RÃEL"},{t:"p",text:"La carte du prototype intègre donc déjà les données d'altitude et permet de placer les différents capteurs directement sur le relief réel."},{t:"p",text:"L'objectif, à terme, est de ne plus représenter uniquement la portée théorique du radar par un cercle, mais de calculer ce qu'il peut réellement voir en fonction du terrain : sommets, vallées, masques liés au relief, hauteur du capteur, etc."},{t:"p",text:"Et c'est précisément la partie sur laquelle je travaille encore. J'ai déjà une première implémentation de la ligne de vue, mais elle n'est pas suffisamment fiable pour que je considère le problème comme réglé. Certaines zones sont correctement masquées, d'autres pas encore, et il reste quelques cas où le résultat affiché ne correspond manifestement pas au terrain."},{t:"p",text:"Ce qui est finalement assez intéressant en soi : faire apparaître le relief sur une carte est relativement simple. Faire en sorte que la simulation le comprenne correctement l'est beaucoup moins."},{t:"p",text:"Pour l'instant, le cercle représente donc encore principalement la portée théorique du capteur. Mais l'objectif est justement de pouvoir montrer progressivement l'écart entre **ce que promet la fiche technique** et **ce que permet réellement le terrain**."},{t:"p",text:"C'est probablement l'une des prochaines briques que j'ai le plus envie de terminer sur ce prototype."},{t:"h2",text:"Des caractéristiques publiques de drones français et ukrainiens"},{t:"p",text:"Pour rendre l'exercice un peu plus intéressant, j'ai récupéré sur Internet des caractéristiques publiquement disponibles concernant différents drones et systèmes d'interception français et ukrainiens."},{t:"image",src:"/images/articles/sentinelle-modeles-intercepteurs.png",alt:"Le sélecteur de modèle d'intercepteur du prototype, listant des drones ukrainiens et français avec leur vitesse",caption:"DES ORDRES DE GRANDEUR PLAUSIBLES, PAS DES PERFORMANCES RÃELLES"},{t:"p",text:"Pas pour prétendre reproduire leurs performances réelles. Il manque évidemment énormément d'informations pour cela : comportement réel, guidage, communications, météo, contre-mesures, doctrine d'emploi, qualité des opérateursâ¦"},{t:"p",text:"L'objectif était simplement de disposer d'ordres de grandeur plausibles et de pouvoir comparer différents types de machines. Je suis allé chercher ce qui était disponible, comme Alta Ares ou Wild Hornets par exemple."},{t:"p",text:"Cela permet déjà de constater quelque chose d'intéressant : **un drone n'est pas « bon » ou « mauvais » dans l'absolu.** Une machine rapide, une machine bon marché, une machine endurante ou une machine capable d'emporter davantage de charge ne répondent pas au même problème."},{t:"p",text:"Et lorsqu'on les replace dans un système complet, leurs caractéristiques individuelles ne racontent qu'une partie de l'histoire."},{t:"h2",text:"Quand une simulation ne suffit plus : Monte-Carlo"},{t:"p",text:"à ce stade, mon simulateur pouvait déjà faire évoluer un scénario. Un drone arrive. Un radar essaie de le détecter. Un intercepteur est éventuellement lancé. La cible atteint ou non la zone à défendre."},{t:"p",text:"Le problème, c'est qu'une exécution unique ne raconte presque rien."},{t:"p",text:"Imaginons que mon radar ait une probabilité de détection de 90 %. Je lance la simulation une fois : le drone est détecté. Puis-je en conclure que mon dispositif fonctionne ?"},{t:"p",text:"Ãvidemment non. Je pourrais tout aussi bien relancer exactement le même scénario et tomber cette fois dans les 10 % où la détection échoue."},{t:"p",text:"C'est précisément pour répondre à ce genre de problème qu'existent les **méthodes de Monte-Carlo**."},{t:"callout",label:"LE PRINCIPE",text:"Plutôt que de chercher une réponse unique à un problème comportant du hasard ou de l'incertitude, on rejoue le scénario un très grand nombre de fois. à chaque itération, certaines variables sont tirées aléatoirement selon les probabilités définies."},{t:"p",text:"Par exemple :"},{t:"list",items:["le radar détecte ou non une cible ;","une interception réussit ou échoue ;","un événement survient plus ou moins tôt ;","certaines caractéristiques peuvent légèrement varier ;","une trajectoire peut différer dans les limites définies."]},{t:"p",text:"Une simulation devient alors un tirage parmi de nombreuses évolutions possibles du même scénario. J'en lance 10. Puis 100. Puis 1 000."},{t:"p",text:"Et au lieu d'obtenir une réponse du type :"},{t:"quote",text:"Le drone a été intercepté."},{t:"p",text:"j'obtiens quelque chose de beaucoup plus utile :"},{t:"quote",text:"Sur 1 000 simulations, le drone a été intercepté dans 73 % des cas."},{t:"p",text:"Ou encore :"},{t:"quote",text:"Dans 42 % des simulations, la défense est saturée avant la fin de l'attaque."}
83,{t:"p",text:"Sur un scénario complet, on obtient alors une lecture de ce type : 81 % des attaques détectées, 64 % interceptées, 36 % atteignant malgré tout la zone, et une défense saturée dans certaines configurations."},{t:"image",src:"/images/articles/sentinelle-resultats.png",alt:"Panneau de résultats du prototype : nombre de pénétrations, intrus détruits, causes d'échec et préavis moyen",caption:"LES CAUSES D'ÃCHEC COMPTENT AUTANT QUE LE SCORE"},{t:"p",text:"On ne dit donc plus « ça fonctionne ». On commence à dire : **dans ces hypothèses, cette configuration fonctionne dans X % des cas.** On ne cherche plus à prédire exactement ce qui va se passer, on cherche à mesurer la distribution des résultats possibles."},{t:"p",text:"Et cette différence est fondamentale."},{t:"h3",text:"D'où vient ce nom un peu étrange ?"},{t:"p",text:"Le nom « Monte-Carlo » vient évidemment du célèbre casino monégasque. La méthode s'est développée dans les années 1940, notamment autour des travaux menés à Los Alamos pendant le projet Manhattan."},{t:"p",text:"Les chercheurs étaient confrontés à des problèmes physiques extrêmement complexes pour lesquels une résolution analytique exacte devenait difficile, voire impossible. L'idée était alors de remplacer une partie du calcul direct par des échantillonnages aléatoires répétés."},{t:"p",text:"Dit autrement : si je ne peux pas facilement calculer toutes les possibilités d'un système, je peux en simuler énormément et observer ce qui se passe statistiquement. C'est particulièrement puissant lorsque le nombre de combinaisons possibles explose."},{t:"h3",text:"Un exemple très simple"},{t:"p",text:"Prenons un exemple volontairement simplifié. Un radar a 80 % de chances de détecter un drone. Si le drone est détecté, un intercepteur a ensuite 70 % de chances de réussir son interception."},{t:"p",text:"On pourrait essayer de calculer directement la probabilité finale. Dans ce cas simple, c'est facile. Mais ajoutons maintenant :"},{t:"list",items:["plusieurs radars,","plusieurs drones,","des portées différentes,","des temps d'arrivée différents,","un nombre limité d'intercepteurs,","des probabilités variables,","du relief,","des priorités d'engagement,","et plusieurs trajectoires."]},{t:"p",text:"Très vite, les interactions deviennent suffisamment nombreuses pour que le système soit difficile à raisonner à la main. Monte-Carlo permet alors de dire : « fais tourner ce scénario 10 000 fois et montre-moi ce qui se passe. »"},{t:"p",text:"Puis on regarde :"},{t:"list",items:["combien d'intrus passent ;","combien sont interceptés ;","à quel moment la défense sature ;","combien d'intercepteurs sont consommés ;","quels capteurs sont les plus sollicités ;","quelles configurations échouent le plus souvent."]},{t:"p",text:"Et surtout, on peut comparer plusieurs architectures."},{t:"h2",text:"Ce n'est pas seulement utile pour les drones"},{t:"p",text:"C'est justement ce que je trouve intéressant avec Monte-Carlo : cette méthode est utilisée dans énormément de domaines, souvent très loin de l'intelligence artificielle générative."},{t:"h3",text:"Finance"},{t:"p",text:"C'est probablement l'un des usages les plus connus. On peut simuler des milliers de trajectoires possibles pour le prix d'un actif, un portefeuille ou un taux d'intérêt."},{t:"p",text:"L'objectif n'est pas de prédire exactement le cours de demain. C'est plutôt d'estimer :"},{t:"list",items:["la probabilité d'une perte ;","la distribution des rendements ;","le niveau de risque ;","le comportement d'un portefeuille dans différents scénarios."]},{t:"p",text:"Les simulations Monte-Carlo sont notamment utilisées dans des problématiques de valorisation, de gestion des risques ou de stress testing."},{t:"h3",text:"Assurance"},{t:"p",text:"Même logique. Une compagnie d'assurance peut simuler des milliers ou des millions de scénarios de sinistres. Combien d'accidents ? Quelle sévérité ? à quelle fréquence ? Avec quelles corrélations ?"},{t:"p",text:"Cela permet ensuite d'estimer les réserves nécessaires ou la probabilité d'un scé
83nario extrême."},{t:"h3",text:"Industrie et fiabilité"},{t:"p",text:"Imaginez une usine avec plusieurs composants. Chaque pièce possède une probabilité de panne. Certaines pannes sont indépendantes, d'autres peuvent provoquer des défaillances en cascade."},{t:"p",text:"Une simulation Monte-Carlo permet de tester des milliers de vies possibles du système afin d'estimer :"},{t:"list",items:["son taux de disponibilité ;","son risque de panne ;","sa durée de vie ;","l'impact d'une maintenance préventive."]},{t:"h3",text:"Logistique"},{t:"p",text:"On peut également l'utiliser pour simuler des chaînes logistiques. Retard d'un fournisseur. Variation des délais de livraison. Indisponibilité d'une ressource. Variation de la demande."},{t:"p",text:"Plutôt que de construire un seul planning idéal, on teste le comportement du système face à des milliers de perturbations."},{t:"h3",text:"Ãnergie"},{t:"p",text:"Dans un réseau électrique, beaucoup de paramètres varient : production solaire, vent, consommation, pannes, prix, disponibilité des moyens de production. Monte-Carlo peut servir à évaluer la robustesse du réseau face à cette variabilité."},{t:"h3",text:"Médecine et recherche scientifique"},{t:"p",text:"La méthode est aussi utilisée pour simuler des phénomènes biologiques, physiques ou radiologiques. Par exemple, pour modéliser le trajet de particules dans la matière, les interactions moléculaires ou certains phénomènes complexes où une approche analytique devient trop coûteuse."},{t:"h3",text:"Informatique et cybersécurité"},{t:"p",text:"On peut également tester la résilience d'une architecture informatique. Que se passe-t-il si tel serveur tombe ? Puis un deuxième ? Si certains paquets sont perdus ? Si une charge arrive plus tôt que prévu ?"},{t:"p",text:"L'idée reste la même : injecter de l'incertitude, répéter, observer la distribution des résultats."},{t:"h2",text:"Pourquoi Monte-Carlo est encore extrêmement actuel"},{t:"p",text:"Ce qui me plaît avec cette méthode, c'est qu'elle a plus de 70 ans et qu'elle reste parfaitement moderne. Parce qu'elle répond à un problème qui, lui, n'a jamais disparu : **le monde réel est incertain.**"},{t:"p",text:"Nous avons souvent tendance à construire des modèles avec une valeur unique. Un temps moyen. Une vitesse moyenne. Un taux de détection moyen. Un coût moyen."},{t:"p",text:"Mais une moyenne peut cacher énormément de choses. Deux systèmes peuvent avoir exactement la même performance moyenne tout en ayant des comportements très différents. L'un peut être extrêmement stable. L'autre peut être excellent 80 % du temps et catastrophique les 20 % restants."},{t:"p",text:"Monte-Carlo permet justement de voir cette différence. C'est la raison pour laquelle cette méthode est particulièrement utile lorsqu'on s'intéresse à :"},{t:"list",items:["la robustesse ;","la saturation ;","le risque ;","les valeurs extrêmes ;","les chaînes d'événements ;","l'incertitude."]},{t:"p",text:"Et cela correspond assez bien à mon petit simulateur. Je ne cherche pas vraiment à savoir « est-ce qu'un drone donné va passer ? ». Je cherche plutôt à répondre à : **si je rejoue cette attaque des centaines de fois, à quelle fréquence mon dispositif tient-il ?**"},{t:"h2",text:"Et non, ce n'est pas un LLM"},{t:"p",text:"C'est aussi une bonne occasion de revenir sur une confusion que l'on fait de plus en plus. Lorsque l'on parle aujourd'hui d'intelligence artificielle, beaucoup de personnes pensent immédiatement à ChatGPT, Claude, Gemini ou Mistral."},{t:"p",text:"Mais une grande partie des problèmes industriels ne consiste pas à générer du texte. Il faut parfois optimiser, classifier, chercher, simuler, prévoir, ou simplement calculer."},{t:"p",text:"Monte-Carlo n'est d'ailleurs pas une IA générative. Ce n'est même pas nécessairement de l'apprentissage automatique."},{t:"callout",label:"PAS DE MODÃLE ENTRAÃNÃ, PAS DE PROMPT",text:"Il y a des hypothèses. Des distributions de probabilité. Un générateur de nombres aléatoires. Et beaucoup d'itérations."},{t:"p",text:"C'est presque l'exact opposé de l'imaginaire actuel autour de l'IA. Et pourtant, pour certains problèmes, c'est infiniment plus pertinent."},{t:"h2",text:"Monte-Carlo ne donne pas une réponse, mais une confiance"},{t:"p",text:"C'est peut-être la partie la plus importante. Une simulation déterministe donne souvent une sortie. Monte-Carlo donne une distribution."},{t:"p",text:"Cela permet de commencer à parler de choses comme :"},{t:"list",items:["la médiane ;","les percentiles ;","la variance ;","les probabilités de dépassement ;
83","les scénarios rares ;","les intervalles de confiance."]},{t:"p",text:"Et à partir de là , on peut enfin prendre des décisions plus intéressantes. Par exemple : « cette configuration arrête 95 % des attaques. » C'est déjà utile."},{t:"p",text:"Mais on peut aller plus loin :"},{t:"quote",text:"Elle arrête 95 % des attaques dans les scénarios normaux, mais tombe à 61 % lorsqu'on double le nombre d'intrus."},{t:"p",text:"Là , on commence à voir apparaître le véritable intérêt de la simulation. On ne mesure plus seulement une performance : **on mesure la fragilité du système.**"},{t:"h2",text:"Pourtant, l'IA a joué un rôle énorme dans ce projet"},{t:"p",text:"Et c'est là que l'histoire devient un peu paradoxale. Le simulateur ne repose pas sur un modèle d'IA type LLM. Mais je l'ai largement construit avec l'aide d'un assistant IA."},{t:"p",text:"C'est probablement l'un des meilleurs exemples que j'ai eus récemment de ce que l'on appelle désormais le **vibe coding**."},{t:"list",ordered:!0,items:["Je décris une fonctionnalité.","Je produis une première implémentation.","Je teste.","Je casse quelque chose.","Je corrige.","Je demande une nouvelle fonctionnalité.","Je re-teste."]},{t:"p",text:"En quelques jours, j'ai pu arriver à un prototype avec une interface cartographique, du relief 3D, des lignes de vue, différentes unités, une timeline de simulation, des statistiques et des scénarios reproductibles."},{t:"p",text:"Il y a encore quelques années, un projet personnel de ce type m'aurait probablement demandé suffisamment de temps pour que je ne commence tout simplement jamais."},{t:"p",text:"C'est là , pour moi, que les assistants de programmation changent réellement quelque chose. Ils diminuent énormément le coût de l'expérimentation."},{t:"h2",text:"Mais le vibe coding ne supprime pas le besoin de comprendre ce que l'on construit"},{t:"p",text:"C'est même presque l'inverse. Les bugs les plus intéressants de ce projet n'étaient pas forcément des erreurs de syntaxe. C'étaient des erreurs de logique."},{t:"list",items:["Le fameux intercepteur qui ne disparaissait jamais.","Une caméra 3D qui s'ouvrait très loin de la zone étudiée.","Des objets graphiques qui capturaient les clics et empêchaient d'en positionner d'autres.","Une simulation techniquement fonctionnelle mais conceptuellement absurde."]},{t:"p",text:"L'assistant peut écrire extrêmement rapidement une fonction. Il ne sait pas forcément que la fonction qu'on lui demande n'a aucun sens par rapport au problème réel."},{t:"p",text:"Et plus le coût d'écriture du code diminue, plus une autre compétence devient importante : **savoir tester, questionner et challenger ce que l'on vient de construire.**"},{t:"p",text:"Le travail ne disparaît pas. Il se déplace."},{t:"h2",text:"Ce que je retiendrai de ce projet"},{t:"p",text:"Je suis parti d'une question de vacances : « est-ce que je peux fabriquer ça ? »"},{t:"p",text:"Et j'ai fini avec un petit laboratoire permettant d'explorer du relief, des capteurs, de la saturation et des probabilités."},{t:"p",text:"Ce prototype ne prétend évidemment pas représenter fidèlement la réalité opérationnelle d'un système de défense. Et ce n'était pas son objectif. Ce qui m'intéressait était ailleurs :"},{t:"list",items:["comprendre comment quelques règles simples commencent à produire des comportements complexes ;","voir comment le terrain remet immédiatement en cause une fiche technique ;","expérimenter avec des données publiques ;","tester jusqu'où un assistant IA pouvait accélérer la création d'un outil totalement nouveau pour moi."]},{t:"p",text:"Et surtout revenir à quelque chose que je considère essentiel lorsqu'on travaille dans l'IA :"},{t:"callout",label:"LA SEULE VRAIE RÃGLE",text:"Ne commencez pas par choisir votre technologie. Commencez par comprendre votre problème."},{t:"p",text:"Parfois, la bonne réponse est un LLM. Parfois, c'est un modèle spécialisé. Parfois, c'est Monte-Carlo."},{t:"p",text:"Et parfois⦠c'est juste un **-1** qu'on avait oublié d'appliquer au nombre de drones disponibles."}]},{slug:"jeu-video-sans-coder-quand-les-modeles-ont-des-mains",number:9,title:"J'ai fait un jeu sans coder. Mais ce n'est pas le vibe coding qui m'intéresse",updated:"2026-09-09",author:"Benjamin",readingMinutes:18,metaDescription:"Un prototype de jeu vidéo construit en quelques jours avec un agent IA. Ce qui change vraiment n'est pas que les modèles écrivent mieux du code : c'est qu'on leur donne des outils pour agir. MCP, algorithme génétique, harness, human-in-the-loop, observabilité.",lede:"Je n'ai pratiquement pas écrit une ligne. J'ai décrit, testé, refusé, arbitré, pendant qu'un agent modifiait le projet. L'histoire intéressante n'est pas là : elle est dans ce qu'on branche autour du modèle.",body:[{t:"p",text:"Ces derniers jours, j'ai développé un jeu vidéo."},{t:"p",text:"Enfin, « développé » est probablement le mauvais mot. Je n'ai pratiquement pas écrit de code moi-même."},{t:"p",text:"J'ai décrit ce que je voulais. J'ai testé. J'ai refusé certaines propositions. J'ai signalé des bugs. J'ai arbitré des mécaniques. J'ai fourni des assets."},{t:"p",text:"Et pendant ce temps, un agent IA modifiait directement le projet : fichiers, scripts, tests, images, musiques, scènesâ¦"},{t:"p",text:"On pourrait facilement en tirer un article enthousiaste sur le vibe coding."},{t:"p",text:"Et soyons clairs : c'est impressionnant. Mais après quelques jours à travailler comme ça, je pense que le sujet le plus intéressant est ailleurs."},{t:"p",text:"Ce qui change vraiment n'est pas seulement que les modèles écrivent mieux du code. **C'est qu'on commence à les connecter à des outils capables d'agir réellement sur leur environnement**, et que la communauté commence à l'appliquer."},{t:"video",src:"/videos/jeu-gameplay.mp4",caption:"LE PROTOTYPE APRÃS QUELQUES JOURS",note:"Merci à [pixelfrog-assets](https://pixelfrog-assets.itch.io/tiny-swords) pour son pack gratuit Tiny Swords, qui m'a fait gagner du temps avant l'ajout de mes propres modèles."},{t:"h2",text:"Pourquoi il vient nous parler de jeu vidéo ?"},{t:"p",text:"Je vais vous infliger un paragraphe digne des messages bullshit LinkedIn. Pardonnez-moi."}
83,{t:"p",text:"Lorsque je me suis lancé dans SOCLE AI, lors de l'un de nos premiers cafés, mon binôme, dont je tairai le nom, il se reconnaîtra ;), m'a demandé :"},{t:"quote",text:"Si SOCLE AI réussissait vraiment beaucoup, genre si tu avais beaucoup d'argent, tu ferais quoi ?"},{t:"p",text:"Pendant que je réfléchissais, il a continué en rigolant :"},{t:"quote",text:"Te connaissant, tu ferais une équipe dâesport."},{t:"p",text:"Même si l'idée de faire de l'ombre à la KC me fait sourire, je préférerais probablement les rejoindre et les soutenir."},{t:"p",text:"Je lui avais répondu trois choses."},{t:"list",ordered:!0,items:["Faire un jeu vidéo dont le gameplay et l'univers me trottent dans la tête depuis des années.","Trouver un moyen de mêler robotique et environnement, par exemple avec des outils de surveillance ou de protection de nos forêts.","Et, beaucoup plus cliché, faire quelque chose autour des animaux : soutenir un refuge ou un projet de ce type."]},{t:"p",text:"Fin de la séquence émotion. Revenons au jeu vidéo."},{t:"p",text:"Parce qu'au-delà du rêve de gamin, le jeu est aussi un formidable laboratoire pour parler d'intelligence artificielle. On peut y simuler rapidement des situations, répéter des milliers d'expériences et observer des comportements émerger."},{t:"p",text:"Ce n'est d'ailleurs pas complètement étranger à l'intérêt actuel pour les simulations et les *world models*. Et surtout, dans mon cas, cela permettait de mettre dans un seul prototype plusieurs formes d'IA très différentes."},{t:"h2",text:"Je ne lui ai pas demandé « fais-moi un jeu »"},{t:"p",text:"Il y a un point essentiel qui disparaît souvent dans les démonstrations de vibe coding. Je n'ai pas ouvert un agent en écrivant :"},{t:"quote",text:"Fais-moi un jeu vidéo cool, un peu comme Space Invaders stp."},{t:"p",text:"Le jeu existait déjà dans ma tête. Depuis longtemps."},{t:"p",text:"J'imaginais cet univers pendant mes temps perdus : son lore, ses peuples, ses dieux, ses règles et progressivement ses mécaniques."},{t:"p",text:"Je savais notamment ce que je voulais faire de la boucle principale. Le joueur développe un village et construit son propre donjon. Mais surtout, **ce donjon peut être attaqué quand le joueur n'est pas là .** Ses défenseurs doivent donc être capables de combattre seuls."},{t:"p",text:"Et je ne voulais pas quâils reposent uniquement sur un comportement du type :"},{t:"code",text:`si ennemi proche : 84 attaquer 85sinon : 86 marcher vers ennemi`},{t:"p",text:"Je voulais que chaque défenseur puisse posséder son propre petit réseau de neurones. Un cerveau que le joueur pourrait construire, modifier puis entraîner."},{t:"p",text:"Cette mécanique était là avant la première ligne de code. Le gameplay général aussi. Le lore aussi. Une bonne partie des premières boucles de progression également."},{t:"p",text:"L'agent n'a donc pas inventé mon produit. Il m'a permis de transformer très rapidement une spécification qui existait déjà en quelque chose que je pouvais manipuler."},{t:"p",text:"Et cette distinction me paraît fondamentale."},{t:"h2",text:"Plus l'exécution devient rapide, plus la spécification prend de la valeur"},{t:"p",text:"Pendant longtemps, une mauvaise spécification pouvait mettre du temps avant de se révéler vraiment mauvaise. Le développement prenait du temps. Plusieurs semaines pouvaient passer avant d'avoir suffisamment construit pour se rendre compte que la direction initiale posait problème."},{t:"p",text:"C'est d'ailleurs notamment pour cela que l'on a rapproché Produit, développement et QA, avec des boucles de validation beaucoup plus courtes."},{t:"callout",label:"CE QUE LES AGENTS ACCÃLÃRENT VRAIMENT",text:"Si une équipe ou un agent est capable de produire énormément en quelques heures, alors une mauvaise direction donne simplement une mauvaise solution produite beaucoup plus vite."},{t:"p",text:"Pouvoir exécuter rapidement ne supprime donc pas le travail Produit. Au contraire. Cela augmente la valeur de questions très basiques :"},{t:"list",items:["Pour qui construit-on ?","Quelle est la boucle principale ?","Quelle mécanique apporte réellement quelque chose ?","Quelle fonctionnalité peut attendre ?","Qu'est-ce qui doit être automatisé ?","Qu'est-ce qui doit rester manuel ?","Et surtout : qu'est-ce qu'on refuse de construire ?"]},{t:"p",text:"Sur le jeu, une partie importante de mon travail consiste précisément à écrire « non, pas maintenant ». Ou « ce n'est pas comme ça que je l'imaginais ». Ou encore « la mécanique fonctionne, mais elle n'est pas intéressante »."},{t:"p",text:"L'IA accélère énormément l'exécution. **Elle ne donne pas automatiquement une bonne direction.**"},{t:"h2",text:"Ce qui change vraiment : le modèle commence à agir"},{t:"p",text:"Prenons maintenant un très bon modèle de langage. Vous lui demandez :"},{t:"quote",text:"Analyse ces logs et corrige le bug."},{t:"p",text:"S'il n'a accès à rien, il peut produire une hypothèse. Il peut écrire un bout de code. Il peut vous dire quelles commandes lancer. Mais c'est encore à vous de prendre cette réponse et d'agir."},{t:"p",text:"Donnons-lui maintenant quelques capacités :"},{t:"list",items:["lire les fichiers du projet ;","rechercher dans le code ;","modifier un fichier ;","lancer les tests ;","exécuter le programme ;","inspecter le résultat ;","utiliser Git ;","appeler une API ;","utiliser des outils disponibles sur la machine."]},{t:"p",text:"La même demande change de nature. L'agent peut rechercher les fichiers concernés, identifier une cause probable, modifier le code, lancer les tests, analyser l'erreur puis modifier son approche."},{t:"p",text:"On passe de « produire une réponse » à **« poursuivre un objectif à travers une succession d'actions »**. C'est là que l'approche agentique devient réellement intéressante."},{t:"h3",text:"Le modèle raisonne, les outils agissent"},{t:"p",text:"Le modèle peut conclure : « il faudrait regarder le fichier de sauvegarde. » Mais sans outil, il ne peut pas le lire."},{t:"p",text:"Il peut déterminer : « ces WAV devraient être convertis. » Mais sans console ni ffmpeg, il ne peut pas effectuer la conversion."}
86,{t:"p",text:"Il peut suggérer : « il faudrait lancer les tests. » Mais il ne connaîtra jamais leur résultat tant que quelqu'un ou quelque chose ne les aura réellement exécutés."},{t:"callout",text:"Le modèle apporte une capacité de décision probabiliste. L'outil lui donne une capacité d'action."},{t:"p",text:"C'est notamment dans cette logique qu'intervient **MCP, Model Context Protocol**."},{t:"h2",text:"MCP : une prise standard, pas une baguette magique"},{t:"p",text:"On entend parfois que MCP est « ce qui permet à une IA d'accéder à votre ordinateur ». C'est un raccourci."},{t:"p",text:"MCP est avant tout un protocole d'interconnexion. Il permet à un environnement agentique de découvrir et d'appeler de manière standardisée les outils et ressources qui lui sont exposés."},{t:"diagram",name:"mcpTools"},{t:"p",text:"Ce sont ensuite l'application hôte, les permissions et les outils exposés qui déterminent ce que l'agent peut réellement faire. Cette nuance est importante : **vous ne voulez justement pas que votre agent puisse tout faire.**"},{t:"p",text:"Dans mon cas, l'agent pouvait travailler directement dans le projet Godot, écrire dans certains dossiers, lancer des commandes et utiliser les outils nécessaires à son travail. Et c'est ce qui a rendu l'expérience très différente d'un simple chatbot qui me rend du code à recopier."},{t:"h2",text:"Mais tout ne mérite pas d'être connecté"},{t:"p",text:"Les assets donnent un bon contre-exemple. Une partie des sprites du prototype a été générée avec ChatGPT, et les quatre morceaux de musique avec Suno. Deux outils que je connaissais déjà , et pour lesquels je savais assez précisément ce que je voulais obtenir."},{t:"p",text:"J'avais besoin de quelques sprites et de quatre musiques. Pas de quatre cents."},{t:"p",text:"Je n'ai donc connecté ni l'un ni l'autre à mon environnement agentique. J'ai produit les images et les morceaux directement dans leur outil, téléchargé les fichiers et je les ai déposés dans le projet. à partir de là , l'agent pouvait prendre la suite : conversion des formats, découpe, nommage, organisation, intégration dans les différentes scènesâ¦"},{t:"image",src:"/images/articles/jeu-sprites-fiche-personnages.png",alt:"Planche de sprites générée avec ChatGPT : le Hamster Piquier et le Charpentier Marmotte, avec leurs poses d'attente, de marche dans les quatre directions, d'attaque, leurs réactions et leur état blessé ou mort",caption:"DEUX UNITÃS, LEURS ANIMATIONS ET LEURS RÃACTIONS"},{t:"image",src:"/images/articles/jeu-sprites-hamster-piquier.png",alt:"Bande d'animation du Hamster Piquier : attente, marche, coup de lance, alerte, surprise et confusion",caption:"LE HAMSTER PIQUIER, IMAGE PAR IMAGE"},{t:"p",text:"La frontière est assez nette. La génération demandait mon Åil : je regarde, je relance, je choisis. Tout ce qui vient après est mécanique, répétitif et vérifiable â donc exactement ce qu'un agent fait bien."},{t:"p",text:"Pourquoi ne pas automatiser la première partie ? Parce que cela nâaurait probablement rien apporté. Une intégration supplémentaire signifie également :"},{t:"list",items:["des outils supplémentaires dans le contexte ;","des permissions ;","des dépendances ;","des cas d'erreur ;","de la maintenance."]},{t:"p",text:"Tout ça pour automatiser une poignée de générations que je pouvais lancer moi-même en quelques minutes."},{t:"callout",label:"UNE RÃGLE D'ARCHITECTURE PLUS IMPORTANTE QU'ELLE N'EN A L'AIR",text:"Parce que l'on peut connecter un outil à un agent ne signifie pas qu'on doit le faire."},{t:"h2",text:"J'ai donc utilisé une IA⦠pour développer une autre IA"},{t:"p",text:"Et c'est là que le projet devient particulièrement amusant. Parce que l'une des principales mécaniques du jeu repose elle-même sur une forme d'intelligence artificielle."},{t:"p",text:"Mais pas un LLM. Pas même de l'IA générative. **Un réseau de neurones entraîné par algorithme génétique.**"},{t:"h3",text:"Chaque défenseur peut avoir son propre cerveau"},{t:"p",text:"Le principe du donjon est simple. Vous le construisez. Vous y placez vos défenseurs. Puis un autre joueur peut venir l'attaquer alors que vous êtes hors ligne. Vos créatures doivent donc se débrouiller seules."},{t:"p",text:"Mais au lieu de leur donner uniquement une IA scriptée, je voulais que le joueur puisse construire leur cerveau. L'idée est en partie inspirée de The Bibites, que je trouve fascinant dans sa manière de rendre visibles de petits réseaux neuronaux et de laisser émerger des comportements."},{t:"image",src:"/images/articles/jeu-bibites-cerveau.png",maxHeight:"664px",alt:"Graphe du cerveau d'une créature de The Bibites : des capteurs (phéromones, cap, horloge) reliés par des connexions vertes et rouges à des nÅuds Linear, ReLu, Gaussian, Mult, Latch et Differential, jusqu'aux sorties Accelerate, Rotate et émission de phéromones",caption:"LE CERVEAU DâUNE CRÃATURE, RENDU LISIBLE",credit:{author:"Captures de The Bibites: Digital Life, de Léo Caussan",license:"thebibites.com",href:"https://www.thebibites.com/"}},{t:"image",src:"/images/articles/jeu-bibites-simulation.webp",alt:"Capture de The Bibites : le panneau de biologie (santé, énergie, flux, croissance, âge, organes internes) et le détail des flux énergétiques, à côté de créatures évoluant dans la simulation",caption:"ET LE DÃTAIL DE SON MÃTABOLISME, EN COURS DE SIMULATION",credit:{author:"Captures de The Bibites: Digital Life, de Léo Caussan",license:"thebibites.com",href:"https://www.thebibites.com/"}},{t:"p",text:"Chaque défenseur reçoit donc différents signaux :"},{t:"list",items:["la position de l'adversaire ;","sa distance ;","ses propres points de vie ;","la position de ses alliés ;","son poste assigné ;","le nombre d'ennemis autour de lui."]},{t:"p",text:"Et le réseau peut produire différentes actions :"},{t:"list",items:["avancer ;","reculer ;","se déplacer latéralement ;","attaquer ;","utiliser certaines capacités selon son rôle."]},{t:"p",text:"Entre les deux, le joueur construit son réseau. Il peut ajouter ou retirer des nÅuds, changer l'architecture et donc influencer la manière dont son défenseur prend ses décisions."},{t:"h3",text:"Puis Darwin entre dans le donjon"},{t:"p",text:"Il faut maintenant trouver les bons paramètres du réseau. C'est là qu'intervient l'algorithme génétique."},{t:"diagram",name:"geneticLoop"},{t:"p",text:"Petit à petit, certains comportements émergent. Un défenseur apprend à charger immédiatement. Un autre garde ses distances. Un autre protège davantage une zone."},{t:"p",text:"Et le joueur peut ensuite reprendre la main, modifier le réseau, relancer un entraînement ou choisir un individu qui n'est pas nécessairement celui ayant obtenu le meilleur score. Parce que **la performance mathématique et le comportement que vous souhaitez ne sont pas toujours la même chose.**"},{t:"image",src:"/images/articles/jeu-entrainement-selection.png",alt:"Interface d'entraînement du prototype : le graphe de fitness au fil des générations, un bouton pour revoir le match du meilleur, et la population classée par score avec un bouton Voir et un bouton Garder pour chaque individu",caption:"Encore du travail sur les interfaces, mais la mécanique est là "},{t:"h2",text:"Une fonction de fitness est déjà une spécification"},{t:"p",text:"C'est probablement l'un des parallèles les plus amusants avec les agents modernes. Supposons que je récompense uniquement la survie de mon défenseur. Très rapidement, l'évolution peut découvrir une excellente stratég
86ie : **fuir le combat pendant douze secondes.**"},{t:"p",text:"Mathématiquement, impeccable. Comme jeu vidéo, beaucoup moins."},{t:"p",text:"On ajoute donc une pénalité lorsque le personnage reste trop loin. Puis les individus exploitent autre chose. On corrige. Puis encore autre chose."},{t:"p",text:"La fonction de fitness finit par devenir une sorte de spécification formelle de ce que nous considérons comme un « bon » comportement."},{t:"p",text:"Ce ne sont pas les créatures qui se rebellent contre leur créateur. Elles optimisent simplement le critère qu'on leur a donné."},{t:"callout",label:"CE QUI VAUT POUR LES TROIS",text:"Nous obtenons rarement ce que nous avions vaguement en tête. Nous obtenons ce que nous avons réussi à spécifier. C'est vrai avec un algorithme génétique. C'est vrai avec un agent. C'est vrai avec une équipe de développement."},{t:"p",text:"Combien de fois me suis-je retrouvé devant un développeur junior très fier de me montrer une fonctionnalité techniquement conforme mais complètement absurde à l'usage ? « Ce n'était pas spécifié. » Et parfois⦠il avait raison."},{t:"h2",text:"Faire fonctionner un jeu n'est pas faire un bon jeu"},{t:"p",text:"Tout cela étant dit, est-ce que cinq jours avec un agent font de moi un studio de jeu vidéo ? Ãvidemment non."},{t:"p",text:"Faire fonctionner un prototype n'a quasiment rien à voir avec produire Baldur's Gate 3 ou Clair Obscur: Expedition 33. Ce qui fait la qualité de ces jeux n'est pas qu'un développeur ait réussi à programmer :"},{t:"code",text:"player.attack(enemy)"},{t:"p",text:"C'est l'accumulation de milliers de décisions."},{t:"list",items:["Le rythme d'une animation.","La réaction dâun personnage pendant un dialogue.","Une caméra qui bouge exactement au bon moment.","Le poids d'un impact.","L'écriture. Le sound design. La direction artistique.","La musique, et une pensée particulière pour le travail de Lorien Testard et Alice Duport-Percier sur Clair Obscur.","Une interface qui vous donne lâinformation sans vous la jeter au visage.","Un environnement qui attire naturellement votre regard.","Une réaction prévue pour une décision que 2 % des joueurs seulement prendront.","Le travail de motion capture, les transitions, le rythme général. De la même manière un petit clin dâÅil pour Estelle Darnault et son formidable travail."]},{t:"p",text:"Cette accumulation de détails représente un travail colossal effectué par de nombreux métiers. Et l'IA ne le fait pas disparaître."},{t:"h3",text:"La difficulté n'est pas dans le nombre de lignes de code"},{t:"p",text:"C'est peut-être l'une des erreurs fondamentales lorsque l'on parle d'IA dans la création. On confond facilement le coût d'implémentation d'un produit et la difficulté de créer un bon produit."},{t:"p",text:"Or la qualité des meilleurs jeux réside surtout dans leur densité de choix pertinents. Baldur's Gate 3 est remarquable notamment parce qu'une quantité presque absurde de situations ont été anticipées. Clair Obscur possède une identité parce que sa direction artistique, sa musique, sa mise en scène, son gameplay et son rythme semblent parler la même langue."},{t:"p",text:"Les technologies génératives pourront accélérer énormément de choses : le code, le prototypage, les concepts, certains assets, les tests, la localisation, peut-être demain une partie de l'animation."},{t:"p",text:"Mais il faudra toujours qu'une personne finisse par regarder le résultat et se demander : **« est-ce que c'est bien ? »** Et c'est probablement la question la plus chère de toutes."},{t:"h2",text:"Mon jeu marche. Et pourtant il est parfois cassé."},{t:"p",text:"à un moment du prototype, j'appuyais sur la touche d'attaque. Les tests passaient. L'événement était envoyé. Les dégâts étaient bien infligés."},{t:"code",text:`attaque = OK 87dégâts = OK 88tests = OK`},{t:"p",text:"à l'écran : rien."},{t:"p",text:"Le personnage utilisé à cet instant précis ne possédait pas l'animation attendue et le mécanisme visuel de secours ne se déclenchait pas."},{t:"p",text:"Du point de vue du système, tout fonctionnait. Du point de vue du joueur, l'attaque était cassée. Il m'a fallu quelques secondes en lançant le jeu pour le voir."},{t:"callout",label:"TOUTE LA DIFFÃRENCE",text:"L'agent avait prouvé que l'action fonctionnait. Il n'avait pas prouvé qu'elle était compréhensible, agréable ou satisfaisante pour un humain. Entre un système fonctionnel et un produit fini, il y a tout cet écart."},{t:"h2",text:"Et cela risque de rendre les joueurs encore plus exigeants"},{t:"p",text:"C'est là où je pense que l'impact des outils agentiques pourrait devenir intéressant pour l'industrie du jeu vidéo."},{t:"p",text:"Cela fait des années que les joueurs entendent « faire un jeu est extrêmement compliqué ». Et c'est vrai. Je dirais même que le niveau de détail nécessaire pour réaliser certains jeux est probablement sous-estimé."},{t:"p",text:"Mais parallèlement, nos moyens de production progressent. Si les agents permettent :"},{t:"list",items:["d'écrire plus vite ;","de produire davantage de tests ;","d'automatiser des tâches répétitives ;","de prototyper une mécanique en quelques heures ;","de fabriquer plus facilement des outils internes ;","de détecter davantage de régressions ;","d'accélérer une partie de la production d'assets ;"]},{t:"p",text:"alors une conséquence me paraît assez logique : **le niveau d'exigence va augmenter avec eux.**"},{t:"p",text:"Un jeu vendu 70 ou 80 euros avec des sauvegardes corrompues, des fonctionnalités absentes, une interface cassée ou des mécaniques manifestement terminées à moitié sera progressivement plus difficile à justifier uniquement avec « vous savez, développer un jeu est compliqué ». Parce que les moyens disponibles pour gérer cette c
88omplexité augmentent eux aussi."},{t:"p",text:"Et surtout, le joueur pourra comparer. Avec cet indépendant qui a eu une excellente idée. Avec ce AA qui possède beaucoup plus d'identité. Avec un petit studio qui aura réussi à consacrer les gains de productivité non pas à sortir plus vite, mais à polir davantage."},{t:"p",text:"Paradoxalement, rendre la création plus accessible pourrait donc **augmenter la valeur du talent, du goût et de la finition.**"},{t:"h2",text:"Et exactement la même chose va arriver dans le logiciel professionnel"},{t:"p",text:"Remplaçons simplement « joueur » par « utilisateur »."},{t:"p",text:"Pendant longtemps, une entreprise pouvait expliquer : « il faudra trois mois pour faire le prototype. » Demain, son client aura peut-être lui-même utilisé un agent pour produire quelque chose de vaguement fonctionnel dans la journée."},{t:"p",text:"Cela ne signifie évidemment pas qu'une application industrielle doit maintenant être livrée en vingt-quatre heures. Il reste justeâ¦"},{t:"list",items:["la sécurité ;","l'intégration ;","les migrations ;","la stabilité ;","les tests ;","la conformité ;","l'UX ;","la maintenance ;","l'exploitation."]},{t:"p",text:"Bref, quasiment tout. ^^'"}
88,{t:"p",text:"Mais le rapport psychologique au délai va changer. L'utilisateur tolérera probablement de moins en moins une interface médiocre, des bugs évidents, des parcours inutilement compliqués ou des releases qui cassent l'existant."},{t:"p",text:"Le coût apparent de la production logicielle va diminuer. Et en miroir, la valeur du run, de la fiabilité et de l'industrialisation pourrait remonter."},{t:"callout",label:"J'AIME BIEN CETTE COMPARAISON",text:"Tout le monde peut porter une chaise. Pourtant, il existe toujours des entreprises de déménagement. Pouvoir produire quelque chose soi-même ne fait pas disparaître la valeur de ceux qui savent le faire proprement, de manière fiable et à grande échelle."},{t:"h2",text:"Et câest justement là que les agents deviennent difficiles à industrialiser"},{t:"p",text:"Revenons maintenant à nos agents. Pourquoi ne pas simplement leur donner accès à tout ? Parce qu'**un agent n'est pas une API.**"},{t:"p",text:"Prenons un agent commercial disposant de quatre outils :"},{t:"code",text:`search_crm() 89read_email() 90update_opportunity() 91send_email()`},{t:"p",text:"On lui demande :"},{t:"quote",text:"Regarde où en sont mes prospects et relance ceux qui en ont besoin."},{t:"p",text:"Très séduisant. Sauf quâil faut maintenant définir :"},{t:"list",items:["Qui doit être relancé ? Après combien de temps ?","Une opportunité perdue doit-elle être contactée ?","L'agent peut-il envoyer directement le message, ou seulement préparer un brouillon ?","Peut-il modifier le CRM ?","Que se passe-t-il s'il appelle deux fois le même outil ?","Que fait-on lorsqu'un service externe retourne une erreur ?","Et surtout : que se passe-t-il lorsqu'il se trompe ?"]},{t:"p",text:"On retrouve immédiatement les vieux sujets de l'ingénierie logicielle : permissions, idempotence, transactions, validation, logs, rollback, authentification, gestion des erreurs."},{t:"p",text:"Avec une différence importante : **au milieu du système se trouve désormais un composant probabiliste.**"},{t:"h3",text:"La contrainte devient une fonctionnalité"},{t:"p",text:"Dans un logiciel traditionnel, une fonction comme :"},{t:"code",text:"sendInvoice(customer_id)"},{t:"p",text:"possède un comportement relativement prévisible."},{t:"p",text:"Un agent peut décider d'appeler un outil. Puis un deuxième. Puis de rechercher davantage d'informations. Ou de ne pas prendre le chemin auquel vous pensiez."},{t:"p",text:"Cela signifie que la conception des outils est extrêmement importante. Un outil comme :"},{t:"code",text:"execute_sql(query)"},{t:"p",text:"offre beaucoup de liberté. Un outil comme :"},{t:"code",text:"get_customer_orders(customer_id)"},{t:"p",text:"beaucoup moins. Et selon le problème que l'on cherche à résoudre : **moins de liberté peut produire un meilleur système.**"},{t:"p",text:"Ceux qui me connaissent savent pourtant à quel point j'aime les architectures modulaires. Donc prenez la gravité de cette phrase à sa juste valeur. ;)"},{t:"h2",text:"L'autonomie n'est pas un objectif produit"},{t:"p",text:"On entend beaucoup : « il faut que l'agent soit autonome. » Je ne suis pas vraiment d'accord. L'autonomie est une propriété du système. Pas nécessairement une finalité produit."},{t:"p",text:"Prenons trois actions :"},{t:"list",ordered:!0,items:["rechercher une facture ;","préparer un email à un fournisseur ;","virer 50 000 ⬠au fournisseur."]},{t:"p",text:"Techniquement, les trois peuvent être exposées comme des outils. Mais leur coût d'erreur n'a absolument rien à voir."},{t:"p",text:"Il est donc parfaitement cohérent de laisser l'agent retrouver automatiquement la facture. De le laisser préparer l'email. Puis d'exiger une validation humaine avant le virement. Le fameux **Human in the Loop**."},{t:"p",text:"Ce n'est pas une IA moins avancée. C'est probablement simplement une meilleure architecture."},{t:"h2",text:"Et si l'agent agit, il faut pouvoir reconstruire ce qu'il a fait"},{t:"p",text:"C'est également pour cela que chez SOCLE nous accordons beaucoup d'importance à l'observabilité des workflows agentiques."},{t:"p",text:"Quand un utilisateur demande « mets à jour ce dossier client » et que l'agent répond « c'est fait », cela ne suffit plus vraiment. Il faut pouvoir reconstruire :"},{t:"list",items:["quels documents ont été consultés ;","quels outils ont été appelés ;","avec quels paramètres ;","quelles données ont été modifiées ;","quelles validations ont eu lieu ;","quelles erreurs ont été rencontrées."]},{t:"p",text:"Parce qu'un système capable d'agir mais incapable d'expliquer son chemin devient extrêmement difficile à mettre sérieusement en production."}
91,{t:"p",text:"J'ai déjà refusé des projets dans lesquels une décision algorithmique pouvait avoir un impact concret sur un utilisateur alors même que personne n'était capable d'expliquer ou de reconstruire correctement la décision."},{t:"p",text:"Au-delà même du sujet moral, la question est assez simple : **que répond-on lorsqu'un utilisateur conteste la décision ?**"},{t:"h2",text:"Ce n'est plus seulement du prompt engineering"},{t:"p",text:"Pendant plusieurs années, les discussions autour des LLM ont énormément porté sur le prompt. Quel prompt ? Quel modèle ? Quelle température ? Quelle taille de contexte ?"},{t:"p",text:"Ces questions existent toujours. Mais la valeur se déplace progressivement autour du modèle."},{t:"diagram",name:"harnessStack"},{t:"p",text:"Le harness, c'est tout ce qui encadre le modèle. Ce qu'il voit. Les outils qu'il peut appeler. La mémoire qu'il conserve. Les permissions dont il dispose. La manière dont son travail est vérifié. Les moments où il doit demander une validation. Et tout ce qui permet ensuite d'observer son comportement."},{t:"p",text:"MCP facilite l'interconnexion avec les outils. A2A permet d'organiser certains échanges entre agents. Mais ni l'un ni l'autre ne remplace la conception de l'ensemble."},{t:"p",text:"Et c'est précisément pour cela que chez SOCLE nous préférons parler d'écosystèmes d'agents plutôt que d'un modèle ou d'un agent isolé."},{t:"h2",text:"Les modèles commencent à avoir des mains"},{t:"p",text:"Finalement, c'est probablement ce que je retiens le plus de cette expérience. Pendant longtemps, nous avons surtout évalué les IA sur leur capacité à parler. Puis à raisonner. Maintenant, nous commençons à leur donner :"},{t:"list",items:["un terminal ;","un système de fichiers ;","des APIs ;","un navigateur ;","un CRM, un ERP, des outils métier ;","et parfois d'autres agents."]},{t:"p",text:"Je trouve cela beaucoup plus structurant que de savoir quel modèle vient de gagner quelques points sur le dernier benchmark."},{t:"callout",label:"LA VRAIE BASCULE",text:"Parce qu'une IA qui répond mal produit une mauvaise réponse. Une IA qui agit mal produit un événement."},{t:"p",text:"Et la question des prochaines années ne sera donc probablement pas simplement « quel est le meilleur modèle ? », mais **« quel système avons-nous construit autour de lui ? »**"},{t:"p",text:"Quels outils ? Quelles permissions ? Quelle mémoire ? Quels tests ? Quelle observabilité ? Quelle place pour l'humain ?"},{t:"p",text:"Et surtout : quelle spécification ?"},{t:"p",text:"Parce que sur ce point, les agents n'ont rien changé. On peut désormais construire énormément plus vite. Mais encore faut-il savoir ce que l'on veut construire."}]}],mS=[{slug:"ia-concretement-cest-quoi",number:1,title:"What is AI, concretely?",updated:"2026-08-06",author:"Benjamin",readingMinutes:8,socialImage:"/images/articles/ia-concretement-schema-couches.png",metaDescription:"Understanding AI without the jargon: the layers that make it work, from the application down to the hardware, by following a document sent to ChatGPT. Shadow AI, RAG, CLOUD Act, NVIDIA, TSMC.",lede:"Need to understand what AI is, and the challenges you will face on this topic? Here is a series of articles giving you everything you need to deploy and use AI in your company.",body:[{t:"p",text:"I was starting to write an article about my methodology for rolling out AI in a company's projects, when a conversation I had recently at an event in Paris started echoing in my head:"},{t:"quote",text:"You know, Benjamin, understanding everything that makes artificial intelligence possible, or even what artificial intelligence itself is, is already a problem. So talking about strategyâ¦"},{t:"p",text:"And there was my mistake: I was writing you a methodological article about a concept that perhaps was not clear yet to the reader, or worse, a concept you and I did not define in quite the same way! So why not start over from the beginning?"},{t:"p",text:"Let us talk about what AI is. This article is meant to be accessible to everyone:"},{t:"list",items:["it is neither a theory book for researchers (who already know the subject),","nor a programming tutorial."]},{t:"p",text:"It is a **plain-language article, but one that can also be useful for developers ;)**, that will give you a solid base for understanding the stakes around this topic, the players and the trends, so you can make your own decisions."},{t:"callout",label:"A COMMITMENT BETWEEN YOU AND ME",text:"If you do not understand something, that is on me: tell me and I commit to improving the approach."},{t:"p",text:"With that said, let us start talking about AI!"},{t:"h2",text:"AI is made of layers"},{t:"image",src:"/images/articles/ia-concretement-couches.jpg",alt:"Illustration of the layers metaphor, like an onion",caption:"LIKE AN ONION: IT COMES APART IN LAYERS"},{t:"p",text:"Your Gemini on your phone, or your Citymapper finding you the best route, are in fact made of several components which, put together, make the applications you know. Each piece will get its own chapter to go into a bit more detail. Here, I am just going to explain broadly what they represent. For those who cannot bear long reads, or my writing style, you will already have a good overview! ð"}
91,{t:"p",text:"Here are the different components you have at hand to build and run your AI applications. Each major part comes with its own commercial, autonomy or industrial stakes."},{t:"image",src:"/images/articles/ia-concretement-schema-couches.webp",maxHeight:"780px",alt:"Diagram of the five AI layers: the application (interface, API), the AI model (the different models, data), the software layer (orchestration, agentic, connections), the infrastructure (cloud providers, energy) and the hardware (chips, raw materials).",caption:"FROM THE INTERFACE YOU SEE, DOWN TO THE RAW MATERIALS"},{t:"p",text:"Let us quickly describe what we have here with a simple example. Hold on tight, we are going to move very fast over concepts we will dig into in the coming chapters!"},{t:"p",text:"Punch it, Chewie â light speed!"},{t:"h2",text:"Our running thread"},{t:"image",src:"/images/articles/ia-concretement-depart.jpg",alt:"Illustration of the departure, we set off on the journey of the document",caption:"HOLD ON TIGHT, WE FOLLOW THE DOCUMENT ALL THE WAY THROUGH"},{t:"p",text:"You are at your company, which has a strict data protection policy. Your manager asks you for a summary of the commercial strategy you have just received from another department. The document is long and you do not really have the time. Your company has not given you an AI tool (or only one that is not very good). So, like most employees right now, you are going to use a tool you know: ChatGPT."},{t:"p",text:"Red card! You have just done **Shadow AI**: using an external AI and handing it company data (part of the company assets) to OpenAI, which may use it to train its own models."},{t:"callout",label:"AND THIS CASE IS FAR FROM ISOLATED",text:'According to several recent studies (from Microsoft, Salesforce and Slack among others), close to **75 to 80% of employees** now use generative AI tools at work. And the number that stings a little: more than one user in two does so without the approval (or even the knowledge) of their management or their IT department. That is what we call **"Bring Your Own AI"** or Shadow AI. A real boon for individual productivity in the short term, but quite the security and confidentiality headache for the company!'},{t:"p",text:"Right, back to our little story. So you open your browser and go to the ChatGPT website to talk to your AI."},{t:"h2",text:"1. The application layer"},{t:"p",text:'Here you are on the **application layer**: the site holding the chat interface, the tools that check you are who you claim to be, grant you access (and charge you for your subscription). Beyond AI itself, this application is what changed everything when LLMs arrived. The simpler it is to use, the better for users. That is
91why you must think carefully about what your user will actually see: the "100% chat" trap is already pretty obvious in the various companies I come across.'},{t:"p",text:'You upload your file and say: *"Give me a summary in 5 bullet points."*'},{t:"h2",text:"2. The software layer"},{t:"p",text:'At this point you think: *"Right, the AI is working now!"* But actually⦠not yet! First, your file is handled by the software layer (regular code) before it ever meets an AI model. The text is extracted, then cut into small pieces (what we call **chunking**).'},{t:"p",text:"Why? Because every AI model has a size limit on what it can read at once: its **context window** (a bit like the working memory of your brain when you read a page). If your document exceeds that capacity, or if the application wants to save time and tokens, the software will orchestrate the work first: cut up the big block, summarise each piece, or fetch only the key passages (using a technique called **RAG**) so that only the essentials reach the model. It is genuine teamwork between traditional code and AI!"},{t:"h2",text:"3. The AI model"},{t:"p",text:"Now the text reaches the **model (LLM)** you picked in the interface."},{t:"p",text:"This is where we are genuinely talking about AI. And there are plenty of kinds! I am talking about LLMs here because it is the best-known type of AI, but there are other algorithms that perform extremely well in their own domains. And within a single family you have different models: this is where GPT, Claude, Mistral, Qwen, Kimi and the rest come in."},{t:"h2",text:"4. The infrastructure: where does all this run?"},{t:"p",text:"While our models are working, let us ask the question: **where do they actually run?** Your document did not stay in your browser! It was sent somewhere to be analysed: to a *cloud provider*, in a data centre."},{t:"p",text:"Now, there is something you need to know: even if your physical server sits in France, your data remains subject to the law of your provider country of origin. If you use Azure (Microsoft), AWS (Amazon) or Google Cloud, your data falls under US extraterritorial law, notably the **CLOUD Act** (*Clarifying Lawful Overseas Use of Data Act*) or section 702 of **FISA**. In plain terms: US justice can in theory demand access to data handled by a US company, regardless of whether the servers are in Paris, Amsterdam or Frankfurt. **And without even telling you!** Geography is not everything, the nationality of the tech giant matters too."},{t:"link",href:"https://www.youtube.com/shorts/JoR2Y8uNShQ",label:"Microsoft before French senators",note:"Worth watching to the end"},{t:"p",text:"There are many of them. The best known are AWS (Amazon), Google Cloud and Azure (Microsoft), plus French players such as Scaleway, OVHcloud and Outscale. But those are just brands. Data centres, on the other hand, are anchored in a physical territory. As we speak, your document could be in Paris, Amsterdam or New York. In fact part of your application can be in one place and your AI model in another (say, your site on Azure in Europe, but the AI writing the summary in a US data centre). And of course, all that **infrastructure** needs electricity to run and water to cool!"},{t:"h2",text:"5. The hardware"},{t:"p",text:"Your document was really long, it is still running, and the chips are heating up a little⦠Yes, the **hardware**! The chips (GPUs, CPUs and so on) that everything rests on: your document, the AI models, your application⦠The cloud providers had to buy them."},{t:"p",text:"Today this market is dominated by one major player: **NVIDIA**. But NVIDIA does not manufacture its chips directly: it designs them. The ones producing them are foundries such as **TSMC** (mainly located in Taiwan). And the wildest part is that the ultra-complex machines these foundries use to etch your chips are built by a single company in the Netherlands: **ASML**! Not to mention the raw materials needed to make all this hardware."},{t:"p",text:"And there we are, the task is done! The chunks of text were processed one last time by the model to produce your 5 bullet points, and that is that!"},{t:"h2",text:"A more realistic view"},{t:"p",text:"As you will have gathered, if we wanted to represent this more realistically than our initial breakdown:"},{t:"image",src:"/images/articles/ia-concretement-schema-imbrique.webp",alt:"Nested diagram: at a cloud provider, energy-powered hardware runs two separate machines, each orchestrated by software, one running the AI model and the other the application.",caption:"TWO SEPARATE MACHINES, ORCHESTRATED BY SOFTWARE, AT A CLOUD PROVIDER"},{t:"p",text:"Different machines run your AI and your application, all orchestrated by software and hosted at a cloud provider. And at every level, we have questions of performance, trust, sovereignty and s
91o on."},{t:"p",text:"If you want to understand the stakes around all these subjects, do read the coming chapters! And above all, send me your feedback so I can sharpen my writing."},{t:"p",text:"Have an excellent day, and do not forget to have fun!"}]},{slug:"application-accessibilite-experience",number:2,title:"The application: a question of accessibility and experience",updated:"2026-08-07",author:"Benjamin",readingMinutes:7,metaDescription:"Why the interface decides whether an AI project succeeds: latency, transparency, feedback, and the rise of interfaces generated on the fly (GenUI), with the example of the Netflix GenPage project.",lede:"The best model in the world is worthless behind a frustrating interface. Chapter two: the layer your users actually see.",body:[{t:"p",text:'Ah, our first real chapter! Here we start with the "simplest" part to grasp: what you see! The interface that lets you interact with your AI.'},{t:"p",text:"It may sound trivial, but it is in fact **essential** to a project succeeding. Very often, the way an interface hands information back to you, and how you feel using the product, determine whether users adopt it. You can have the best AI model in the world under the hood; if the interface is frustrating, nobody will use it."},{t:"h2",text:"The application as the real differentiator"},{t:"p",text:"Take ChatGPT: a simple text field (a *chat*) able to converse with you, write, or generate images. It was brilliant, easy to pick up, hugely intuitive!"},{t:"p",text:'Remember how traditional chatbots worked before that? Rigid pre-configured scripts that led you into a frustrating dead end 9 times out of 10 (*"I did not understand your request, would you like to speak to an advisor?"*).'},{t:"p",text:"But be careful: chat is not the only interface, nor always the best one!"},{t:"p",text:"Look at the developer world. Why did tools like **Cursor** or **GitHub Copilot** take off against plain ChatGPT? Because they do not force developers to copy and paste constantly between their browser and their code editor. The AI is embedded *directly* where they work, inside their code."},{t:"p",text:"Likewise in everyday life: would you rather ask a chatbot 15 questions to book a train ticket, or click 3 buttons in a well-designed form? The answer is obvious. **AI should make life simpler, not add pointless conversational steps.**"},{t:"h2",text:"Always start from the experience you want to deliver"},{t:"p",text:"It is obvious when you do Product Management, but before asking *how* to do something (which model to choose, which infrastructure to set up), you have to ask the key question:"},{t:"callout",label:"THE FIRST QUESTION TO ASK",text:"What experience do we want to provide to our users?"},{t:"p",text:"It sounds simple, but in 80% of AI projects today we do the opposite: we buy AI, then look for somewhere to put it."},{t:"h2",text:"The golden rules of good AI UX"},{t:"p",text:"Since AI is not software like any other (it hesitates, it takes time to answer, it can be wrong), the application has to handle particular constraints:"},{t:"list",ordered:!0,items:["**Managing time (latency).** An AI model takes several seconds to think. The interface has to show that the AI is working. That is why you see text appear word by word (*streaming*, the typewriter effect): it creates a feeling of immediacy and holds the user attention.",'**Transparency and the right to be wrong.** AI can hallucinate. So the application must make verification easy: show sources, offer a "Regenerate" or "Edit prompt" button.',"**User feedback.** The little thumbs up and thumbs down ð ð are not there for decoration! They let the application layer collect data on answer quality, to improve the experience later."]},{t:"h2",text:"The big trend: interfaces generated on the fly (GenUI)"},{t:"p",text:"Until now we had two very separate worlds:"},{t:"list",ordered:!0,items:["**Classic applications (GUI).** Fixed screens designed by designers. You click on buttons, menus, cards. It is fast, but rigid.","**The chatbot (NLI).** A blank page with a text field. Infinitely flexible, but reading 500-word blocks of text is tedious and not always effective."]},{t:"p",text:"So why choose? This is where the current revolution in application design arrives: **the interface generated on the fly** (or *generative UI*)."},{t:"h3",text:"What does that mean in practice?"},{t:"p",text:"**Instead of answering only with raw text or Markdown, the AI generates the graphical interface you need, at the precise moment you need it.**"},{t:"list",items:["**Asking the AI to organise your trip?** Rather than listing 10 hotels as text, the interface brings up an **interactive map** with a *slider* to filter your budget, and buttons to confirm your choice.","**Asking it to compare two quotes?** It does not write you a novel: it generates a **dynamic comparison table** on the fly where you can tick options or change values live.","**Want to analyse your sales data?** The application builds a bespoke **dashboard with interactive charts**, created solely to answer your question."]},{t:"h3",text:"The XXL example: Netflix and the GenPage project"},{t:"p",text:"If you think generative UI is reserved for engineer demos on Twitter, think again: the giants are already at it."},{t:"p",text:"In a fascinating technical article, Netflix revealed how they are testing AI-generated interfaces. The principle? Your viewing history and the time of day are passed as a *prompt* to a generative AI model. Instead of drawing from rigid menus, the model **literally draws your app home page in real time**. It adapts the layout of the blocks, the type of information shown, and even the visual arrangement, specifically for you."},{t:"link",href:"https://netflixtechblog.com/genpage-towards-end-to-end-generative-homepage-construction-at-netflix-77146fba8a08",label:"GenPage: the Netflix generative home page",note:"Netflix Tech Blog"},{t:"p",text:"Tomorrow, you and your neighbour will not merely get different recommendations on Netflix: **you will not have the same application.**"},{t:"h3",text:"Why is this the future of the AI application?"},{t:"p",text:"Because it solves the biggest usability problem of AI: **input friction.**"},{t:"p",text:"Typing a three-line text *prompt* to fix one detail is tedious. Dragging a button, clicking a choice or moving a slider on an interface the AI created on the fly is fluid."},{t:"p",text:"In this approach, the application is no longer a fixed mould coded once and for all: **it is a chameleon that draws the graphical components based on the user intent.** And for user experience, that is a genuine leap forward."},{t:"h2",text:"In short"},{t:"p",text:"The application is the bridge between the complex magic of AI models and the daily reality of your users."},{t:"callout",label:"BEFORE YOU SPEND A FORTUNE ON SERVERS",text:"How
91is this technology going to fit as naturally as possible into the daily life of the person using it?"},{t:"p",text:'Now that we have seen the visible tip of the iceberg (the interface), let us look at what happens just below when you press "Enter"⦠See you in the chapter on the software layer and orchestration!'}]},{slug:"le-modele-un-simple-algorithme",number:3,title:"The model: just an algorithm",updated:"2026-08-08",author:"Benjamin",readingMinutes:18,metaDescription:"Symbolic AI, machine learning, deep learning, LLMs: which model families for which uses, and why the black box is a problem. With the Amazon, Husky vs Wolf and Bercy cases.",lede:'Behind the words "artificial intelligence" sit very different families of algorithms. Understanding which does what is how you avoid picking the wrong one, and inheriting its biases.',body:[{t:"p",text:"Yes, the term can look complicated at first glance. Algorithm. But in reality, an algorithm can be just this:"},{t:"callout",label:"AN ALGORITHM",text:"**Start:** Number = 0 · **Step 1:** add 1 to Number · **Step 2:** repeat step 1 until Number reaches 10."},{t:"p",text:"That is the difference with 0 + 10: here you naturally pictured, even for a fraction of a second, an accumulation of 1s added one after another."},{t:"p",text:"An AI is made up of one or more algorithms working towards its goal. That could be finding the shortest route to the restaurant (your GPS), writing you a report, producing a video, running simulations in research⦠Broadly, **an AI is just a calculation system so complex that you see intelligence in it**, and sometimes you personify it."},{t:"p",text:"But in reality, ChatGPT is not aware that it is an AI, nor of what reality is, nor of what text is."},{t:"diagram",name:"modelFamily"},{t:"p",text:'Anyway, back to our sheep, or rather to our AIs. Different kinds of AI means "some AIs are better than others in certain domains". For instance, if you want a fully explainable system, cheap in compute and deterministic (one that does not change its mind when you ask twice) for your GPS application, you will not pick an LLM but rather a graph-solving algorithm, symbolic AI, like your expert systems.'},{t:"h2",text:"Symbolic AI"},{t:"p",text:"Ah, *Good Old-Fashioned AI* (a term coined in 1985, so already not very cool)! And yet it is far more present in your daily life than you think."},{t:"p",text:"I will be a little biased on this part: I worked for 7 years at [Golem.ai](https://golem.ai) (now Miralia), which started out as my final-year project. The company does text analysis through a symbolic algorithm, which makes it possible to classify messages, among other things."},{t:"p",text:"**Symbolic AI** (or classical AI) rests on the idea that human intelligence can be explained by the explicit manipulation of symbols, concepts and logical rules."},{t:"p",text:'Unlike machine learning, which relies on statistical training from data, symbolic AI builds on knowledge modelled directly by human experts, in the form of facts, ontologies and rules (*"If⦠Thenâ¦"*). Its behaviour is therefore **deterministic and transparent**: faced with a problem, a symbolic system uses an inference engine or a search algorithm to logically deduce the solution by combining the given rules.'},{t:"p",text:"The main advantage of this approach is its **total explainability**: you can retrace exactly every step of the reasoning that led to a conclusion, with no black box effect. Extremely handy when you need auditability."},{t:"p",text:'It excels in domains demanding absolute rigour. Route calculation (graph theory) is a very good example: the video game characters that get from point A to point B without getting lost are generally driven by a symbolic algorithm called **A**\\*, which can be summed up as "explore roughly in the right direction to find the best path".'},{t:"image",src:"/images/articles/le-modele-astar.gif",alt:"Animation of the A* algorithm exploring a grid to work around an obstacle and connect the start point to the finish",caption:"A* EXPLORES IN THE RIGHT DIRECTION, THEN WORKS AROUND THE OBSTACLE",height:"420px",pixelated:!0,credit:{author:"Subh83, Wikimedia Commons",license:"CC BY 3.0",href:"https://creativecommons.org/licenses/by/3.0/"}},{t:"p",text:"In exchange, this family of AI is very rigid: it struggles with nuance, with noise in the data or with the unexpected, and becomes extremely complex to maintain as the rule base grows."},{t:"callout",label:"AN OFTEN FORGOTTEN POINT",text:"Symbolic AIs use **very little energy**: we are talking about orders of magnitude of Ã1000 or far more, and naturally they are much faster."}
91,{t:"p",text:"That is why there is quite a bit of discussion about combining the agility of generative algorithms with symbolic ones. Developers actually have a working example of this all the time without realising: when your Claude Code (or a competitor) generates a Python script and runs it to transform data, from an Excel file into a database for instance, that is roughly the idea. It does not rewrite an enormous request containing every modification with *tokens*: it writes a small script that does the job."},{t:"h2",text:"Machine learning"},{t:"p",text:'**Machine learning** is the opposite approach to symbolic AI: instead of explicitly programming decision rules (*"If⦠Thenâ¦"*), you give a computer large quantities of **data** and an **objective**, then let it discover the underlying patterns and rules on its own. Rather than being dictated by a human, the behaviour of the program is **deduced from the examples it has analysed**.'},{t:"p",text:'It works through **statistics** and the progressive tuning of internal parameters (notably the "weights", in the case of neural networks). During training, the model makes predictions, measures its error against reality, then adjusts to reduce that error. The more representative data you feed it, the more accurate its predictions become.'},{t:"diagram",name:"mlTypes"},{t:"list",items:['**Supervised learning.** You provide data with its answers (*labels*). Example: 100,000 photos of cats and dogs labelled "cat" or "dog". The model learns to tell them apart.',"**Unsupervised learning.** You provide raw data with no labels, and the model looks for hidden structures. Example: grouping customers into segments based on their buying habits, without predefining the categories.","**Reinforcement learning.** An agent interacts with an environment and receives rewards or penalties. Example: an AI that learns to play chess or to fly a drone by trying actions and learning from its mistakes."]},{t:"h2",text:"Deep learning"},{t:"p",text:"Without going too deep into the technical detail, **deep learning** is a sub-branch of machine learning based on deep neural networks (stacks of computation layers)."},{t:"p",text:"The big difference? Unlike classical machine learning, deep learning can analyse very raw data directly (images, sound or text) and work out on its own which details matter for a decision, without a human having to spell it out."},{t:"callout",label:"WORTH REMEMBERING",text:"In everyday speech, people very often mix up the two terms."},{t:"h2",text:"Brilliant at correlating⦠far less so at explaining"},{t:"p",text:"Concretely, machine learning is brilliant at finding correlations in complex data, and at handling cases where you have no genuinely defined rules. Let us take an example."},{t:"dialog",turns:[{who:"vous",text:"Could you describe a bee to me? I have never seen one, I would like to learn to recognise them properly."},{who:"ia",text:"Easy: it is a yellow and brown striped insect, with two black eyes, wings and six legs."},{who:"vous",text:"Right⦠So this is not a bee?"}]},{t:"image",src:"/images/articles/le-modele-abeille.jpg",alt:"Macro shot of the head of a bee foraging on a flower: the eyes are visible, but neither the wings nor the legs",caption:"SO, BEE OR NOT?",maxHeight:"520px"},{t:"dialog",turns:[{who:"ia",text:"I can see two black eyes, there is brown overall, but I see neither wings nor legs. A caterpillar, perhaps?"}]},{t:"p",text:"And there you have it: you understand why the statistical approach, with a large number of examples, is necessary."},{t:"p",text:"In theory this gets better with a larger quantity of data, even if in reality many other factors come into play, starting with the quality of the information provided. The problem is that machine learning has serious flaws. Beyond the cost in compute and energy: its dependence on the initial data, and the fact that it is humanly impossible to understand in detail how the model reaches a decision. We can only interpret it."},{t:"p",text:'Let us go back to image analysis with this example published in 2016 by the researcher Marco Tulio Ribeiro and his team to present **LIME** (*Local Interpretable Model-agnostic Explanations*), a tool designed to open up "black boxes".'},{t:"h3",text:'The "Husky vs Wolf" experiment'},{t:"image",src:"/images/articles/le-modele-husky.jpg",alt:"Portrait of a grumpy-looking husky",caption:"THE HUSKY UNFAIRLY CLASSIFIED AS A WOLF",maxHeight:"340px"},{t:"p",text:"The researchers trained an image classification model to tell huskies from wolves."},{t:"list",items:["**The results on paper.** The model showed excellent accuracy (around 90%). On most test images, it never got it wrong.","**The suspicious error.** The model classified an innocent husky as a wolf."]},{t:"p",text:"Using LIME to display the exact area of the image the model was focusing its computation on (the decisive pixels), the researchers discovered that the model was analysing **neither the ears, nor the coat colour, nor the shape of the eyes** of the animal. It was looking only at the background:"},{t:"list",items:["**Snow present** â wolf","**No snow** (grass, soil, indoors) â husky"]},{t:"p",text:"Because in the training dataset, every wolf photo had been taken in winter in the snow, while the husky photos were taken in gardens or on lawns!"},{t:"link",href:"https://arxiv.org/pdf/1602.04938",label:'"Why Should I Trust You?", the research paper on LIME',note:"arXiv, 2016"},{t:"p",text:'Fine, this problem does not sound that serious, especially since LIME let us "explain" it. But in reality, the solution offered here is very limited.'},{t:"h2",text:"When the stakes become decisive: the Amazon case"},{t:"p",text:"What happens when we move to a more consequential subject? When the problem comes from the initial data and nobody asks the right questions?"},{t:"p",text:"Amazon initial goal was the dream of every HR department: build an algorithm able to read 100 CVs and automatically surface the 5 best profiles, with a rating from 1 to 5 stars."},{t:"h3",text:"1. The cause: a dataset biased from the start"},{t:"p",text:"To train this model, Amazon engineers fed it the CVs submitted to the company over a 10-year period, along with the hiring decisions made at the time."},{t:"callout",label:"THE PROBLEM",text:"Since the tech industry has historically been very male-dominated, the vast majority of CVs selected over those 10 years belonged to men."},{t:"p",text:"The model did exactly what machine learning is designed to do: **find recurring statistical correlations** in past successes in order to predict future ones."},{t:"h3",text:"2. The black box effect and the misogynistic drift"},{t:"p",text:"Rather than assessing actual skills (code, degrees, projects), the algorithm learned on its own to use **gender** as its strongest predictive criterion. Concretely:"},{t:"list",items:[`**Direct penalisation.** The tool removed points if the word *"women's"* appeared in the CV, for example "captain of the women's chess team" or "president of the women engineers club".`,"**Degree downgrading.** The algorithm lowered the score of candidates from two private women-only universities.","**Favoured vocabulary.** The tool favoured action verbs statistically more common in male CVs, such as *executed* or *captured*."]},{t:"h3",text:"3. Why the fix failed"},{t:"p",text:`When the engineers realised the drift, they tried to correct the problem. But with complex machine learning, **banning a word is not enough**: they forbade the algorithm from reading the word *"women's"*, and the model immediately found **proxy variables**. It detected gender through other indirect clues: extracurricular activities, turns of phrase, the choice of certain words.`},{t:"callout",label:"THE RULE TO REMEMBER",text:"In machine learning, if a bias is deeply written into the data, the algorithm will always find a roundabout way to keep using it, as long as that improves its theoretical prediction."},{t:"p",text:"In 2017, finding that they could neither guarantee the neutrality of the tool nor understand the full set of internal micro-decisions of the model, **Amazon definitively abandoned and disbanded the project**."},{t:"link",href:"https://www.reuters.com/article/us-amazon-com-jobs-automation-insight-idUSKCN1MK08G/",label:"The Reuters investigation into the Amazon recruiting tool",note:"Reuters, 2018"},{t:"p",text:"But did I not tell you that LLMs belong to this same family? And guess what: CVs are increasingly analysed by AI. So what do candidates do? They adapt their CV so the AI looks kindly on them."},{t:"p",text:"You can see, then, why it matters to anticipate the potential problems of an algorithm that cannot explain itself, and above all to have a firm grip on the training data to avoid harmful biases. Or elseâ¦"},{t:"h2",text:"LLMs"},{t:"callout",label:"IN SHORT",text:"An **LLM** (*Large Language Model*) is a deep neural network whose job is to **predict the most likely next word** based on what came before. We went from a great translation tool to your smartphone autocomplete⦠but on steroids, and trained on the entire web."},{t:"h3",text:"1. The Transformer revolution (2017)"},{t:"p",text:'For a long time, to process text, AIs read words **one by one, from left to right**. The problem: by the end of a long paragraph, they had already "forgotten" the beginning.'},{t:"p",text:"In 2017, Google researchers invented a new neural network architecture that changed everything: the **Transformer**. Its secret weapon? The **attention** mechanism (*self-attention*). Thanks to it, the AI no longer reads word by word: it looks at the whole sentence at once and understands the global context."},{t:"p",text:'*Example:* in "The lawyer ate an avocado" (in French, both words are *avocat*), the AI instantly understands that the first is a legal professional and the second a fruit, thanks to the surrounding words.'},{t:"p",text:'Originally this AI worked with **two building blocks**, because it was designed for translation. The **encoder** (the "understanding") read the whole sentence at once to grasp its deep meaning; the **decoder** (the "generation") took that meaning and wrote the translation word by word.'},{t:"diagram",name:"encoderDecoder"},{t:"h3",text:"2. The decisive turn: why we threw the encoder away"},{t:"p",text:"While trying to create AIs able to do everything (chat, code, summarise, reason), researchers realised something brilliant: **we no longer need the encoder.** Today models such as ChatGPT, Llama or Mistral are **decoder-only** architectures."},{t:"list",ordered:!0,items:['**Continuing text already means having understood.** For a decoder, everything is a story to be completed. Give it a question and the logical continuation is the answer. Give it a text in French and the logical continuation can be its translation. We no longer need to separate "understanding" from "creation".',"**Simplicity above all.** Keeping a single block made it far simpler to train giant models on trillions of data points."]},{t:"h3",text:"How does it work in practice? The causal mask"},{t:"p",text:"This is where the real technical subtlety lies. Since there is no longer an encoder to read the whole text in advance, the decoder uses what is called a **causal mask**. It is a strict mathematical rule: **the AI moves blindly towards the future. It is only allowed to look at past words to guess the next one.**"},{t:"p",text:'If the model has to write *"The cat sleeps on the sofa"*:'},{t:"list",ordered:!0,items:['It sees [start] â it predicts **"The"**','It sees *The* â it predicts **"cat"**','It sees *The cat* â it predicts **"sleeps"**','It sees *The cat sleeps* â it predicts **"on"**â¦']},{t:"p",text:"Each word produced is immediately fed back into its field of vision to predict the next one. That is
91what we call **autoregressive** operation."},{t:"h3",text:"And for image, video or music? Same thing!"},{t:"p",text:"We have talked a lot about text, but what about generative AIs for images (Midjourney, DALL·E) or music (Suno, Udio)? **Bar one detail, the underlying logic is exactly the same.** For a computer, everything is mathematics: a text is a sequence of words, an image a grid of pixels, a piece of music a sequence of audio frequencies."},{t:"list",ordered:!0,items:["**For music.** The AI applies exactly the same recipe as for text. Instead of predicting the next *word* in a sentence, it learns to predict the most logical next *note* or *chunk of sound*.",'**For images (diffusion models).** The AI first learns to destroy an image by adding "noise" to it (like static on an old TV screen). Then its neural network learns to do the reverse: **remove the noise step by step** to make a clean image emerge from chaos, guided by your text (*prompt*).']},{t:"callout",label:"THE FINAL WORD",text:"Whether it is writing a poem, composing a symphony or drawing a dragon, **all current generative AI rests on deep learning** able to spot complex patterns in data, and then recreate the next pattern probabilistically."},{t:"h2",text:"When memory is influenced"},{t:"p",text:'Right, that was theoretical but interesting. Now let us talk about less amusing things. Remember the observation: **an LLM does not think and is not looking for "truth"**. It simply reflects the statistics of the texts it was trained on⦠with all their qualities, but also their prejudices and their ideological leanings.'},{t:"p",text:"That is why Yann LeCun, among others, insists that LLMs are only a kind of large memory. But what happens when that memory is⦠influenced?"},{t:"p",text:"In June 2026, the **Direction générale du Trésor** (at Bercy, the French finance ministry) was testing an internal tool called *HéphAIstos* to help around a hundred senior civil servants with administrative and economic analysis tasks. The model chosen under the hood was **Qwen**, a very capable LLM developed by the Chinese giant **Alibaba**."},{t:"list",ordered:!0,items:["**Slanted answers.** During testing, several officials reported that the AI gave biased answers, or answers aligned with Beijing political doctrine, as soon as they asked questions touching on China, international trade issues or geopolitics.","**Immediate halt.** After only three weeks of experimentation, the Treasury stopped using Qwen outright.","**Sovereign switch.** The very next day, the administration replaced it with a model developed by the French start-up **Mistral AI**."]},{t:"link",href:"https://www.clubic.com/actualite-618721-ia-chinoise-bercy-stoppe-un-test-apres-des-reponses-jugees-biaisees.html",label:"Bercy halts a test after answers judged biased",note:"Clubic, in French"},{t:"callout",label:"THE LESSON FROM THIS EPISODE",text:'Even though the model was running locally (disconnected from the internet and with no data leaking abroad), **its "cultural filters" were etched into its neurons during training in China**. A government cannot rely on a foreign AI to steer its economic or political decisions without risking influence bias.'},{t:"p",text:"Now, we have elections coming up, and we know that French citizens will ask AIs for their opinion. What does that mean for democracy?"},{t:"h3",text:"Hallucinations"},{t:"p",text:"Since the LLM only computes the *most likely next word*, it does not know whether it is telling the truth. If a piece of information is missing, it will invent facts, laws or historical quotes with perfect confidence."},{t:"h3",text:"Data theft and copyright"},{t:"p",text:"To train these models, companies hoovered up billions of web pages without asking authors, artists or media outlets. This raises a major ethical and legal problem around intellectual property."},{t:"h2",text:"Open weight is not open source"},{t:"p",text:'Today, companies such as Meta (with *Llama*) or French gems like *Mistral AI* make their models available "for free" to everyone. The media often say they are **open source**. Except that is wrong! In reality they are **open weight**. And the distinction changes absolutely everything ethically and legally.'},{t:"p",text:"In a neural network, the **weights** are the billions of numbers adjusted during training. They are the final mathematical settings of the model."},{t:"list",items:['**What you get with open weight:** the finished "black box". You can download it, install it on your server and run it for free.',"**What is kept from you:** the recipe, meaning the exact database used to train it (the raw files hoovered from the web), and the precise code of the training algorithm."]},{t:"h3",text:"Why do the giants keep the data secret?"},{t:"list",ordered:!0,items:["**Legal risk (copyright).** To train these giant models, petabytes of paid books, press articles, images and code were hoovered up without authorisation. Making the dataset public would hand rights holders the material evidence to sue.","**Trade secrecy.** The real value of an LLM today lies not only in the neural network architecture, but in the **cleaning and sorting of the data**. Revealing the dataset means handing your painstaking work to your competitors.","**Security risk.** A 100% open model would let anyone see exactly how to lift the safety barriers, for example how to stop it from explaining how to build a weapon or from generating malicious content."]},{t:"p",text:"There are nonetheless cases of genuine open source. For the **Nemotron** project (with the *Nemotron-3* or *Nemotron-CC* families), NVIDIA did not settle for sharing the final downloadable model. They opened all three pillars:"},{t:"list",ordered:!0,items:["**The model weights**: the finished AI brain, ready to use.","**The training code and recipes**: the algorithms, configurations and source code that allow retraining or modifying the model in exactly the same way they did.","**The datasets**: NVIDIA published trillions of training *tokens* on Hugging Face, including raw text, code and safety filtering data."]},{t:"h3",text:"So why open up, if you are not opening everything?"},{t:"p",text:"It is actually fairly simple, and this remains my interpretation. In the case of big tech, the goal is generally to catch up with competitors and impose your standard on particular markets. That is
91why even OpenAI (with very debatable success, though I think that was deliberate) had released its open weight model *gpt-oss*. But at the scale of nations it is also a way to suffocate the market: understand that China, arriving after the American models, has everything to gain from people using Chinese models rather than paying American companies."},{t:"p",text:"And for open source? Nemotron is NVIDIA⦠which is not a software vendor trying to sell you a ChatGPT subscription. Its business is selling graphics chips. The more data and code the community has to create AIs, the more companies will buy NVIDIA servers to run them. By giving away training datasets of immense quality (very well cleaned) to everyone, NVIDIA becomes the standard the whole of global research works on. And if more people use models⦠that means more chips sold ;)"},{t:"link",href:"https://developer.nvidia.com/topics/ai/nemotron",label:"NVIDIA Nemotron: models, recipes and datasets",note:"developer.nvidia.com"},{t:"p",text:'To be clear, I am not cynically saying nobody sincerely does open source for reasons of transparency and values. But this is my reading of the current situation. Which makes it awkward to have only one player on the European continent, yet reassuring, in a way, to know that this "fight" guarantees us an almost continuous stream of open weight models: as long as the gap between first and second place is not astronomical, those in second will always want to try to suffocate those in first ;)'},{t:"h2",text:"A little bonus: evolutionary algorithms"},{t:"p",text:'**Evolutionary algorithms** are proof that nature had already invented the best optimisation method long before computers arrived. To understand this AI, just look at **the finches of the Galápagos Islands observed by Darwin**: those birds never "decided" to change the shape of their beak to crack seeds better. Nature simply generated random variations, mercilessly eliminated those that could not feed themselves, and let the survivors pass their advantageous beak to the next generation. An evolutionary algorithm does exactly the same thing, but at millions of computations per second.'},{t:"p",text:'Concretely, the algorithm starts by creating a "population" of thousands of completely absurd, randomly generated solutions. It then subjects them to environmental pressure, a scoring function that instantly eliminates the worst candidates. The rare survivors are then "crossed" with one another, their code is mixed, and a pinch of random mutation is injected to explore new avenues. **This is an AI that progresses without understanding: it does not try to analyse the causes of a problem, it simply accumulates the small successes of chance.**'},{t:"p",text:'One of the most striking examples of this "digital Darwinism" remains the design of the **NASA ST5** satellite antenna. Engineers let an evolutionary algorithm twist virtual wires over thousands of generations. The result? The AI produced a completely twisted, asymmetrical shape, resembling a deformed paperclip that no human would have thought to draw, but whose electromagnetic performance surpassed anything classic engineering logic had produced.'},{t:"link",href:"https://en.wikipedia.org/wiki/Evolved_antenna",label:"The NASA evolved antenna",note:"Wikipedia"},{t:"link",href:"https://www.youtube.com/watch?v=MD4hH1ObrYg",label:"A rather wild French YouTube channel about this kind of project ð«ð·",note:"YouTube, in French"},{t:"h2",text:"And in practice?"},{t:"p",text:"Right, we have covered the theory â but what about practice? We will dig into the detail once we have been through all the components; I just want us to share a base of understanding before going further."},{t:"p",text:'But to give you a few pointers: when you work with AI, you work with a tool that only works **X times out of 100**, because of its statistical nature and, generally, the nature of the data you feed it. To a computer, "hi how are you?" and "hello, how do you do?" are different data, and they can produce different results. In the same way, say hello to your ChatGPT twice: you will see you do not get exactly the same answer.'},{t:"p",text:"To handle this, AI engineers use metrics that measure how reliable their solution is. The usual one is a score called **F1**, or one of its variants. I am not explaining it right now, but understand that we are trying to determine how often the AI will get it wrong, and how serious that error is."}
91,{t:"callout",label:"THE ACCEPTANCE THRESHOLD DEPENDS ON THE PROJECT",text:"It hardly matters if an AI gets an image wrong when a human will check it afterwards. It matters a great deal more when it gets it wrong while driving a car."}]},{slug:"le-harness-le-modele-nest-que-le-moteur",number:4,title:"The harness: the model is only the engine",updated:"2026-08-09",author:"Benjamin",readingMinutes:16,metaDescription:"Context engineering, tools, MCP, the agentic loop, multi-agent, A2A, human-in-the-loop, observability: the software layer that turns an AI model into a usable product.",lede:"Two applications can use exactly the same model and have neither the same capabilities nor the same reliability. What separates them is the layer nobody talks about: the harness.",body:[{t:"p",text:"You have probably already heard someone say:"},{t:"quote",text:"Our product uses GPT."},{t:"p",text:"Or Claude. Or Mistral. Or Qwen."},{t:"p",text:"Fine."},{t:"p",text:"But that tells you very little about what the product actually does."},{t:"p",text:"Two applications can use exactly the same model and still have radically different capabilities, performance and even behaviour."},{t:"p",text:"Why?"},{t:"p",text:"Because between your application and the model sits a layer we talk about far less: **the harness**."},{t:"p",text:"And you are about to see that it is probably one of the most important layers of modern AI."},{t:"h2",text:"Back to our document"},{t:"p",text:"In the first article of this series, we took an extremely simple example: you upload a big document and you ask:"},{t:"quote",text:"Summarise this in 5 bullet points."},{t:"p",text:"We saw that before your document even reaches the model, ordinary software has work to do:"},{t:"list",items:["extract the text from the PDF,","split the document up,","search for the interesting passages,","build the prompt,","send the information to the model,","collect its answer,","possibly ask it to start again."]},{t:"p",text:"Back then, I simply called that **the software layer**."},{t:"p",text:"Today, a term is starting to take hold for a large part of that machinery: **the harness.**"},{t:"h2",text:"So what is a harness?"},{t:"p",text:"To put it very simply:"},{t:"quote",text:"The model thinks. The harness organises its work."},{t:"p",text:"Picture an engine sitting in the middle of your garage."},{t:"p",text:"Even at 500 horsepower, you will not get very far with it."},{t:"p",text:"It needs:"},{t:"list",items:["a steering wheel,","a gearbox,","wheels,","brakes,","sensors,","a fuel tank,","a dashboard,","and a driver, or a system able to decide where to go."]},{t:"p",text:"For an AI model, it is exactly the same."},{t:"p",text:"The model may be extremely capable, but it does not spontaneously know your internal documents, it has no access to your CRM, it does not necessarily know when to run a web search, and it does not magically decide how to break a complex task into ten steps."},{t:"p",text:"All of that has to be organised by software."},{t:"p",text:"That is the harness."},{t:"callout",label:"THE FORMULA TO REMEMBER",text:"AGENT = MODEL + HARNESS"},{t:"p",text:"And that changes a lot about how we look at AI."},{t:"h2",text:"A model on its own is fairly limited"},{t:"p",text:"Take a classic LLM."},{t:"p",text:"You give it text. It gives you text."},{t:"p",text:"That is already impressive, obviously."},{t:"p",text:"But now imagine you ask it:"},{t:"quote",text:"Tell me how much we invoiced client Dupont this year and compare it with last year."},{t:"p",text:"Your model probably has no idea who Dupont is."},{t:"p",text:"It does not know your invoicing software."},{t:"p",text:"It does not hold the necessary access rights."},{t:"p",text:"It does not know which database to query."},{t:"p",text:"And above all, you probably do not want to hand it your entire accounting data on every question."},{t:"p",text:"So you are going to have to build it an environment. For example:"},{t:"list",ordered:!0,items:["understand that the question is about invoicing;","identify the client in your CRM;","call your accounting tool;","retrieve only the data that is needed;","possibly run a calculation;","pass the results to the model;","check that the answer respects the expected format;","display the result to the user."]},{t:"p",text:"The model only did part of the work."},{t:"p",text:"Everything else belongs to the harness."},{t:"diagram",name:"modelVsHarness"},{t:"h2",text:"First job: give it the right context"},{t:"p",text:"You have probably heard a great deal about **prompt engineering** these past few years. How do you write the best prompt?"},{t:"list",items:['"You are a chartered accountant with 25 years of experienceâ¦"','"Answer step by stepâ¦"','"If you do not know the answer, say soâ¦"']},{t:"p",text:"It is useful."},{t:"p",text:"But we are starting to move from *prompt engineering* to something much broader: **context engineering**."},{t:"p",text:"The question becomes less:"},{t:"quote",text:"How should I phrase my sentence?"},{t:"p",text:"and more:"},{t:"quote",text:"What information does the model actually need to carry out this task?"},{t:"p",text:"Because filling its context window with 300 useless pages is rarely a good idea."},{t:"p",text:"So the harness can select the relevant pieces:"},{t:"list",items:["the company's instructions;","the relevant history of the conversation;","certain documents;","the results of a search;","a tool's responses;","the work done in the previous steps."]},{t:"p",text:"And pass the model only what it needs at that precise moment."},{t:"diagram",name:"contextSelection"},{t:"p",text:"This is where our old friend **RAG** comes back in. Instead of handing the model your entire documentation: **question â search for the interesting passages â model â answer**."},{t:"p",text:"The harness orchestrates the search."},{t:"p",text:"The model analyses the information it is handed."},{t:"h2",text:"Second job: give the AI tools"},{t:"p",text:"This is where things get far more interesting."},{t:"p",text:"An LLM can now decide:"},{t:"quote",text:"To answer this question, I need to use that tool."},{t:"p",text:"That could be:"},{t:"list",items:["running a web search;","querying a database;","reading a document;","sending an email;","checking a calendar;","executing code;","calling your CRM;","launching another internal piece of software."]},{t:"p",text:"You are then starting to get what is commonly called an **agent**."},{t:"p",text:"Take a very simple example. You say:"},{t:"quote",text:"Set up a meeting with Paul next week."},{t:"p",text:"The model can understand your intent."},{t:"p",text:"But the harness has to let it:"},{t:"list",ordered:!0,items:["identify Paul;","check your calendar;","retrieve the free slots;","possibly check Paul's calendar;","propose a time;","wait for your approval;","create the event."]},{t:"p",text:"And above all⦠**you have to stop the AI from doing anything stupid.**"},{t:"p",text:"You probably want to let your agent read your calendar. You may be less keen on letting it delete every appointment in it."},{t:"p",text:"That too is the job of this software layer."},{t:"h2",text:"MCP: the USB port of our agents?"},{t:"p",text:"Obviously, if every developer has to build a different c
91onnection for every tool, we will quickly recreate the wonderful world of IT integrations where everyone has their own API, their own format and their own 453-page documentation."},{t:"p",text:"That is largely why protocols like **MCP â Model Context Protocol** appeared."},{t:"p",text:"The idea is fairly simple: standardise the way an agent can discover and use tools or resources."},{t:"callout",label:"THINK OF IT AS A USB PORT",text:"Your mouse and your keyboard are two completely different objects. But your computer knows how to talk to both, thanks to a standardised interface. MCP tries to bring similar logic to the tools AI uses."},{t:"p",text:"That is also why, at SOCLE, we chose to build our agents around this kind of protocol: to avoid, as far as possible, recreating a bespoke integration for every new capability."},{t:"h2",text:"Third job: decide what to do next"},{t:"p",text:"Giving the model a tool is one thing."},{t:"p",text:"You still have to decide **when to use it**."},{t:"p",text:"This is where what is generally called the **agentic loop** comes in. To simplify enormously: **observe â think â act â observe the result â start again**."},{t:"diagram",name:"agenticLoop"},{t:"p",text:"Take looking for a restaurant. Your agent could:"},{t:"list",ordered:!0,items:["understand that you are looking for an Italian restaurant;","use a search tool;","get five results;","notice that you asked for one open tonight;","check the opening hours;","rule out the ones that are closed;","look at their availability;","present you with the three best options."]},{t:"p",text:"So we no longer necessarily do **user â model â answer**, but **user â model â tool â model â tool â model â answer**."},{t:"p",text:"And that can carry on for dozens of steps."},{t:"p",text:"The harness is the machinery that keeps this loop alive."},{t:"list",items:["It passes the results along.","It holds the state.","It controls the number of iterations.","It detects errors.","It can ask the AI to change strategy.","And above all, it decides when it is time to stop."]},{t:"p",text:"Because an agent that thinks forever is philosophically fascinating, but economically rather catastrophic."},{t:"h2",text:"And what if one model is not enough?"},{t:"p",text:"We can go further still."},{t:"p",text:"Why use the same model for absolutely every task?"},{t:"p",text:"Take a recorded meeting. We need to:"},{t:"list",items:["understand an audio file;","tell the speakers apart;","transcribe what they say;","correct certain errors;","understand the business context;","possibly generate a summary."]},{t:"p",text:"One enormous model could theoretically try to do all of it. But that is not necessarily the best solution."},{t:"p",text:"At SOCLE, for instance, our transcription system combines several treatments: an agent specialised in speech recognition produces the transcript, then an LLM agent can apply a contextual correction taking the speakers and the business information into account."},{t:"p",text:"Each technology is used where it is relevant."},{t:"p",text:"That is exactly the point of thinking in terms of an **ecosystem of agents** rather than a single model."},{t:"h2",text:"Multi-agent"},{t:"p",text:"And of course, because we always love to complicate things as soon as they start working, we can give our harness several agents."},{t:"p",text:"Picture a team in a company. You have:"},{t:"list",items:["a lawyer;","a developer;","a salesperson;","an accountant."]},{t:"p",text:"You could hire one extremely clever person and ask them to become an expert in all four fields. Or use several specialists and let them collaborate."},{t:"p",text:"In a multi-agent system, the principle is similar. One agent can receive the request and pass it on to another, more specialised agent."},{t:"diagram",name:"multiAgent"},{t:"p",text:"The harness then becomes a kind of conductor."},{t:"list",items:["Who works?","In what order?","What information has to be passed from one agent to another?","Should they work in parallel?","Who checks the result?"]},{t:"p",text:"At SOCLE, we use the **A2A â Agent-to-Agent** protocol in particular to structure these exchanges between agents."},{t:"p",text:"The goal stays the same: avoiding a world where every new combination means rebuilding your entire product."},{t:"h2",text:"Fourth job: pick the right model"},{t:"p",text:'And this is where you will understand why, in the previous chapter, I explained that a model is ultimately "just an algorithm".'},{t:"p",text:"Your product does not necessarily need to be married to GPT, Claude or Mistral until death do
91you part."},{t:"p",text:"The harness can act as a layer of abstraction between your application and your models. Imagine:"},{t:"list",items:["a small, fast model to classify a request;","a code-specialised model to analyse a program;","a more powerful model for a complex task;","a multimodal model to understand an image;","a local model for certain sensitive data."]},{t:"p",text:"Your user, meanwhile, has absolutely no need to know they just used four different models. They simply want their problem solved."},{t:"p",text:"And this is something we care about a lot at SOCLE: **we do not think an AI product should be built around a model.** It should be built around a need."},{t:"p",text:"Models then become resources the system picks according to the task at hand."},{t:"h2",text:"The most powerful model is not always the best product"},{t:"p",text:"This is perhaps the most important idea in this article."},{t:"p",text:"Imagine two companies using exactly the same model."},{t:"h3",text:"Company A"},{t:"p",text:"It sends your question straight to the LLM with an enormous 15-page prompt."},{t:"h3",text:"Company B"},{t:"p",text:"Its harness:"},{t:"list",items:["identifies your intent;","retrieves only the necessary documents;","selects the right tools;","controls their permissions;","uses a specialised model for a sub-task;","checks the result;","asks a human to approve if needed;","traces every step."]},{t:"callout",label:"SAME MODEL",text:"Two completely different products. And potentially two completely different levels of reliability."},{t:"p",text:'It is also why comparing AI solutions purely by asking "which LLM do they use?" is starting to become an insufficient question.'},{t:"p",text:"It is like comparing two cars purely by asking how much horsepower the engine puts out. It matters. But you are forgetting everything around it."},{t:"h2",text:"Human-in-the-loop: sometimes the AI should simply ask"},{t:"p",text:"Another particularly important element in a harness: knowing when **not to act alone**."},{t:"p",text:"Imagine an AI used in a legal context. It can:"},{t:"list",items:["transcribe an interview;","identify the speakers;","flag an inconsistency;","propose a correction."]},{t:"p",text:"But permanently altering a testimony without human approval would obviously be a very bad idea."},{t:"p",text:"So the harness can introduce control points: **AI â proposal â human approval â rest of the processing**."},{t:"p",text:"That is what is called **human-in-the-loop**."},{t:"p",text:"And contrary to some very futuristic visions of AI, it is not necessarily a failure of automation. It is sometimes exactly what makes automation usable."},{t:"p",text:"At one of our clients in the legal field, we use precisely this approach: various steps of the processing can be checked and corrected by the user before approval."},{t:"callout",label:"THE RIGHT GOAL IS NOT TO REMOVE THE HUMAN",text:"It is to bring the human in only where their decision genuinely adds value."},{t:"h2",text:"Fifth job: watch what is happening"},{t:"p",text:"This is probably one of the least sexy aspects of AI."},{t:"p",text:"And yet, if you want to put a system into production, it becomes indispensable."},{t:"p",text:"Your agent has just produced a bad answer. Why? Was it:"},{t:"list",items:["the model?","the prompt?","the document the RAG retrieved?","a tool's bad response?","a routing problem?","an earlier step that got it wrong?","a piece of information sitting in the memory?","another agent?"]},{t:"p",text:"If your system consists solely of **question â big black box â answer**, good luck."},{t:"p",text:"An industrial harness therefore also has to let you follow how the processing unfolded. At SOCLE, we are specifically working to make the various steps observable."},{t:"list",items:["Which agent was called?","Which tool?","Which document?","Which model?","How long did it take?","In what order?"]},{t:"p",text:"That lets you understand what your AI is actually doing. But also measure what it costs."},{t:"p",text:"Because an AI that saves you 3 minutes of work while burning â¬12 of compute on every request may not be the fantastic digital transformation project announced in the slide deck."},{t:"h2",text:"And what about security?"},{t:"p",text:"As soon as you give an AI tools, the question obviously becomes critical."},{t:"p",text:"A chatbot hallucinating a capital city is annoying. An agent connected to your IT system hallucinating an action is slightly more problematic."},{t:"p",text:"So the harness also has to be able to enforce rules:"},{t:"list",items:["which tools are accessible;","which actions require approval;","which data can be passed on;","how many actions can be carried out;","which users hold which rights;","which results have to be checked."]},{t:"p",text:"The more the AI becomes able to act, the more important this layer becomes."},{t:"p",text:'The security of an agentic system therefore cannot rest solely on "we politely asked the model in the prompt not to do anything silly."'},{t:"p",text:"That would be convenient. But let us not."},{t:"h2",text:"So where does the intelligence actually sit?"},{t:"p",text:"When ChatGPT appeared, we naturally attributed all the intelligence we were seeing to the model. That was logical."},{t:"p",text:"But as our systems grow more complex, the boundary becomes much blurrier."},{t:"p",text:"Part of the performance comes from the model. Another part comes from:"},{t:"list",items:["the quality of the tools;","the context it is given;","the memory;","the RAG;","the routing;","the orchestration;","the verification loops;","the other models around it."]}
91,{t:"p",text:"The **AI system** therefore becomes more important than the model alone. And that is probably the most interesting shift we are seeing right now."},{t:"p",text:'We have moved from "which model do you use?" to **"what system have you built around your models?"**'},{t:"h2",text:"In short"},{t:"callout",label:"IF YOU REMEMBER ONLY ONE THING",text:"The model produces intelligence; the harness lets you make something useful out of it."},{t:"p",text:"It brings the model:"},{t:"list",items:["context;","documents;","memory;","tools;","rules;","the ability to act;","other agents;","control mechanisms;","observability."]},{t:"p",text:"And above all, it turns a plain model call into an actual product."},{t:"p",text:"That is also why, at SOCLE, we work first and foremost on this layer. Our goal is not to create the next general-purpose model: other companies are already spending a few billion on that ;)"},{t:"p",text:"Our job is to let companies build usable systems around those models: agents, RAG, MCP-compatible tools, multi-agent ecosystems based on A2A, human control and step-by-step tracking."},{t:"p",text:"The model then becomes an interchangeable brick inside a larger system."},{t:"p",text:"And that leads us naturally to the next chapter. Because this whole fine system â the agents, the tools, the models called one after another â has to run somewhere."},{t:"p",text:"Spoiler: **it burns concrete, electricity and silicon.**"}]},{slug:"infrastructure-datacenters-et-silicium",number:5,title:"Infrastructure: from giga-datacenters to the silicon in your pocket",updated:"2026-08-10",author:"Benjamin",readingMinutes:11,metaDescription:"The physical layer of AI: why a server in Paris is not enough to escape the CLOUD Act, what the energy and water of an AI datacenter really cost, where the billions actually go, and the shift towards on-device AI.",lede:"When we talk about AI, we picture a magic cloud floating somewhere on the web. In reality it is steel, concrete, copper, ultra-pure silicon, megawatts of electricity and millions of litres of water. Let us go down into the basement.",body:[{t:"p",text:"When we talk about AI, we often imagine an abstract concept, a sort of « magic cloud » floating around the web and answering our questions. In reality, **AI has a brutal materiality**. It is steel, concrete, copper, ultra-pure silicon, megawatts of electricity and millions of litres of water."},{t:"p",text:"In this chapter, we are going down into the basement of AI: the place where physics, geopolitics and law collide."},{t:"h2",text:"The cloud provider paradox: geography does not make the law"},{t:"p",text:"When you store your data or run your models at one of the cloud giants, the first question your security officer asks is usually: *« Where are the servers? »* If the answer is *« In Paris or Frankfurt! »*, you probably think: *« Good, it is in Europe, my data is protected by the GDPR. »*"},{t:"p",text:"**And that is where the trap is.**"},{t:"p",text:"This is what we call the **digital sovereignty paradox**: the physical location of a server is not enough to protect your data, because **the nationality of the company** that owns the datacenter overrides geography."},{t:"list",items:["If you use **AWS (Amazon), Azure (Microsoft) or Google Cloud**, even with your physical server sitting in Marseille or Paris, those companies are American.","They are therefore subject to the extraterritorial laws of the United States, notably the **CLOUD Act** and **section 702 of FISA**.","In plain terms: an order from an American judge or intelligence agency can in theory compel Microsoft or Amazon to hand over access to the data hosted on their servers, **no matter that the server sits in France**."]},{t:"p",text:"This is why the battle of the « sovereign clouds » is raging. On one side, French and European players (Scaleway, OVHcloud, Outscale, Hetzner) guarantee full legal protection against American law, but are struggling to line up the computing power required. On the other, the American giants are pouring in billions to reassure the market with « sovereign » or « trusted » offerings."},{t:"h2",text:"The monstrous cost of an AI datacenter"},{t:"p",text:"Building a datacenter for generative AI has **nothing to do** with building a classic datacenter meant to host websites. A traditional server draws a few kilowatts per rack. A state-of-the-art GPU farm built for AI draws **megawatts** across a single building."},{t:"h3",text:"â¡ Energy: the gigawatt war"},{t:"p",text:"Electricity needs have become so colossal that the International Energy Agency estimates datacenter consumption could double by 2030. To feed these calculation factories, cloud giants now sign contracts directly with nuclear plants, or buy entire solar farms. **Access to abundant, stable and low-carbon energy has become the number one factor** deciding where a datacenter gets built."},{t:"p",text:"And this is why, and forgive the national pride, France is a rather serious country on these matters: nuclear power gives us stable, low-carbon energy, which makes it very interesting ground for building datacenters."},{t:"callout",label:"WHAT IS AN ENERGY MIX?",text:"The energy mix is how the different primary energy sources used by a country are distributed to cover all of its needs: electricity, heating, fuels. It is a territory's « recipe », combining fossil fuels (oil, natural gas, c
91oal), nuclear power and renewables (solar, wind, hydro, biomass)."},{t:"p",text:"And France is really not bad: more than **95 % of our electricity comes from low-carbon sources**, about two thirds of it nuclear. Which makes us a net exporter of electricity, helping our neighbours cut their own emissions. Let us compare, over the same period:"},{t:"diagram",name:"energyMix"},{t:"p",text:"There are two things to read in this chart. First, Sweden does even better than we do, but on a much smaller total output and above all one that leans heavily on hydro. Second, and this is the part that matters for a datacenter: Germany and the United Kingdom have invested massively in wind and solar, yet remain at 19.9 % coal for the former and 26.4 % gas for the latter. Electricity that is low-carbon **and dispatchable**, available at night with no wind, remains a rare commodity."},{t:"p",text:"This is one of the reasons why Mistral signed such a large contract with Microsoft for computing power. Microsoft was short on compute, and that created an opportunity for a company like Mistral to become more than a model maker: a service provider. Some will see a very shrewd strategic move, others a « betrayal » of sovereignty, adding American involvement on our own soil. What happens when your monopolistic customer asks you for something?"},{t:"p",text:"The reality is more complex than that. Who else was ready to invest that much in France or in Europe? How do you turn down a chance to keep a hand, even partially, on this market? I am thinking of writing an article about these strategic questions and my personal view of what ought to be done. Do remind me if the topic interests you :)"},{t:"h3",text:"ð§ Water: the cooling headache"},{t:"p",text:"Another problem: these chips get hot. **Very hot.** Classic air cooling, the big fans, no longer suffices for high-density chips. Datacenters are shifting massively towards **liquid cooling**, where fluids circulate in direct contact with the processors."},{t:"p",text:"But that requires complex infrastructure, and sometimes impressive volumes of water for the cooling towers. Managing the environmental impact of that water has become a major political issue for the local authorities hosting these centres."},{t:"p",text:"All of this pushes cloud providers to improve their energy efficiency and their cooling systems, such as the adiabatic cooling used at Scaleway's Paris 2 datacenter. Some even go as far as giving their customers tools to compute environmental impact. Because yes, AI is a heavy consumer of energy, and it is currently under close scrutiny: companies need as much monitoring and steering capability as they can get, for their sustainability strategy, but also quite simply for their spending."},{t:"p",text:"It is not all about tokens ;)"},{t:"h2",text:"The silicon tax: where does the money really go?"},{t:"p",text:"When a cloud provider spends billions building an AI datacenter, what do you think costs the most? The walls? The electricity? The network?"},{t:"p",text:"**No. It is the chips.**"},{t:"p",text:"In a datacenter optimised for AI at very large scale, the computing hardware (the graphics cards) costs **roughly twice as much as the building itself**. For a 1 gigawatt campus project, count around 10 billion dollars for the structure and infrastructure, and **20 billion dollars just to fill the racks with chips**."},{t:"callout",label:"PICTURE THIS STRAIGHT AWAY",text:"When somebody, a politician or an industrialist, announces 100 billion of investment in a datacenter, most of that money will in fact go into buying chips. Chips that, unlike the building, go obsolete."},{t:"p",text:"Why such an imbalance? Quite simply because the market is dominated by a near-monopoly: **NVIDIA**. The company does not merely sell a chip at tens of thousands of dollars apiece, it sells the complete architecture: the ultra-fast interconnect (*NVLink*) and the software layer (*CUDA*) on which almost every AI model on the planet rests."},{t:"p",text:"This situation has even given birth to a new category of players: the **neoclouds** (CoreWeave, Nebius, Lambda). These are not general-purpose cloud providers but specialists doing one single thing: buying tens of thousands of NVIDIA GPUs, and renting them out by the hour to AI companies."},{t:"p",text:"For the detail on the chips, I will tell you about it in the next chapter. A little mystery is always good for keeping you attentive ;)"},{t:"h2",text:"The big trend: hybrid AI"}
91,{t:"p",text:"Faced with insane infrastructure costs, network latency problems and confidentiality concerns, one question arises: **are we condemned to run everything in enormous remote datacenters?** The answer is **no**. We are watching a shift towards **on-device AI**."},{t:"h3",text:"The reign of Small Language Models"},{t:"p",text:"The « ever bigger » era is reaching its economic limits. We have realised there was no need for a giant 700-billion-parameter model hosted in the United States to fix a typo or summarise a work email."},{t:"p",text:"Thanks to ultra-optimised, compact models (**SLMs**, *Small Language Models*, such as the lightweight versions of Mistral, Llama or Phi) and to the arrival of dedicated chips in our devices (**NPUs**, *Neural Processing Units*), AI is moving straight into our smartphones and computers: Copilot+ PCs, Apple Intelligence."},{t:"p",text:"The problem is that using SLMs demands far more engineering care than throwing everything at a big model. Which is why the practice is not yet widespread."},{t:"h3",text:"The hybrid model: the right compromise"},{t:"p",text:"Some think the future of infrastructure will be neither 100 % cloud nor 100 % local, but **hybrid**:"},{t:"list",items:["**Locally, on your phone or PC**: for 80 % of everyday tasks (autocomplete, photo retouching, searching your own documents). It is instant, free of API costs, it works offline, and your data **never** leaves your device.","**In the cloud**: for the 20 % of complex tasks that demand deep reasoning, analysis of terabytes of data or heavy video generation."]},{t:"p",text:"Today the market does seem to be heading towards this approach, with a lower share for the local side. And we are increasingly seeing a third strand gain importance: the **private cloud / on-premise**, hosting on servers inside the company itself, for workloads that are too sensitive. It is generally on this kind of subject that technologies like Socle AI become more than an accelerator: a necessary step, because the whole AI infrastructure then has to be built in-house and wired together to deliver value."},{t:"h2",text:"A cloud provider: expertise that is not only in the bricks"},{t:"p",text:"So far we have talked about walls, chips and energy. But making servers work together, maintaining them with all the software layers specific to that hardware, is no picnic. It is a precise expertise, not to be underestimated: good devops, those grumbling engineers in dark rooms, are in fact the ones without whom nothing would work at all."},{t:"quote",text:"A Rafale pilot is impressive. Rather less so if the aircraft never takes off, because nobody installed or maintained its engine."},{t:"p",text:"That is also the job of a cloud provider: supplying the tools, the services, and therefore the ability to interact with those hardware resources. And each has its own positioning, from Outscale, Dassault's cloud provider with an institutional reputation, to Scaleway, the fashionable provider that moved fast on AI."},{t:"h2",text:"In short"},{t:"p",text:"Infrastructure is the physical frontier of AI. It reminds us that a single click on *« Generate »* sets off a global supply chain: chips etched in Taiwan, sold by an American company, installed in a water-cooled datacenter in Europe, and powered by a local power plant."},{t:"p",text:"Understanding this layer means understanding **the real costs, the real ecological limits and the genuine sovereignty stakes** of artificial intelligence. And since everything always comes back to the chips, let us go and look more closely at who knows how to make them."}]},{slug:"les-puces-le-nerf-de-la-guerre",number:6,title:"Chips: the sinews of war",updated:"2026-08-10",author:"Benjamin",readingMinutes:22,metaDescription:"Semiconductors and the sovereignty question: CPUs, GPUs, LPUs, advanced nodes, ASML, TSMC, why CUDA is what makes NVIDIA dominant, the rise of Chinese chips, and what Europe is missing.",lede:"We are building data centres in France, and filling them with American chips in order to be sovereign.",body:[{t:"p",text:"Let us pick up where we left off in the previous chapter: we know how to build data centres. What remains is knowing what we put inside them."},{t:"p",text:"So what are these chips? The ones that run AI are in fact among the most advanced and most complex objects humanity has ever managed to produce. You are reading this article thanks to a chip; your phone works thanks to a chip. And for the anti-technologists among us, a good share of the medical equipment that would be used if anything happened to you runs on a chip. It is the foundation of our modern technology."},{t:"h2",text:"What is an electronic chip?"},{t:"p",text:"**Electronic chips** (or **semiconductors**) are the essential components of modern electronic devices. They are made from silicon, a semiconducting material, and contain millions, sometimes billions, of miniaturised transistors. Those transistors are assembled to perform precise functions: computation, data storage or peripheral management."},{t:"image",src:"/images/articles/les-puces-a-quoi-servent.jpg",alt:"Diagram of what electronic chips are used for: AI, communication, healthcare, defence, home appliances, transport.",caption:"WHAT ARE ELECTRONIC CHIPS FOR?"},{t:"p",text:"Put simply, **without these chips, say goodbye to every electronic machine you own*
91*: your games console, your computer, a drone, your car, even your washing machine. They are everywhere, in many kinds, with wildly different levels of complexity depending on the use. Here we will focus on the two most talked-about right now: CPUs and GPUs."},{t:"image",src:"/images/articles/les-puces-types.png",alt:"Comparison of the types of electronic chips: CPU, GPU, and the specialised ASIC, FPGA and NPU chips.",caption:"TYPES OF ELECTRONIC CHIPS"},{t:"h3",text:"The CPU (Central Processing Unit)"},{t:"p",text:'The CPU is often described as the "brain" of a computer. Its main functions:'},{t:"list",items:["executing the instructions of software and programs,","handling the calculations needed to run a computer system,","coordinating the different parts of a computer."]},{t:"p",text:"Structurally, the CPU is divided into several **cores**, each able to process instructions simultaneously. It contains computing units called ALUs (*Arithmetic Logic Units*) for mathematical and logical operations, and a control unit to orchestrate the data flows."},{t:"h3",text:"The GPU (Graphics Processing Unit)"},{t:"p",text:"The GPU specialises in massively parallel computation, in particular the kind needed for graphics rendering. Its main functions:"},{t:"list",items:["handling the calculations behind the display of images, videos and animations,","accelerating the complex calculations needed for video games, graphics software and virtual reality,","processing non-graphical tasks that require parallel computation: artificial intelligence, scientific simulation, or cryptocurrency mining."]},{t:"p",text:"Its structure is the opposite of the CPU: a very large number of cores, individually less powerful than those of a classic processor. It therefore excels at running very many small tasks at once."},{t:"h3",text:"The other types of chip"},{t:"list",items:["**ASIC** (*Application-Specific Integrated Circuit*): designed for a single task, for instance in routers or bank cards. This family also includes **NPUs** (*Neural Processing Units*), specialised in AI computation, and **LPUs** (*Language Processing Units*), designed for running LLMs.","**FPGA** (*Field-Programmable Gate Array*): a chip that can be reprogrammed after manufacturing, for specific uses."]},{t:"p",text:`With the arrival of LLMs, public attention has focused heavily on GPUs, now seen as "the cards you do AI with" (and behind them the giant NVIDIA). But it is worth remembering that **GPUs were historically designed for graphics processing**. Recently, new players have been promoting architectures better suited to artificial intelligence: LPUs, IPUs, NPUs. One of them deserves a detour: **Groq** (not Elon Musk's AI Grok, but Groq with a q ;) ). I will come back to it below.`},{t:"p",text:"You will see, then, why it is essential for a country to be able to source its own chips. Without them, there is no running our factories, our medical equipment, our weapons. This hardware is almost as important as **energy or agriculture**. And that dependency can indirectly affect our industries, and even our political decisions, as the ITAR regulation has shown."},{t:"link",href:"https://en.wikipedia.org/wiki/International_Traffic_in_Arms_Regulations",label:"The ITAR regulation",note:"Wikipedia"},{t:"image",src:"/images/articles/les-puces-ligne-production.png",alt:"Chip production chain: industrial equipment and raw materials feed the foundries, which manufacture the chips drawn by the architects.",caption:"THE ELECTRONIC CHIP PRODUCTION LINE"},{t:"h2",text:"What are these chips made of?"},{t:"p",text:"Just as you need materials to build a wind turbine, or uranium for a power plant, these chips need very specific inputs. Here is a necessarily incomplete list, but one that shows the essentials:"},{t:"list",items:['**Silicon**, the base material of transistors. Purified to 99.9999999% ("electronic grade"), it is turned into *wafers*, the discs on which circuits are etched.',"**Conductive metals**: copper for interconnects, gold for critical connections, tungsten, aluminium, nickel, cobalt and molybdenum for certain alloys and protective layers.",'**Dopants**, which modify the properties of silicon: phosphorus and arsenic (N-type, adding free electrons), boron (P-type, creating "holes").',"**Insulators**: silicon dioxide, and hafnium oxide in modern processors to improve transistors while reducing power draw.","**Heat dissipation materials**: silicon carbide, graphite and graphene, ceramics.","**Substrates and packaging**: glass-fibre reinfor
91ced epoxy (FR-4), copper and aluminium alloys, plastics and polymers."]},{t:"image",src:"/images/articles/les-puces-composition.png",alt:"Diagram of the composition of a chip and the main exporting countries for each material.",caption:"COMPOSITION AND MAIN SUPPLIERS / EXPORTERS"},{t:"p",text:"What stands out when you look at the exporting countries for these materials is the **preponderance of China**. With a special mention for Indonesia, the DRC, Turkey and Peru, which lead on certain materials. Even though these figures cover global exports, and therefore serve far more than chips alone, you quickly grasp **how much certain shipping lanes matter**."},{t:"p",text:'So there are forms of "monopoly" on materials needed to build chips, which complicates logistics and weighs on relations between countries: the tariff discussions between China and the United States illustrate this constantly. Note in passing that some countries do not exploit their own reserves, France for example, the environmental impact of mining being judged too great or too costly to reduce.'},{t:"h2",text:"Why advanced nodes matter"},{t:"p",text:"There are several design stages between these raw materials and the finished chip. But one of the variables presented as decisive is the notion of **advanced nodes**. Think of it as depositing a very thin layer of metal in a circuit, which will carry the electricity."},{t:"p",text:"Using advanced nodes (the 7 nm, 5 nm, 3 nm and soon 2 nm processes) has a major impact on **performance**, **power consumption**, **cost** and **design complexity**. Other, thicker nodes exist: intermediate nodes and legacy nodes. Some are perfectly sufficient to run your washing machine. It all depends on the need and the expected power draw."},{t:"image",src:"/images/articles/les-puces-noeuds-avances.png",alt:"Comparison of node sizes: thickness of a human hair (17,000 nm), legacy nodes (22 nm), intermediate (7 nm) and advanced (5 nm, 2 nm).",caption:"THE DIFFERENT SIZES OF AN ADVANCED NODE"},{t:"p",text:"Let us take a less cheerful example. In the Ukrainian conflict, drones are everywhere. Piloted 100% by humans at first, we now see drones able to lock on and hold their course despite jamming. To make a drone fly, there is no strategic need for advanced nodes. To put image processing or air defence systems on board, you are into that territory. And optimising the energy needs of that task buys flight time without touching any other component."},{t:"p",text:"Remember that a smaller node lets you fit more transistors into the same space, therefore more power for equal conditions. I will not go into the detail of the problems this creates for heat management or leakage currents, but bear in mind that a finer node offers more architectural options and better efficiency."},{t:"p",text:"But why insist so much on nodes? Because there is **a worldwide monopoly** on the machines capable of etching the finest nodes, the ones that are indispensable to artificial intelligence. And that company is European: **ASML**."},{t:"link",href:"https://youtu.be/tgfVAZT5EeE",label:"A video by Yvan Casta (Au CEO) showing how complex this field is, while being highly entertaining ;)",note:"YouTube, in French"},{t:"h2",text:"The ASML case"},{t:"p",text:"In chip creation, you have a giant, **TSMC**, in Taiwan. But behind that giant sits a company without which none of this would be possible: ASML. It builds the **EUV lithography** machines, a method that uses extremely short ultraviolet wavelengths to etch patterns onto silicon wafers, making circuit miniaturisation possible."},{t:"image",src:"/images/articles/les-puces-asml.png",alt:"The ASML case: company based in the Netherlands, â¬271 billion market capitalisation, the only supplier of machines able to reach 2 nm, at more than â¬150 million per unit.",caption:"THE ASML CASE"},{t:"p",text:"You have to understand that **ASML sells each machine for more than â¬150 million**. It is by far the jewel of Dutch industry, and its chief executive is, with a touch of national pride, French: Christophe Fouquet. Its importance in the Netherlands is such that it shapes the country's political debate."},{t:"link",href:"https://www.lecho.be/entreprises/semi-conducteurs/panique-au-gouvernement-neerlandais-asml-menace-de-quitter-le-pays/10531541.html",label:"Panic in the Dutch government: AS
91ML threatens to leave the country",note:"L'Ãcho, in French"},{t:"p",text:"This company is clearly **key to European soft power**, and it would be essential to factor it into any strategy aiming to produce latest-generation chips at home."},{t:"h2",text:"The foundries"},{t:"p",text:"**Foundries** are the companies that specialise in manufacturing the chips designed by the architects (Apple, NVIDIA and others). They master manufacturing processes at nanometre scale. Here we are interested in leading-edge foundries, the ones able to go down to the finest nodes, which today are indispensable to new technologies."},{t:"image",src:"/images/articles/les-puces-fonderies.png",alt:"Market shares of semiconductor foundries: TSMC around 59%, Samsung around 17%, Intel less than 17%.",caption:"SEMICONDUCTOR FOUNDRIES"},{t:"p",text:"It is hard to produce perfectly reliable statistics on this specific segment, most data being global. But the market is undeniably dominated by three players, **TSMC, Samsung and Intel**, with TSMC clearly above the rest."},{t:"p",text:"A genuine geopolitical subject for eight years now, with the rise of crypto, then Covid, and now AI, the chip market is under real global strain. And there is a genuine **chokepoint** around advanced-node chips, located mainly in Taiwan. Taiwan actually uses this industrial asset as a defence against China."},{t:"list",items:["the **United States** is seeking to reduce its dependence on TSMC by building production capacity on its own soil,","**Germany** has launched a foundry with a â¬10 billion investment (5 from TSMC, 5 from public funding), due to open in 2027,","**Japan** has created **Rapidus**, backed by the government and eight large Japanese groups (Toyota, NTT, Sony, NEC, SoftBank, Denso, Kioxia and MUFG Bank), to put the country back in the race for advanced semiconductors. And which buys its equipment from⦠ASML!"]},{t:"callout",label:"A REAL SOVEREIGNTY QUESTION",text:"Having at minimum a chip producer on your territory (United States, Germany), and at maximum a national company (Japan)."},{t:"h2",text:"The chip architects"},{t:"p",text:"A **chip architect** (or integrated circuit architect) is the one who designs and plans the overall structure of the semiconductor. They do not manufacture it: they draw it, then hand production over to a foundry."},{t:"h3",text:"CPU architects"},{t:"image",src:"/images/articles/les-puces-architectes-cpu.png",alt:"Market shares of CPU architects in the server market: Intel 58%, AMD 38%, Apple 2%, Qualcomm 0.2%.",caption:"CPU ARCHITECTS"},{t:"p",text:"I have focused here on the server market, but bear in mind that there are different markets for mobile and for personal computers. On servers, leadership is shared between **Intel (around 58%)** and **AMD (around 38%)**, far ahead of Apple and Qualcomm."},{t:"link",href:"https://www.cpubenchmark.net/market_share.html",label:"CPU market shares",note:"cpubenchmark.net"},{t:"h3",text:"GPU architects"},{t:"image",src:"/images/articles/les-puces-architectes-gpu.png",alt:"Market shares of GPU architects: NVIDIA 80%, AMD 15%, Intel 5%.",caption:"GPU ARCHITECTS"},{t:"p",text:"In this market, there is no possible doubt about NVIDIA's dominance."},{t:"h2",text:"But why NVIDIA, actually?"},{t:"p",text:'80% of the market is crushing. And the answer that comes to mind spontaneously is "because they make the best chips". That is true. It is not enough. AMD knows how to make very good chips, Intel has colossal resources, Google has been designing its own TPUs for a decade. If hardware alone were enough, this market would be far more contested.'},{t:"p",text:"NVIDIA's real advantage is not in the silicon. It is in the software. And it has a name: **CUDA**."},{t:"h3",text:"The fifteen-year bet"},{t:"p",text:"Back to the early 2000s. At that time, a GPU knows how to do one thing: display pixels. A researcher who wanted to divert that computing power to something else, simulating a fluid for instance, had to disguise their computation as an image. Literally: turn their equations into textures and triangles so the card would agree to process them, then read the results back from the output pixels. It was possible. It was horrible. Almost nobody did it."},{t:"p",text:"In 2006, NVIDIA introduced **CUDA** (*Compute Unified Device Architecture*). The principle: write almost normal code, in C, that runs directly on the GPU. No more disguise; the graphics card becomes a general-purpose compute accelerator."},{t:"p",text:"But the real stroke of genius was not technical, it was commercial: NVIDIA made CUDA available on **all** its cards. Including the â¬200 GeForce of the casual gamer, not just on wildly expensive professional hardware. Overnight, any student, in any lab in the world, already owned a machine at home capable of massively parallel computation. It cost a great deal, for a very long time: for years, analysts asked Jensen Huang why his gaming graphics card company was burning so much money on software research, for a market that did not exist."},{t:"h3",text:"2012: the market exists"},{t:"p",text:"That year, three researchers, Alex Krizhevsky, Ilya Sutskever and Geoffrey Hinton, blew apart the ImageNet image recognition competition with a neural network called **AlexNet**. Trained on two GeForce GTX 580 cards. Gamer cards. With CUDA."},{t:"p",text:"That is the big bang of modern deep learning, and it happened on NVIDIA hardware, with NVIDIA tools, because NVIDIA was the only one to have put those tools in researchers' hands six years earlier."},{t:"h3",text:"The moat"},{t:"p",text:"Since then, the company has never stopped stacking. On top of CUDA: cuDNN (the computational building blocks of neural networks), NCCL (to make thousands of GPUs talk to each other), TensorRT (to speed up model execution). And above all that, **PyTorch**, the framework used by almost every AI researcher and engineer on the planet, and which, when you ask it for a matrix multiplication, ends up calling NVIDIA code."},{t:"p",text:"This is what is called a *moat*: nearly twenty years of software, millions of lines of code, hundreds of thousands of trained developers, documentation, tutorials, and answers on Stack Overflow at three in the morning. A competitor can release a faster, cheaper chip tomorrow: if your co
91de takes six months to port and then runs 30% slower for lack of optimisation, you will not buy it. That is exactly the wall AMD has been hitting for years, its equivalent, ROCm, being regularly described as functional but painful."},{t:"p",text:"And NVIDIA has widened the moat far beyond the chip. By acquiring Mellanox around 2020, it bought the network that links servers together. Today it no longer really sells a card: it sells an entire rack, GPUs, network, software and tools included. The lock-in is no longer at component level, it is at system level."},{t:"callout",label:"THE KEY TAKEAWAY",text:"NVIDIA does not sell a chip, it sells a platform. Designing a competitor to the GPU is perhaps 20% of the problem. The remaining 80% is the tooling, the libraries and the developers who know how to use them. Any AI chip sovereignty strategy that forgets this budget line is dead before it starts."},{t:"h3",text:"The breach"},{t:"p",text:"Some good news all the same, and it is essential for what follows: the moat is being filled from the top. Today a researcher almost never writes CUDA by hand, they write PyTorch. And PyTorch is an abstraction layer: if someone makes the effort to wire it correctly onto other hardware, the user's code does not change. It is an enormous, thankless and invisible job. But it is a *finite* job, whereas catching up on twenty years of ecosystem by hand would be infinite."},{t:"p",text:"That is the breach through which new entrants pass. And it is also the breach through which China passed."},{t:"h2",text:"The rise of new chips"},{t:"p",text:"The big tech firms are now launching their own chips, above all for AI: Meta with its MTIA, or AWS with its Trainium chips. It is worth remembering that GPUs were not originally designed to do AI. One player that stood out very early is **Groq**, designer of LPUs to optimise LLM usage. To gauge what is at stake with this type of chip: Groq raised $640 million from BlackRock, Cisco and Samsung, among others."},{t:"p",text:"Broadly, the giants everyone is trying to compete with are: **TSMC** for foundries, **NVIDIA** for GPUs and **Intel** for CPUs."},{t:"h2",text:"The rise of Chinese chips"},{t:"p",text:"If you want to see what a semiconductor sovereignty strategy actually produces, there is an open-air laboratory: China. Except that it did not really choose to enter it."},{t:"p",text:"From October 2022, the United States banned exports to China of the highest-performing AI chips, NVIDIA's A100 and H100. And every time NVIDIA designed a throttled version to stay within the rules (A800, H800, then H20), Washington tightened the dial. The stated objective: to keep several years of lead on compute."},{t:"p",text:"The result is more ambiguous. Deprived of a supplier, Chinese companies did not stop doing AI: they were forced to buy Chinese. The sanctions therefore handed the domestic industry exactly what Europe most cruelly lacks: **a captive, enormous and solvent domestic market**."},{t:"h3",text:"Etching without ASML"},{t:"p",text:"Remember what we said about ASML: without an EUV lithography machine, no advanced node. China does not have access to them, the Netherlands having blocked those exports under American pressure."},{t:"p",text:"It produced 7 nm anyway. The foundry **SMIC** manages it by multiplying passes with the older DUV machines: instead of etching the fine pattern in one go, it is broken down into several successive exposures. It works. It is slower, more expensive, and above all far less reliable. Yields on Huawei's Ascend chips were long estimated at between 20 and 40%, where a leading-edge foundry runs at 80-90%. Translation: out of ten chips etched, six to eight go in the bin."},{t:"p",text:"So yes, you can do without ASML. But you pay for it in money, in capacity and in time, which incidentally confirms just how much this European company is a strategic asset we underestimate."},{t:"h3",text:"The brute force answer"},{t:"p",text:"Since a Chinese chip is worth less than an NVIDIA chip, Huawei made a deliberate choice: put in far more of them. Its CloudMatrix system, presented in 2025, packs 384 Ascend accelerators into a rack, where the NVIDIA equivalent lines up 72. The result: the Chinese system delivers more raw power than
91its American competitor. It also consumes roughly four times more electricity. In Europe that would be prohibitive and would make no sense, since ASML is European. In China, it is an industrial and political will that gives them this kind of latitude; for them, it is a perfectly rational trade-off."},{t:"callout",label:"A LESSON FOR US",text:"Computing power is as much an energy problem as a silicon one. China, deprived of ASML, can only compensate by multiplying chips â at the cost of roughly four times more electricity. **Europe, for its part, has both levers at once**: ASML on its soil, therefore access to the finest etching, and a decarbonised, dispatchable electricity mix on the French side, therefore the means to power the compute. We are the only bloc to combine these two assets. What remains is not to waste them: keep our sovereignty over ASML, and build the rest of the value chain."},{t:"h3",text:"The real bottleneck: memory"},{t:"p",text:"A detail that matters and is almost always forgotten: what limits Chinese AI chip production today is no longer etching, it is **HBM** (*High Bandwidth Memory*), the ultra-fast memory stacked right next to the processor, without which an AI accelerator is an engine with no fuel. SMIC would reportedly be able to output enough for more than a million chips a year, while Chinese HBM capacity would cap production at a few hundred thousand. It too has been under embargo since late 2024, and is dominated by a Korean-American trio: SK hynix, Samsung and Micron."},{t:"h3",text:"And the CUDA moat?"},{t:"p",text:"Huawei identified precisely the problem I described above. Facing CUDA, it built **CANN**, its own software layer, and **MindSpore**, its equivalent of PyTorch. And above all, it announced in 2025 that it was opening the CANN source code: when you are behind on an ecosystem, open source is the only known lever for attracting developers you cannot pay."},{t:"p",text:"The result showed in April 2026, with **DeepSeek V4**, **post-trained** on Huawei Ascend chips, via CANN. The nuance matters: pre-training, by far the heaviest phase, is not involved. But the signal remains considerable: an entire stage in the life cycle of a leading-edge model took place outside the NVIDIA ecosystem. The softw
91are moat, reputed to be uncrossable, has just been breached. So there is no inevitability, only a cost of entry."},{t:"link",href:"https://www.tomshardware.com/tech-industry/artificial-intelligence/huawei-led-team-claims-it-post-trained-deepseeks-1-6-trillion-parameter-models-on-ascend-910c-chips",label:"DeepSeek V4 post-trained on Ascend chips",note:"Tom's Hardware"},{t:"h3",text:"The turnaround"},{t:"p",text:"Meanwhile, NVIDIA's market share in China has collapsed. The H20 saga sums up the absurdity of the situation on its own: a chip throttled to comply with American rules, banned in April 2025 (nearly $4.5 billion written off at NVIDIA), re-authorised in July, then shunned by Beijing, which quietly advised its companies against buying it on security grounds. It was never really sold."},{t:"p",text:"Since January 2026, Washington has opened the door again with a case-by-case review of the H200, while Congress is trying to lock it down instead. But the notable fact lies elsewhere: it is no longer only America refusing to sell, it is now China starting to refuse to buy. And Huawei is not alone: Cambricon, Biren, Moore Threads, Hygon, not counting the in-house chips of Alibaba and Baidu. The ecosystem now exists from top to bottom of the chain."},{t:"h3",text:"What this tells us"},{t:"list",items:["**The technological barrier can be crossed.** Not for free, not quickly, but crossed, including the software barrier, long considered the real lock.","**What made this possible comes down to three ingredients**, and none of them is genius: a captive domestic market, state-industry coordination sustained over a decade, and an external constraint that made the status quo impossible. Europe has the third, at least potentially. It lacks the first two.","**The American lead is real, but it is no longer a rent.** It rests on a software ecosystem. And a software ecosystem can be worked around."]},{t:"p",text:'So if China manages it under embargo, the real question is no longer "is Europe capable of it?", but "what is stopping us?".'},{t:"h2",text:"What about French and European industry?"},{t:"image",src:"/images/articles/les-puces-acteurs-francais.jpg",alt:"The French semiconductor players: STMicroelectronics, Soitec, CEA-Leti and Kalray.",caption:"FRENCH PLAYERS"},{t:"p",text:"Broadly, France, but above all Europe, has the foundations for every stage I have just described, but there is work to do⦠a lot of work. Setting ASML aside, we have designers of specialised chips such as **Kalray**, manufacturers such as **STMicroelectronics** (even though its head office is in Switzerland), materials suppliers such as **Soitec**, and even research centres such as **CEA-Leti** in Grenoble (see the Yvan Casta video shared above)."},{t:"list",items:["**STMicroelectronics**: a Franco-Italian manufacturer specialising in chips for automotive, industrial electronics and IoT. It produces on mature technologies (28 nm, 40 nm) at Crolles, near Grenoble, on 300 mm wafers. That said, we remain a long way from what AI demands.","**Soitec**: based in Bernin, a supplier of silicon-on-insulator (SOI) substrates, used in smartphones, 5G and automotive. It works with TSMC, Samsung and GlobalFoundries.","**CEA-Leti**: an applied research centre in Grenoble, known for its work on 3D transistors, EUV lithography and heterogeneous integration.","**Kalray**: a designer of processors for critical applications, with its MPPA (*Massively Parallel Processor Array*). Like NVIDIA, Kalray does not manufacture its chips."]},{t:"p",text:"Broadly, our expertise does not go as far as that of our American and Chinese counterparts, who had to learn at breakneck speed. But that is precisely why we still have cards to play."},{t:"p",text:"Some companies deserve our attention, for example:"},{t:"list",items:["**VSora**: they design hardware accelerators dedicated to AI inference in data centres. That makes them far more directly comparable to NVIDIA or AMD than SiPearl. Very recent news: in July 2026, Ardian Semiconductor took a minority stake in VSORA to accelerate its commercial strategy.","**SiPearl**: a chip designer, of course, with its RHEA1 â a high-performance CPU, not a GPU (and manufactured by TSMC).","**Axelera AI** and **Innatera**: two interesting Dutch companies. You can feel the proximity to ASML."]},{t:"link",href:"https://www.ardian.com/news-insights/press-releases/ardian-semiconductor-invests-vsora-innovative-ai-inference-accelerator",label:"Ardian Semiconductor invests in VSORA",note:"Ardian press release, July 2026"},{t:"p",text:"We should not forget another major European player: **ARM**. This British company specialises in designing processor architectures, but it was **bought in 2016 by SoftBank (Japanese) for $32 billion**. Unlike Intel or AMD, ARM does not produce hardware: it designs and licenses. Its architecture is today mainly used in mobile formats, which explains the presence of Samsung, Qualcomm and Apple among its customers. If you have a Mac with an M1 or M2 chip, congratulations: you are on an ARM architecture!"},{t:"p",text:"To gauge its strategic importance: the acquisition of ARM by NVIDIA, for $66 billion, was blocked by regulators. And the energy stakes around chips mean NVIDIA nevertheless plans to move to this architecture for its PCs."},{t:"h2",text:"What should we conclude?"},{t:"p",text:"*I am going to give you my point of view with the information I have to hand. The purpose of this article is above all, for me, to set down what has been running around my head for many years. But I invite you to react and to bring information, so that we can dig into the subject together :)*"},{t:"callout",label:"THE GUIDING PRINCIPLE",text:"Europe should not try to reproduce the entirety of the American or Asian value chain. It must identify the building blocks whose know-how it absolutely must master, those on which it can become indispensable, and those for which a supply disruption would constitute a strategic risk."},{t:"p",text:"We have seen that it takes a multitude of players to produce a chip: the architect, the foundry, sometimes licences. Chips are everywhere, but one of the strategic issues likely to grow most in importance over the coming years is that of **chips dedicated to artificial intelligence**. The question to ask is therefore: what long-term strategy should we put in place for our future strategic needs?"},{t:"p",text:'At first glance, three strategies look "obvious":'},{t:"list",ordered:!0,items:["**The German strategy**, bringing foreign companies onto your soil, with TSMC. It lets you benefit from the knowledge of existing companies, but it is the model most fragile to third-party decisions, and it leaves us dependent on licensing questions. A caveat though: today it seems we are talking about 12 nanometre nodes at the finest, which remains far from the 2 nm we discussed earlier.","**The Japanese strategy**, creating a structure from scratch on your soil, with Rapidus. The advantage: a national champion. The disadvantage: the price, the time and the risk, for a start-up only in 2027, and in a country that nonetheless has a strong industrial history.","**The strategy of scaling up an existing player**, via national or European support. It has merit and remains possible, but European mechanisms require precisely justifying the strategic interest of the investment, and above all they make it difficult to concentrate resources on a
91single national player. And one candidate I saw as possible is no longer based in an EU country, which narrows the options further."]},{t:"link",href:"https://digital-strategy.ec.europa.eu/en/news/commission-approves-eu5-billion-german-state-aid-measure-support-esmc-setting-new-semiconductor",label:"The Commission approves â¬5 billion of German state aid for the ESMC plant",note:"European Commission"},{t:"p",text:"But before choosing a strategy, we may need to define what we mean by sovereignty."},{t:"callout",label:"WHAT I MEAN BY SOVEREIGNTY",text:"Sovereignty does not mean producing everything ourselves. It means **never being unable to produce, replace or work around a critical building block**."},{t:"p",text:"This is an important distinction. A sovereign Europe does not necessarily need to manufacture every wafer on its territory, any more than it needs to build every machine used in a foundry on its own. What it does need is to know how to identify the dependencies whose disruption could endanger its industry, its defence or its critical infrastructure, and to have a credible alternative when the risk becomes too great."},{t:"p",text:"It is from this definition that I would like to take a step sideways."},{t:"h3",text:"Taking a step sideways"},{t:"p",text:'As those who know me will suspect, if I am telling you about these three "obvious" strategies, it is to tell you about the one that seems to me the most intelligent: **taking a step sideways** from the Japanese strategy. Let us start again from a few observations.'},{t:"list",items:["**Europe has the intellectual capacity.** Without any chauvinism, there are many European engineers in cutting-edge industries, and we suffer particularly from brain drain. Let us see that not as a fate but as an opportunity, as the founders of Mistral or Kyutai perceived. In the chip field, let us recall that ARM's Cortex-A9, which powered the very first iPhones, was designed in Sophia-Antipolis.","**We already know how to produce certain types of chip** thanks to the companies present on our territory. The main challenge concerns the strategic technologies of tomorrow, whose flagship is AI.","**Etching fineness is only one variable** among those that determine a chip's performance."]},{t:"quote",text:"Think of AI as a screw you want to drive in to assemble your IKEA furniture. Your GPU is a hammer whose performance we keep trying to improve, when what you want is a simple screwdriver."},{t:"p",text:'That is the bet of the companies of the moment, heavily marketed by Groq at its creation: "a specialised architecture can offset part of the disadvantage of a less advanced etching node", much like the interest in the ARM architecture.'},{t:"p",text:"So you can see where I am going. Honestly, I would have liked Groq to have gone into producing its own chips at some point, and for us to have sought to produce them in Europe. The fact that this did not happen is in itself a reason to explore what I think is a good idea: **making a new Mistral for AI semiconductors**."},{t:"image",src:"/images/articles/les-puces-pas-de-cote.png",alt:"Diagram of the proposed strategy: aim for sovereignty on AI by focusing on NPUs and LPUs, with a competitive energy approach.",caption:"TAKING A STEP SIDEWAYS"},{t:"p",text:"So **do not try to make NVIDIA-style GPUs**, not right away. Genuinely aim for **architectures specialised for AI**, whether LPUs, NPUs or other dedicated architectures. And that for two very pragmatic reasons: the need (we do not want to run video games, but to build the AI of the future) and the cost (aiming at a precise target will reduce a bill that will already be heavy enough)."},{t:"p",text:"One clarification that follows directly from everything we have just seen: **such a company would not be a silicon project, it would be a software project.** Three levers seem decisive to me."},{t:"h3",text:"Lever 1: the product is not the chip"},{t:"quote",text:"The product must not be the chip. The product must be the platform."},{t:"p",text:"The chip is only the hardware on which the following runs:"},{t:"list",items:["the compiler;","the kernels;","the runtimes;","the libraries;","the drivers;","PyTorch;","vLLM;","Triton;","the profiling tools;","the agent frameworks;","the cloud tooling, and so on."]},{t:"p",text:"One of the major reasons for AMD's lag behind NVIDIA is not only the silicon: it is the considerable lead NVIDIA took on the **software ecosystem**, notably with CUDA. Huawei's breakthrough is not explained only by its chips, but by the fact that it built, then opened, its own software layer. A European player devoting 90% of its budget to hardware and 10% to compilers, libraries and PyTorch integration would reproduce exactly the mistake others have already paid for. The good news is that Europe has a real tradition in that area. And that it costs infinitely less than a foundry."},{t:"p",text:"That is exactly the problem AMD is trying to solve today with **ROCm**, which bundles runtimes, compilers, libraries, tools and integration with PyTorch, JAX, vLLM or SGLang. And Huawei is doing something similar around **Ascend**, **CANN** and the open source ecosystem."},{t:"h3",text:"Lever 2: you need a first customer"},{t:"p",text:"Less technical, but just as decisive. None of these projects started on market demand alone. Huawei benefits from an immense Chinese market and an industrial policy reinforcing preference for domestic solutions, while Rapidus benefits from direct commitment by the state and major Japanese industrial groups. American foundries, for their part, have public procurement and defence."},{t:"p",text:"A European AI chip does not need to convince the whole world on day one: it needs the continent's administrations, research bodies and sovereign clouds to commit to buying it. It sounds complex, and
91yet we already see states increasingly seeking to migrate from Microsoft to open source solutions based on Linux. It is probably the most effective, and least costly, political lever we have."},{t:"quote",text:"A share of the computing capacity funded by European public money must be available on European accelerators."},{t:"h3",text:"Lever 3: what we are still missing"},{t:"p",text:"On our territory we have cloud providers positioning themselves on AI (Scaleway, OVH), and an LLM champion in France (Mistral) which, understanding the stakes, has also moved into the data centre side, hence the well-known contract with Microsoft. What we are missing, then, are players to complete the picture: a company able to architect LPUs and NPUs **and to master their software ecosystem**, along with European capacity able to manufacture, assemble and integrate these architectures when it is strategically necessary."},{t:"p",text:"And we should not reduce this ambition to the wafer alone. For modern AI accelerators, **packaging**, **interconnects** and **memory** have become decisive elements of performance. Chiplet-based architectures precisely allow certain functions to be decoupled and several components assembled within a single package. European sovereignty can therefore also play out here: we may not need to master every etching generation immediately if we master the architecture, the packaging, the interconnect and the software that give the final system its value."},{t:"h3",text:"A common thread: energy coherence"},{t:"p",text:"One last aspect runs through these three levers, glimpsed with ARM: **energy**. In Europe we need a coherent strategy between our industry and our regulatory objectives. The European Union is launching several regulations on the environmental and societal impact of companies and their suppliers (CSRD and CS3D). The paradox is that most companies are equipping themselves with artificial intelligence tools to improve their design, or even to comply with these regulations, while those very tools are themselves highly energy-hungry. Creating a player whose baseline standard is the pursuit of a good **performance / consumption ratio** and compliance with European social standards would be a political message of coherence."},{t:"p",text:"Given the complexity of this industry, political will and work with private players are mandatory, as the investments around Rapidus in Japan prove. This industry could help reindustrialise the European continent while securing our sovereignty on the subject."},{t:"callout",label:"WHAT WE MUST AIM FOR",text:"We do not necessarily have to build a new NVIDIA. We have to build **Europe's capacity to stop depending exclusively on NVIDIA** â with the objective of competing with it in the long run."},{t:"callout",label:"A WORD ON SOURCES",text:"The Chinese subject is moving very fast: etching yields, export status of NVIDIA chips, actual announced capacity. The figures quoted here are those I had at publication, and I will update them as things develop. If you have better, write to me."},{t:"h2",text:"Appendices"},{t:"p",text:"*What follows is not necessary to understand the article: it is the level of detail below, with the sources, for those who want to dig. The three appendices revisit and deepen passages already skimmed over above.*"},{t:"h3",text:"Appendix 1 â The composition of a chip"},{t:"p",text:'**Silicon.** It is the base material of the transistors that make up the integrated circuits of CPUs and GPUs. It is a *semiconductor*: depending on conditions, it conducts or insulates current, which is precisely what you need to build a transistor. It is purified to "electronic grade" (99.9999999% purity), then turned into *wafers*, the discs on which circuits are etched at nanometre scale.'},{t:"image",src:"/images/articles/les-puces-annexe-silicium.webp",maxHeight:"420px",alt:"World silicon production in 2023, in thousands of tonnes: China 6,600, Russia 620, Brazil 390, Norway 340, then Iceland, Kazakhstan, France, Malaysia, Bhutan, Germany, India and Spain below 130.",caption:"SILICON PRODUCTION (2023)"},{t:"p",text:"**Metals, for conductivity.** They carry the current through the circuits and interconnects."},{t:"p",text:"**Copper (Cu)** is used for interconnects between the layers of the integrated circuit: high conductivity and good heat dissipation."},{t:"image",src:"/images/articles/les-puces-annexe-cuivre.webp",maxHeight:"420px",alt:"World refined copper production in 2023, by country: China 44.4%, Chile 7.4%, Japan 5.6%, Russia 3.7%, United States 3.3%, others 28.6%.",caption:"REFINED COPPER (2023)"},{t:"p",text:"**Aluminium (Al)** was once used for interconnects; it has been replaced by copper in modern processors, but is still used in certain components."},{t:"image",src:"/images/articles/les-puces-annexe-aluminium.webp",maxHeight:"420px",alt:"World smelter aluminium production in 2023, in thous
91ands of tonnes: China 41,000, India 4,100, Russia 3,800, Canada 3,000, United Arab Emirates 2,700, then Bahrain, Australia, Norway, Malaysia, United States and Iceland.",caption:"SMELTER ALUMINIUM (2023)"},{t:"p",text:"**Gold (Au)** is reserved for critical connections, such as the very fine wires linking the chip to its package (*bond wires*). It is highly corrosion-resistant."},{t:"image",src:"/images/articles/les-puces-annexe-or.webp",maxHeight:"420px",alt:"World gold production in 2023, in tonnes: China 370, Australia 310, Russia 310, Canada 200, United States 170, then Kazakhstan, Mexico, Indonesia, South Africa, Uzbekistan and Peru.",caption:"GOLD PRODUCTION (2023)"},{t:"p",text:"**Tungsten (W)** goes into certain interconnect layers, for its mechanical strength and resistance to high temperatures. [Material factsheet, MineralInfo](https://www.mineralinfo.fr/sites/default/files/2023-01/Fiche_W_230106.pdf)"},{t:"image",src:"/images/articles/les-puces-annexe-tungstene.webp",maxHeight:"420px",alt:"World tungsten mine production in 2020 (78.4 kt): China 84.2%, Vietnam 5.7%, Russia 3.1%, Bolivia 1.7%, Austria 1.1%, Rwanda 1.1%, then Portugal, Spain and North Korea. HHI concentration index of 0.73.",caption:"TUNGSTEN: 84% IN CHINA (BRGM / USGS)"},{t:"p",text:"**Nickel (Ni)**, **cobalt (Co)** and **molybdenum (Mo)** go into specific alloys or protective layers of transistors. [Halt to nickel ore exports (French Treasury)](https://www.tresor.economie.gouv.fr/Articles/2019/11/04/annonce-de-l-arret-des-exportations-de-minerai-de-nickel) · [Molybdenum (L'Ãlémentarium)](https://lelementarium.fr/element-fiche/molybdene/)"},{t:"image",src:"/images/articles/les-puces-annexe-nickel.webp",maxHeight:"420px",alt:"World nickel production in 2023, in tonnes: Indonesia 1,800,000, Philippines 400,000, France 230,000, Russia 200,000, Canada 180,000, Australia 160,000, China 110,000, Brazil 89,000, United States 17,000.",caption:"NICKEL (2023)"},{t:"image",src:"/images/articles/les-puces-annexe-cobalt.webp",maxHeight:"420px",alt:"World cobalt reserves in 2023, in tonnes: DRC 6,000,000, Australia 1,700,000, Indonesia 500,000, Cuba 500,000, Philippines 260,000, Russia 250,000, Canada 230,000, then Madagascar, Turkey, United States and Papua New Guinea.",caption:"COBALT RESERVES (2023)"},{t:"image",src:"/images/articles/les-puces-annexe-molybdene.webp",maxHeight:"420px",alt:"World molybdenum mine production in 2023, in tonnes: China 90,000, United States 52,000, Chile 44,100, Peru 33,500, Mexico 16,500, Armenia 11,900, Russia 10,800, then Iran, Japan and Kazakhstan.",caption:"MOLYBDENUM (2023)"},{t:"p",text:"**Dopants.** They modify the properties of silicon to turn it into a transistor. **Phosphorus (P)** and **arsenic (As)** are N-type dopants: they add free electrons that conduct electricity. [Arsenic production (Statista)](https://www.statista.com/statistics/264961/production-of-arsenic/)"},{t:"image",src:"/images/articles/les-puces-annexe-arsenic.webp",maxHeight:"420px",alt:"World arsenic production in 2023, in tonnes: Peru 27,000, China 24,000, Morocco 8,000, Belgium 1,000, Russia 200, Japan 40.",caption:"ARSENIC PRODUCTION (2023)"},{t:"p",text:'**Boron (B)** is a P-type dopant: it creates "holes" that ease conduction through the absence of electrons. [Main boron producing countries (Statista)](https://fr.statista.com/statistiques/565294/principaux-pays-producteurs-de-bore/)'},{t:"image",src:"/images/articles/les-puces-annexe-bore.webp",maxHeight:"420px",alt:"World boron production in 2023, in thousands of tonnes: Turkey 2,200, Chile 360, China 200, Peru 200, Bolivia 170, Argentina 130, Russia 80, Germany 60.",caption:"BORON: TURKEY CRUSHES THE MARKET (2023)"},{t:"p",text:"**Gallium arsenide (GaAs)** is used in specialised components, for better speed and efficiency. [Material factsheet (Metoree)](https://fr.metoree.com/categories/6887/)"},{t:"p",text:"**Insulators.** They separate the layers and parts of the circuit. **Silicon dioxide (SiOâ)** is the main insulator of integrated circuits: it protects the transistors and prevents short circuits. **Hafnium oxide**, used in modern processors, improves transistor performance while reducing power draw. [Material factsheet (Metoree)](https://fr.metoree.com/categories/6581/)"},{t:"p",text:"**Heat dissipation.** Without it, the chip overheats. **Silicon carbide (SiC)** is used for its superior thermal and electronic properties in certain components. [Material factsheet (L'Ãlémentarium)](https://lelementarium.fr/product/carbure-de-silicium/)"},{t:"image",src:"/images/articles/les-puces-annexe-carbure-silicium.webp",maxHeight:"420px",alt:"World silicon carbide production in 2023, in thous
91ands of tonnes: China 450, Norway 80, Japan 60, Mexico 45, Brazil 40, United States 40, Germany 35, Venezuela 30, France 20, India 5.",caption:"SILICON CARBIDE (2023)"},{t:"p",text:"**Graphite** and **graphene** are used in certain chips to evacuate heat efficiently; **ceramics**, in substrates and packages, to insulate and evacuate heat. [Main graphite producing countries (Statista)](https://fr.statista.com/statistiques/570417/principaux-pays-producteurs-de-graphite-dans-le-monde/) · special mention: [French companies soon to be European graphene champions (Les Ãchos)](https://www.lesechos.fr/partenaires/bpifrance/des-francais-bientot-champions-deurope-de-production-de-graphene-1975143)"},{t:"image",src:"/images/articles/les-puces-annexe-graphite.webp",maxHeight:"420px",alt:"World graphite production in 2023, in thousands of tonnes: China 1,230, Madagascar 100, Mozambique 96, Brazil 73, South Korea 27, Russia 16, India 12, North Korea 8, Norway 7, Tanzania 6.",caption:"GRAPHITE (2023)"},{t:"p",text:"**Substrates and packaging.** The chip is mounted on a substrate, then protected: **glass-fibre reinforced epoxy (FR-4)** to carry the chip, **copper and aluminium alloys** for packages and heat sinks, **plastics and polymers** to insulate and encapsulate sensitive components."},{t:"h3",text:"Appendix 2 â Advanced nodes in detail"},{t:"p",text:"**Transistor density.** Advanced nodes allow more transistors to be integrated into a given area. More transistors means more functional units (compute cores, parallel processing units, embedded memory) and therefore better performance â or, for an equal transistor count, a smaller chip, which benefits compact devices. In exchange, the smaller the transistors, the more sensitive they become to physical phenomena such as **leakage current** and variability in electrical characteristics. And the increased density complicates heat dissipation."},{t:"p",text:"**Performance and consumption.** Smaller transistors shorten the electrical paths, which improves clock speed; design advances (**FinFET**, **GAA**) allow better current management and reduced latency. On the energy side, the supply voltage drops, and so does consumption â essential for mobile devices, data centres and embedded systems. The downside: this voltage drop reduces the operating margin of the transistors, making chips more sensitive to environmental variation (heat, electrical noise)."},{t:"p",text:"**New architectures.** Advanced nodes open the way to designs that were previously out of reach:"},{t:"list",items:["**3D stacking**: vertical integration of circuits, such as chiplet-based architectures or 3D V-Cache.","**Memory integration**: more memory directly on the chip, as in modern GPUs.","**AI and heterogeneous computing**: hybrid architectures (CPU + GPU + AI accelerators) take advantage of advanced nodes to maximise performance."]},{t:"h3",text:"Appendix 3 â French and European players"},{t:"list",items:["**STMicroelectronics** â *semiconductor manufacturer*, Franco-Italian, headquartered in Geneva but with a strong presence in France. One of the European leaders in chip design and manufacturing, specialising in automotive, industrial electronics, IoT and integrated solutions. It produces on mature technologies (28 nm, 40 nm) suited to those sectors, notably at **Crolles**, near Grenoble, on 300 mm wafers.","**Soitec** â *materials supplier*, based in Bernin, near Grenoble. Specialising in **silicon-on-insulator (SOI)** substrates and other advanced materials, used for smartphones, 5G, automotive and embedded systems. Its substrates improve chip performance and reduce power draw. It works with TSMC, Samsung and GlobalFoundries.","**CEA-Leti** â *applied research centre*, in Grenoble. Specialising in semiconductor innovation, known for its work on 3D transistors, EUV lithography and heterogeneous integration. It works in partnership with STMicroelectronics, Soitec and international players, and accelerates the innovation that keeps European industry competitive.","**Kalray** â *designer of specialised processors*, in Montbonnot-Saint-Martin, near Grenoble. Designs processors for critical and high-performance applications: the **MPPA** (
91*Massively Parallel Processor Array*), a DPU (*Data Processing Unit*) used in autonomous systems, data centres and artificial intelligence. Like NVIDIA, Kalray does not manufacture its chips."]}]}],pS=[{slug:"ia-concretement-cest-quoi",number:1,title:"IA, concretamente, o que é?",updated:"2026-08-06",author:"Benjamin",readingMinutes:8,socialImage:"/images/articles/ia-concretement-schema-couches.png",metaDescription:"Entender a IA sem jargão: as camadas que a fazem funcionar, da aplicação até o hardware, seguindo um documento enviado ao ChatGPT. Shadow AI, RAG, CLOUD Act, NVIDIA, TSMC.",lede:"Precisa entender o que é a IA e os desafios que você terá pela frente nesse tema? Aqui está uma série de artigos que vai lhe dar tudo o que é necessário para implantar e usar IA na sua empresa.",body:[{t:"p",text:"Eu estava começando a escrever um artigo sobre a minha metodologia para implementar IA nos projetos de uma empresa, quando ecoava na minha cabeça uma conversa que tive não faz muito tempo em um evento em Paris:"},{t:"quote",text:"Sabe, Benjamin, entender tudo o que permite fazer inteligência artificial, ou até mesmo o que é a própria inteligência artificial, já é um problema. Imagine então falar de estratégiaâ¦"},{t:"p",text:"E aà está o meu erro: eu estava escrevendo para vocês um artigo metodológico sobre um conceito que talvez ainda não estivesse claro para o leitor, ou pior, um conceito para o qual você e eu não tÃnhamos exatamente a mesma definição! Então, por que não retomar tudo desde o começo?"},{t:"p",text:"Vamos falar do que é a IA. Este artigo pretende ser acessÃvel a todos:"},{t:"list",items:["não é um livro teórico para pesquisadores (que já conhecem o assunto),","nem um tutorial de programação."]},{t:"p",text:"à um **artigo de divulgação, mas que também pode ser útil para desenvolvedores ;)**, que vai lhe dar uma boa base para entender o que está em jogo neste tema, os atores e as tendências, para que você possa tomar as suas próprias decisões."},{t:"callout",label:"UM COMPROMISSO ENTRE VOCà E EU",text:"Se você não entender, a culpa é minha: me avise e eu me comprometo a melhorar a abordagem."},{t:"p",text:"Dito isso, vamos começar a falar de IA!"},{t:"h2",text:"A IA é feita de camadas"},{t:"image",src:"/images/articles/ia-concretement-couches.jpg",alt:"Ilustração da metáfora das camadas, como uma cebola",caption:"COMO UMA CEBOLA: Dà PARA SEPARAR EM CAMADAS"},{t:"p",text:"O seu Gemini no celular, ou o seu Citymapper que encontra o melhor trajeto, são na verdade compostos de vários elementos que, juntos, formam os aplicativos que você conhece. Cada pedaço terá um capÃtulo dedicado para entrar um pouco no detalhe. Aqui, vou apenas explicar de modo geral o que eles representam. Para quem não suporta leituras longas ou o meu estilo de escrita, você já vai ficar com uma boa visão de conjunto! ð"},{t:"p",text:"Aqui estão os diferentes componentes de que você dispõe para desenvolver e fazer funcionar as suas aplicações de IA. Cada grande parte tem os seus próprios desafios comerciais, de autonomia ou ainda industriais."},{t:"image",src:"/images/articles/ia-concretement-schema-couches.webp",maxHeight:"780px",alt:"Diagrama das cinco camadas da IA: a aplicação (interface, API), o modelo de IA (os diferentes modelos, dados), a camada de software (orquestração, agêntica, conexões), a infraestrutura (cloud providers, energia) e o hardware (chips, matéria-prima).",caption:"DA INTERFACE QUE VOCà Và ATà A MATÃRIA-PRIMA"},{t:"p",text:"Vamos descrever rapidamente o que temos aqui com um exemplo simples. Segure-se, vamos passar bem rápido por conceitos que aprofundaremos nos próximos capÃtulos!"},{t:"p",text:"Segure-se, Chewie: velocidade da luz!"},{t:"h2",text:"O nosso fio condutor"},{t:"image",src:"/images/articles/ia-concretement-depart.jpg",alt:"Ilustração da partida, embarcamos no percurso do documento",caption:"SEGURE-SE, VAMOS SEGUIR O DOCUMENTO DE PONTA A PONTA"},{t:"p",text:"Você está na sua empresa, que tem uma polÃtica rÃgida de proteção de dados. O seu chefe pede um resumo da estratég
91ia comercial que você acabou de receber de outra área. O documento é grande e você não tem muito tempo. A sua empresa não disponibilizou nenhuma IA (ou disponibilizou uma IA nada eficiente). Então, como a maioria dos funcionários neste momento, você vai usar uma ferramenta que conhece: o ChatGPT."},{t:"p",text:"Cartão vermelho! Você acabou de fazer **Shadow AI**: ou seja, usar uma IA externa entregando dados da sua empresa (que fazem parte do patrimônio dela) à OpenAI, que poderá usá-los para treinar os próprios modelos."},{t:"callout",label:"E ESSE CASO ESTà LONGE DE SER ISOLADO",text:'Segundo vários estudos recentes (da Microsoft, da Salesforce e do Slack, entre outros), perto de **75 a 80% dos funcionários** usam hoje ferramentas de IA generativa no trabalho. E o número que incomoda um pouco: mais de um usuário em cada dois faz isso sem o aval (nem mesmo o conhecimento) da direção ou do departamento de TI. à o que se chama de **"Bring Your Own AI"** ou Shadow AI. Uma verdadeira mão na roda para a produtividade individual no curto prazo, mas uma bela dor de cabeça de segurança e confidencialidade para a empresa!'},{t:"p",text:"Bom, voltemos à nossa historinha. Você abre o navegador e entra no site do ChatGPT para conversar com a sua IA."},{t:"h2",text:"1. A camada de aplicação"},{t:"p",text:'Aqui você está na **camada de aplicação**: o site que contém a interface de chat, as ferramentas que verificam que é mesmo você, que liberam os acessos (e que cobram a sua assinatura). Fora a IA em si, foi essa aplicação que mudou tudo com a chegada dos LLMs. Quanto mais simples de usar, melhor para os usuários. à por isso que você precisa pensar bem no que o seu usuário vai ver: a armadilha do "100% chat" já é bastante evidente nas diferentes empresas que encontro.'},{t:"p",text:'Você carrega o seu arquivo e diz: *"Faça um resumo em 5 bullet points."*'},{t:"h2",text:"2. A camada de software"},{t:"p",text:'Aà você pensa: *"Pronto, agora é a IA trabalhando!"* Mas na verdade⦠ainda não! Primeiro, o seu arquivo é tratado pela camada de software (código clássico) antes mesmo de cruzar com um modelo de IA. O texto é extraÃdo e depois cortado em pedacinhos (o que se chama de **chunking**).'},{t:"p",text:"Por quê? Porque cada modelo de IA tem um limite de tamanho para o que consegue ler de uma só vez: a sua **janela de contexto** (mais ou menos como a memória de trabalho do seu cérebro quando você lê uma página). Se o seu documento ultrapassa essa capacidade, ou se a aplicação quer economizar tempo e tokens, o software vai primeiro orquestrar o trabalho: cortar o blocão, resumir cada pedaço, ou buscar apenas os trechos-chave (com uma técnica chamada **RAG**) para transmitir ao modelo somente o essencial. à um verdadeiro trabalho em equipe entre código tradicional e IA!"},{t:"h2",text:"3. O modelo de IA"},{t:"p",text:"Agora o texto chega ao **modelo (LLM)** que você escolheu na interface."},{t:"p",text:"à aqui que falamos realmente de IA. Aliás, existem vários tipos! Falo de LLM porque é o tipo de IA mais conhecido, mas saiba que existem outros algoritmos muito eficientes nos seus respectivos domÃnios. E dentro de uma mesma famÃlia há modelos diferentes: é aqui que aparecem GPT, Claude, Mistral, Qwen, Kimi etc."},{t:"h2",text:"4. A infraestrutura: onde tudo isso roda?"},{t:"p",text:"Enquanto os nossos modelos trabalham, vamos fazer a pergunta: **onde eles funcionam?** Pois é, o seu documento não ficou no navegador! Ele foi enviado para algum lugar para ser analisado: para um *cloud provider*, em um data center."},{t:"p",text:"Agora, você precisa saber de uma coisa: mesmo que o seu servidor fÃsico esteja na França, os seus dados continuam sujeitos à lei do paÃs de origem do seu fornecedor. Se você usa Azure (Microsoft), AWS (Amazon) ou Google Cloud, os seus dados caem sob leis extraterritoriais norte-americanas, notadamente o **CLOUD Act** (*Clarifying Lawful Overseas Use of Data Act*) ou a seção 702 do **FISA**. Em resumo: a justiça norte-americana pode teoricamente exigir acesso aos dados geridos por uma empresa norte-americana, não importa se os servidores estão em Paris, Amsterdã ou Frankfurt. **E sem sequer avisar você!** A geografia não é tudo, a nacionalidade da gigante de tecnologia também entra
91na conta."},{t:"link",href:"https://www.youtube.com/shorts/JoR2Y8uNShQ",label:"A Microsoft diante de senadores franceses",note:"Vale assistir até o fim"},{t:"p",text:"Existem muitos. Os mais conhecidos são AWS (Amazon), Google Cloud e Azure (Microsoft), sem esquecer atores franceses como Scaleway, OVHcloud ou Outscale. Mas aà estamos falando apenas de marcas. Os data centers, esses, estão fincados em um território geográfico. Neste exato momento, o seu documento pode estar em Paris, Amsterdã ou Nova York. Aliás, uma parte da sua aplicação pode estar em um lugar e o seu modelo de IA em outro (por exemplo, o seu site no Azure na Europa, mas a IA que faz o resumo em um data center nos EUA). E, claro, toda essa **infraestrutura** precisa ser alimentada com eletricidade e resfriada com água!"},{t:"h2",text:"5. O hardware"},{t:"p",text:"Bom, o seu documento era mesmo bem longo, ainda está rodando, e isso até esquenta um pouco os chips⦠Sim, o **hardware**! Os chips (GPU, CPU etc.) sobre os quais tudo se apoia: o seu documento, os modelos de IA, a sua aplicação⦠Os cloud providers tiveram de comprá-los."},{t:"p",text:"Hoje, esse mercado é dominado por um ator principal: a **NVIDIA**. Mas a NVIDIA não fabrica diretamente os seus chips: ela os projeta (*design*). Quem os produz são fundições (*foundries*) como a **TSMC** (localizada principalmente em Taiwan). E o mais impressionante é que as máquinas ultracomplexas usadas por essas fundições para gravar os seus chips são construÃdas por uma única empresa nos PaÃses Baixos: a **ASML**! Sem esquecer que é preciso matéria-prima para fabricar todo esse material de informática."},{t:"p",text:"Pronto, a tarefa terminou! Os pedaços de texto foram processados uma última vez pelo modelo para entregar os seus 5 *bullet points*, e é isso!"},{t:"h2",text:"Uma visão mais realista"},{t:"p",text:"Como você já entendeu, se quiséssemos representar isso de maneira mais realista do que o nosso recorte inicial:"},{t:"image",src:"/images/articles/ia-concretement-schema-imbrique.webp",alt:"Diagrama aninhado: em um cloud provider, o hardware alimentado por energia executa duas máquinas distintas, cada uma orquestrada por software, uma rodando o modelo de IA e a outra a aplicação.",caption:"DUAS MÃQUINAS DISTINTAS, ORQUESTRADAS POR SOFTWARE, EM UM CLOUD PROVIDER"},{t:"p",text:"São máquinas diferentes que fazem a sua IA e a sua aplicação funcionarem, tudo orquestrado por software e hospedado em um cloud provider. E, para cada nÃvel, temos questões de desempenho, de confiança, de soberania etc."},{t:"p",text:"Se você quiser entender o que está em jogo em todos esses temas, não deixe de ler os próximos capÃtulos! E, sobretudo, me mande o seu retorno para que eu possa melhorar a minha escrita."},{t:"p",text:"Tenha um excelente dia e não esqueça de se divertir!"}]},{slug:"application-accessibilite-experience",number:2,title:"A aplicação: uma questão de acessibilidade e experiência",updated:"2026-08-07",author:"Benjamin",readingMinutes:7,metaDescription:"Por que a interface decide o sucesso de um projeto de IA: latência, transparência, feedback e a ascensão da interface gerada na hora (GenUI), com o exemplo do projeto GenPage da Netflix.",lede:"O melhor modelo do mundo não serve para nada atrás de uma interface frustrante. Segundo capÃtulo: a camada que os seus usuários realmente veem.",body:[{t:"p",text:'Ah, o nosso primeiro capÃtulo de verdade! Aqui vamos começar pelo mais "simples" de compreender: o que você vê! A interface que permite interagir com a sua IA.'},{t:"p",text:"Pode parecer banal, mas na verdade isso é **essencial** para o sucesso de um projeto. Muitas vezes, a maneira como uma interface devolve uma informação e o que você sente ao usar o produto determinam a adesão dos usuários. Você pode ter o melhor modelo de IA do mundo sob o capô: se a interface for frustrante, ninguém vai usar."},{t:"h2",text:"A aplicação como verdadeiro diferencial"},{t:"p",text:"Peguemos o exemplo do ChatGPT: um simples campo de texto (um *chat*) capaz de conversar com você, de redigir ou de gerar imagens. Era genial, fácil de usar, superintuitivo!"},{t:"p",text:'Lembra como funcionavam os chatbots tradicionais antes disso? Eram roteiros pré-configurados e rÃgidos que levavam você, 9 vezes em 10, a um beco sem saÃda frustrante (*"Não entendi o seu pedido, deseja falar com um atendente?"*).'},{t:"p",text:"Mas atenção: o chat não é a única interface (nem sempre a melhor)!"},{t:"p",text:"Olhemos o mundo dos desenvolvedores. Por que ferramentas como o **Cursor** ou o **GitHub Copilot** explodiram diante de um simples ChatGPT? Porque elas não obrigam o desenvolvedor a ficar copiando e colando o tempo todo entre o navegador e o editor de código. A IA está integrada *diretamente* onde ele trabalha, no coração do código dele."},{t:"p",text:"Da mesma forma, no dia a dia: você prefere fazer 15 perguntas a um chatbot para reservar uma passagem de trem, ou clicar em 3 botões em um formulário bem pensado? A resposta é evidente. **A IA deve simplificar a vida, não acrescentar etapas de conversa inúteis.**"},{t:"h2",text:"Sempre partir da experiência que se quer entregar"},{t:"p",text:"à uma obviedade para quem faz Produto (*Product Management*), mas antes de se perguntar *como* fazer alguma coisa (qual modelo escolher, qual infraestrutura montarâ¦), é preciso fazer a pergunta-chave:"},{t:"callout",label:"A PERGUNTA A SE FAZER PRIMEIRO",text:"Qual é a experiência que queremos oferecer aos nossos usuários?"},{t:"p",text:"Parece bobagem, mas em 80% dos projetos de IA hoje fazemos o contrário: compramos IA e depois procuramos onde encaixá-la."},{t:"h2",text:"As regras de ouro de uma boa UX de IA"},{t:"p",text:"Como a IA não é um software como os outros (ela hesita, demora a responder, pode errar), a aplicação precisa lidar com restrições especÃficas:"},{t:"list",ordered:!0,items:["**A gestão do tempo (a latência).** Um modelo de IA leva vários segundos para pensar. A interface precisa mostrar que a IA está trabalhando. à por isso que você vê o texto aparecendo palavra por palavra (o *streaming*, ou efeito máquina de escrever): isso dá uma sensação de instantaneidade e ocupa a atenção do usuário.",'**A transparência e o direito ao erro.** A IA pode alucinar. A aplicação deve, portanto, facilitar a verificação: exibir as fontes, oferecer um botão "Regenerar" ou "Editar o prompt".',"**O feedback do usuário.** Os polegarzinhos para cima ou para baixo ð ð não estão ali de enfeite! Eles permitem que a camada aplicativa colete dados sobre a qualidade das respostas, para melhorar a experiência futura."]},{t:"h2",text:"A grande tendência: a interface gerada na hora (GenUI)"},{t:"p",text:"Até agora tÃnhamos dois mundos bem estanques:"},{t:"list",ordered:!0,items:["**As aplicações clássicas (GUI).** Telas fix
91as concebidas por designers. Clica-se em botões, menus, cards. à rápido, mas é rÃgido.","**O chatbot (NLI).** Uma página em branco com um campo de texto. à infinitamente flexÃvel, mas ler blocos de texto de 500 palavras é cansativo e nem sempre eficaz."]},{t:"p",text:"Então, por que escolher? à aà que chega a grande revolução atual do design de aplicações: **a interface gerada na hora** (ou *generative UI*)."},{t:"h3",text:"Na prática, o que é isso?"},{t:"p",text:"**Em vez de responder apenas com texto puro ou Markdown, a IA gera a interface gráfica de que você precisa, no momento exato em que você precisa.**"},{t:"list",items:["**Pediu à IA para organizar a sua viagem?** Em vez de listar 10 hotéis em texto, a interface faz aparecer um **mapa interativo** com um controle deslizante (*slider*) para filtrar o seu orçamento e botões para validar a sua escolha.","**Pediu para comparar dois orçamentos?** Ela não escreve um romance: gera na hora uma **tabela comparativa dinâmica** em que você pode marcar opções ou alterar valores ao vivo.","**Quer analisar os seus dados de vendas?** A aplicação constrói sob medida um **painel com gráficos interativos**, criados apenas para responder à sua pergunta."]},{t:"h3",text:"O exemplo XXL: a Netflix e o projeto GenPage"},{t:"p",text:"Se você acha que a generative UI é coisa de demonstração de engenheiro no Twitter, engana-se: as gigantes já estão nisso."},{t:"p",text:"Em um artigo técnico fascinante, a Netflix revelou como testa a geração de interfaces por IA. O princÃpio? O seu histórico de visualização e o momento do dia são transmitidos como um *prompt* a um modelo de IA generativa. Em vez de buscar em menus rÃgidos, o modelo **literalmente desenha a página inicial do aplicativo em tempo real**. Ele adapta a disposição dos blocos, o tipo de informação exibida e até a organização visual, especialmente para você."},{t:"link",href:"https://netflixtechblog.com/genpage-towards-end-to-end-generative-homepage-construction-at-netflix-77146fba8a08",label:"GenPage: a página inicial generativa da Netflix",note:"Netflix Tech Blog, em inglês"},{t:"p",text:"Amanhã, você e o seu vizinho não terão apenas recomendações diferentes na Netflix: **vocês não terão o mesmo aplicativo.**"},{t:"h3",text:"Por que esse é o futuro da aplicação de IA?"},{t:"p",text:"Porque isso resolve o maior problema de ergonomia da IA: **o atrito da digitação.**"},{t:"p",text:"Digitar um *prompt* de 3 linhas para corrigir um detalhe é cansativo. Poder arrastar um botão, clicar em uma opção ou mover uma barra em uma interface criada na hora pela IA é fluido."},{t:"p",text:"Nessa abordagem, a aplicação deixa de ser um molde fixo programado de uma vez por todas: **é um camaleão que desenha os componentes gráficos em função da intenção do usuário.** E isso, para a experiência do usuário, é um verdadeiro salto adiante."},{t:"h2",text:"Em resumo"},{t:"p",text:"A aplicação é a ponte entre a magia complexa dos modelos de IA e a realidade do dia a dia dos seus usuários."},{t:"callout",label:"ANTES DE GASTAR UMA FORTUNA EM SERVIDORES",text:"Como essa tecnologia vai se inserir da forma mais natural possÃvel no dia a dia de quem a utiliza?"},{t:"p",text:'Agora que vimos a parte visÃvel do iceberg (a interface), vamos ver o que acontece logo abaixo quando você aperta "Enter"⦠Até o capÃtulo sobre a camada de software e a orquestração!'}]},{slug:"le-modele-un-simple-algorithme",number:3,title:"O modelo: um simples algoritmo",updated:"2026-08-08",author:"Benjamin",readingMinutes:18,metaDescription:"IA simbólica, machine learning, deep learning, LLMs: quais famÃlias de modelos para quais usos, e por que a caixa-preta é um problema. Com os casos Amazon, Husky vs Lobo e Bercy.",lede:'Por trás da expressão "inteligência artificial" escondem-se famÃlias de algoritmos muito diferentes. Entender qual faz o quê é como evitar escolher a errada e herdar os seus vieses.',body:[{t:"p",text:"Sim, o termo pode parecer complicado à primeira vista. Algoritmo. Mas, na verdade, um algoritmo pode ser só isto:"},{t:"callout",label:"UM ALGORITMO",text:"**InÃcio:** Número = 0 · **Passo 1:** somar 1 ao Número · **Passo 2:** repetir o passo 1 até que o Número chegue a 10."},{t:"p",text:"à essa a diferença em relação a 0 + 10: aqui você naturalmente imaginou, mesmo por uma fração de segundo, um acúmulo de 1 somados um após o outro."},{t:"p",text:"A IA é feita de um ou vários algoritmos para atingir o seu objetivo. Isso pode ser encontrar o caminho mais curto até o restaurante (o seu GPS), gerar um relatório, produzir um vÃdeo, fazer simulações em pesquisa⦠Em resumo, **uma IA é apenas um sistema de cálculo tão complexo que você enxerga inteligência nele**, e à s vezes o personifica."},{t:"p",text:"Mas, na realidade, o ChatGPT não tem consciência de que é uma IA, nem do que é o real, nem do que é um texto."},{t:"diagram",name:"modelFamily"},{t:"p",text:'Enfim, voltemos ao nosso assunto, ou melhor, à s nossas IAs. Se há diferentes tipos de IA, então "há IAs melhores que outras em certos domÃnios". Por exemplo, se você quer um sistema totalmente explicável, pouco custoso em processamento e determinÃstico (que não muda de ideia quando você pergunta duas vezes a mesma coisa) para a sua aplicação de GPS, não é um LLM que você vai escolher, e sim um algoritmo de resolução de grafos, de IA simbólica, como os seus sistemas especialistas.'},{t:"h2",text:"A IA simbólica"},{t:"p",text:"Ah, a *Good Old-Fashioned AI* (um termo inventado em 1985, já não era mais tão descolado ^^)! E, mesmo assim, ela está muito mais presente no seu dia a dia do que você imagina."},{t:"p",text:"Bom, vou ser um pouco enviesado nesta parte: trabalhei 7 anos na [Golem.ai](
91https://golem.ai) (hoje Miralia), cuja origem foi o meu projeto de conclusão de curso. A empresa faz análise de texto por meio de um algoritmo simbólico, o que permite, entre outras coisas, classificar mensagens."},{t:"p",text:"A **IA simbólica** (ou IA clássica) parte da ideia de que a inteligência humana se explica pela manipulação explÃcita de sÃmbolos, conceitos e regras lógicas."},{t:"p",text:'Ao contrário do machine learning, que se apoia em um treinamento estatÃstico a partir de dados, a IA simbólica se apoia em conhecimentos modelados diretamente por especialistas humanos, na forma de fatos, ontologias e regras (*"Se⦠Entãoâ¦"*). O seu funcionamento é, portanto, **determinÃstico e transparente**: diante de um problema, um sistema simbólico usa um motor de inferência ou um algoritmo de busca para deduzir logicamente a solução combinando as regras dadas.'},{t:"p",text:'A principal vantagem dessa abordagem é a sua **explicabilidade total**: é possÃvel refazer exatamente cada etapa do raciocÃnio que levou a uma conclusão, sem efeito "caixa-preta". Extremamente prático quando se tem necessidade de auditabilidade.'},{t:"p",text:'Ela é excelente em domÃnios que exigem rigor absoluto. O cálculo de rotas (teoria dos grafos) é um ótimo exemplo: os seus personagens de videogame que vão de um ponto A a um ponto B sem se perder são geralmente conduzidos por um algoritmo simbólico chamado **A**\\*, que pode ser resumido como "explore o trajeto mais ou menos na direção certa para encontrar o melhor caminho".'},{t:"image",src:"/images/articles/le-modele-astar.gif",alt:"Animação do algoritmo A* explorando uma grade para contornar um obstáculo e ligar o ponto de partida à chegada",caption:"O A* EXPLORA NA DIREÃÃO CERTA E DEPOIS CONTORNA O OBSTÃCULO",height:"420px",pixelated:!0,credit:{author:"Subh83, Wikimedia Commons",license:"CC BY 3.0",href:"https://creativecommons.org/licenses/by/3.0/"}},{t:"p",text:"Em contrapartida, essa famÃlia de IA é muito rÃgida: tem dificuldade com a nuance, com o ruÃdo nos dados ou com o imprevisto, e fica extremamente complexa de manter à medida que a base de regras cresce."},{t:"callout",label:"UM PONTO FREQUENTEMENTE ESQUECIDO",text:"As IAs simbólicas consomem **muito pouca energia**: falamos de ordens de grandeza de Ã1000 ou muito mais e, naturalmente, elas são bem mais rápidas."},{t:"p",text:"à por isso que há bastante discussão sobre a possibilidade de combinar a agilidade dos algoritmos generativos com os algoritmos simbólicos. Aliás, os desenvolvedores têm um exemplo funcional recorrente disso sem perceber: quando o seu Claude Code (ou um concorrente) gera um script Python e o executa para transformar dados, de um Excel para um banco de dados, por exemplo, a ideia é mais ou menos essa. Ele não reescreve com *tokens* uma requisição imensa contendo todas as modificações: ele escreve um pequeno script que faz a tarefa."},{t:"h2",text:"O machine learning"},{t:"p",text:'O **machine learning** (ou *aprendizado de máquina*) é a abordagem inversa da IA simbólica: em vez de programar explicitamente regras de decisão (*"Se⦠Entãoâ¦"*), damos a um computador grandes quantidades de **dados** e um **objetivo**, e o deixamos descobrir sozinho os padrões e as regras subjacentes. Em vez de ser ditado por um humano, o comportamento do programa é **deduzido a partir dos exemplos que ele analisou**.'},{t:"p",text:'O seu funcionamento se apoia na **estatÃstica** e no ajuste progressivo de parâmetros internos (notadamente os "pesos", no caso das redes neurais). Na fase de treinamento, o modelo faz previsões, mede o seu erro em relação à realidade e depois se ajusta para reduzir esse erro. Quanto mais dados representativos recebe, mais precisas ficam as suas previsões.'},{t:"diagram",name:"mlTypes"},{t:"list",items:['**O aprendizado supervisionado.** Damos dados com as suas respostas (*rótulos*). Exemplo: 100 mil fotos de gatos e cachorros com o rótulo "gato" ou "cachorro". O modelo aprende a distinguir os dois.',"**O aprendizado não supervisionado.** Damos dad
91os brutos sem rótulos, e o modelo procura estruturas ocultas. Exemplo: agrupar clientes em segmentos segundo os seus hábitos de compra, sem predefinir as categorias.","**O aprendizado por reforço.** Um agente interage com um ambiente e recebe recompensas ou penalidades. Exemplo: uma IA que aprende a jogar xadrez ou a pilotar um drone testando ações e aprendendo com os próprios erros."]},{t:"h2",text:"O deep learning"},{t:"p",text:"Sem entrar demais nos detalhes técnicos, o **deep learning** é um sub-ramo do machine learning baseado em redes neurais profundas (empilhamentos de camadas de cálculo)."},{t:"p",text:"A grande diferença? Ao contrário do machine learning clássico, o deep learning é capaz de analisar diretamente dados bem brutos (imagens, som ou texto) e de entender sozinho quais detalhes são importantes para tomar uma decisão, sem que um humano precise mastigar o trabalho para ele."},{t:"callout",label:"PARA GUARDAR",text:"Na linguagem cotidiana, as pessoas misturam com muita frequência os dois termos."},{t:"h2",text:"Genial para correlacionar⦠bem menos para explicar"},{t:"p",text:"Concretamente, o machine learning é genial para encontrar correlações em dados complexos e para lidar com casos em que não há regras realmente definidas. Vejamos um exemplo."},{t:"dialog",turns:[{who:"vous",text:"Você pode descrever uma abelha para mim? Nunca vi uma, gostaria de aprender a reconhecê-las bem."},{who:"ia",text:"Fácil: é um inseto amarelo e marrom listrado, com dois olhos pretos, asas e seis patas."},{who:"vous",text:"Ok⦠Então isto aqui não é uma abelha?"}]},{t:"image",src:"/images/articles/le-modele-abeille.jpg",alt:"Macro da cabeça de uma abelha colhendo pólen em uma flor: distinguem-se os olhos, mas nem as asas nem as patas",caption:"ENTÃO, ABELHA OU NÃO?",maxHeight:"520px"},{t:"dialog",turns:[{who:"ia",text:"Vejo dois olhos pretos, no geral há marrom, mas não vejo asas nem patas. Talvez uma lagarta?"}]},{t:"p",text:"E pronto: você entende por que a abordagem estatÃstica, com um grande número de exemplos, é necessária."},{t:"p",text:"Teoricamente, isso fica mais eficiente com uma quantidade maior de dados, ainda que na realidade muitos outros fatores entrem em jogo, a começar pela qualidade da informação fornecida. O problema é que o machine learning tem defeitos sérios. Além do custo em processamento e energia: a sua dependência dos dados iniciais e o fato de ser humanamente impossÃvel entender em detalhe como o modelo toma uma decisão. Só é possÃvel fazer uma interpretação."},{t:"p",text:'Voltemos à análise de imagens com este exemplo publicado em 2016 pelo pesquisador Marco Tulio Ribeiro e a sua equipe para apresentar o **LIME** (*Local Interpretable Model-agnostic Explanations*), uma ferramenta concebida para abrir as "caixas-pretas".'},{t:"h3",text:'O experimento "Husky vs Lobo"'},{t:"image",src:"/images/articles/le-modele-husky.jpg",alt:"Retrato de husky com ar emburrado",caption:"O HUSKY INJUSTAMENTE CLASSIFICADO COMO LOBO",maxHeight:"340px"},{t:"p",text:"Os pesquisadores treinaram um modelo de classificação de imagens para distinguir huskies de lobos."},{t:"list",items:["**Os resultados no papel.** O modelo exibia uma excelente precisão (por volta de 90%). Na maioria das imagens de teste, ele nunca errava.","**O erro suspeito.** O modelo classificou um husky inocente como sendo um lobo."]},{t:"p",text:"Usando o LIME para exibir a zona exata da imagem em que o modelo concentrava os seus cálculos (os pixels decisivos), os pesquisadores descobriram que o modelo não analisava **nem as orelhas, nem a cor da pelagem, nem o formato dos olhos** do animal. Ele olhava unicamente para o fundo:"},{t:"list",items:["**Presença de neve** â lobo","**Sem neve** (grama, terra, interior) â husky"]},{t:"p",text:"Porque, no conjunto de dados de treinamento, todas as fotos de lobos tinham sido tiradas no inverno na neve, enquanto as fotos de huskies eram tiradas em jardins ou na grama!"},{t:"link",href:"https://arxiv.org/pdf/1602.04938",label:'"Why Should I Trust You?", o artigo de pesquisa sobre o LIME',note:"arXiv, 2016, em inglês"},{t:"p",text:'Certo, esse problema não parece tão grave, ainda mais porque com o LIME foi possÃvel "explicar" a questão. Mas, na realidade, a solução proposta aqui é muito limitada.'},{t:"h2",text:"Quando o que está em jogo se torna decisivo: o caso Amazon"},{t:"p",text:"O que acontece quando abordamos um assunto mais decisivo? Quando o problema vem dos dados iniciais e não se fazem as perguntas certas?"},{t:"p",text:"O objetivo inicial da Amazon era o sonho de todo departamento de RH: criar um algoritmo capaz de ler 100 currÃculos e apontar automaticamente os 5 melhores perfis, com uma nota de 1 a 5 estrelas."},{t:"h3",text:"1. A causa: um conjunto de dados enviesado desde o inÃcio"},{t:"p",text:"Para treinar esse modelo, os engenheiros da Amazon forneceram os currÃculos enviados à empresa ao longo de 10 anos, acompanhados das decisões de contratação da época."},{t:"callout",label:"O PROBLEMA",text:"Como a indústria de tecnologia é historicamente muito masculina, a grande maioria dos currÃculos aprovados nesses 10 anos pertencia a homens."},{t:"p",text:"O modelo fez exatamente aquilo para o qual o machine learning foi concebido: **encontrar c
91orrelações estatÃsticas recorrentes** nos sucessos passados para prever os sucessos futuros."},{t:"h3",text:"2. O efeito caixa-preta e a deriva misógina"},{t:"p",text:"Em vez de avaliar as competências reais (código, diplomas, projetos), o algoritmo aprendeu sozinho a usar o **gênero** como critério de previsão mais forte. Concretamente:"},{t:"list",items:[`**Penalização direta.** A ferramenta retirava pontos se a palavra *"women's"* aparecesse no currÃculo, por exemplo "capitã do time feminino de xadrez" ou "presidente do clube de mulheres engenheiras".`,"**Rebaixamento de diplomas.** O algoritmo baixou a nota das candidatas vindas de duas universidades privadas exclusivamente femininas.","**Vocabulário favorecido.** A ferramenta privilegiou verbos de ação estatisticamente mais presentes nos currÃculos masculinos, como *executed* ou *captured*."]},{t:"h3",text:"3. Por que a correção fracassou"},{t:"p",text:`Quando os engenheiros perceberam a deriva, tentaram corrigir o problema. Mas com machine learning complexo, **proibir uma palavra não basta**: eles proibiram o algoritmo de ler a palavra *"women's"*, e o modelo imediatamente encontrou **variáveis substitutas** (*proxy variables*). Ele detectava o gênero por meio de outros indÃcios indiretos: as atividades extracurriculares, as construções de frase, a escolha de certas palavras.`},{t:"callout",label:"A REGRA A GUARDAR",text:"Em machine learning, se um viés está profundamente inscrito nos dados, o algoritmo sempre encontrará um caminho alternativo para continuar usando-o, se isso melhorar a sua previsão teórica."},{t:"p",text:"Em 2017, constatando que não conseguiam nem garantir a neutralidade da ferramenta nem compreender a totalidade das microdecisões internas do modelo, **a Amazon abandonou definitivamente e dissolveu o projeto**."},{t:"link",href:"https://www.reuters.com/article/us-amazon-com-jobs-automation-insight-idUSKCN1MK08G/",label:"A investigação da Reuters sobre a ferramenta de recrutamento da Amazon",note:"Reuters, 2018, em inglês"},{t:"p",text:"Mas eu não disse que os LLMs pertencem a essa mesma famÃlia? E adivinhe: os currÃculos são cada vez mais analisados por IA. Então o que fazem os candidatos? Adaptam o currÃculo para que a IA seja clemente com eles."},{t:"p",text:"Você entende, então, que é importante antecipar os problemas potenciais de um algoritmo que não consegue se explicar e, sobretudo, dominar bem os dados de treinamento para evitar vieses nocivos. Ou entãoâ¦"},{t:"h2",text:"Os LLMs"},{t:"callout",label:"EM RESUMO",text:"Um **LLM** (*Large Language Model*) é uma rede neural profunda cujo trabalho consiste em **prever a palavra seguinte mais provável** em função do que foi dito antes. Passamos de uma ótima ferramenta de tradução ao autocompletar do seu celular⦠mas sob esteroides e treinado em toda a web."},{t:"h3",text:"1. A revolução do Transformer (2017)"},{t:"p",text:'Durante muito tempo, para processar texto, as IAs liam as palavras **uma a uma, da esquerda para a direita**. Problema: ao chegar ao fim de um parágrafo longo, já tinham "esquecido" o começo.'},{t:"p",text:"Em 2017, pesquisadores do Google inventaram uma nova arquitetura de rede neural que mudou tudo: o **Transformer**. A sua arma secreta? O mecanismo de **atenção** (*self-attention*). Graças a ele, a IA não lê mais palavra por palavra: ela olha a frase inteira de uma vez e entende o contexto global."},{t:"p",text:'*Exemplo:* em "Ele manchou a manga da camisa com suco de manga", a IA entende instantaneamente que a primeira é uma parte da roupa e a segunda uma fruta, graças à s palavras ao redor.'},{t:"p",text:'Originalmente, essa IA funcionava com **dois blocos de construção**, pois foi pensada para tradução. O **encoder** (a "compreensão") lia a frase inteira de uma vez para captar o seu sentido profundo; o **decoder** (a "geração") pegava esse sentido e escrevia a tradução palavra por palavra.'},{t:"diagram",name:"encoderDecoder"},{t:"h3",text:"2. A virada decisiva: por que jogamos o encoder fora"},{t:"p",text:"Ao tentar criar IAs capazes de fazer de tudo (conversar, programar, resumir, raciocinar), os pesquisadores perceberam algo genial: **não precisamos mais do encoder.** Hoje, modelos como ChatGPT, Llama ou Mistral são arquiteturas **somente decoder** (*decoder-only*)."},{t:"list",ordered:!0,items:['**Continuar um texto já é ter compreendido.** Para um decoder, tudo é uma história a completar. Se você lhe dá uma pergunta, a continuação lógica é a resposta. Se você lhe dá um texto em francês, a continuação lógica pode ser a sua tradução. Não é mais preciso separar a "compreensão" e a "criação".',"**A simplicidade acima de tudo.** Mantendo apenas um bloco, ficou muito mais simples treinar modelos gigantes com trilhões de dados."]},{t:"h3",text:"Como funciona na prática? A máscara causal"},{t:"p",text:"à aqui que está a verdadeira sutileza técnica. Como não há mais um encoder para ler todo o texto antecipadamente, o decoder usa o que chamamos de **máscara causal**. à uma regra matemática estrita: **a IA avança à s cegas rumo ao futuro. Ela só tem o direito de olhar as palavras passadas para adivinhar a palavra seguinte.**"},{t:"p",text:'Se o modelo precisa escrever *"O gato dorme no sofá"*:'}
91,{t:"list",ordered:!0,items:['Ele vê [inÃcio] â prevê **"O"**','Ele vê *O* â prevê **"gato"**','Ele vê *O gato* â prevê **"dorme"**','Ele vê *O gato dorme* â prevê **"no"**â¦']},{t:"p",text:"Cada palavra produzida é imediatamente reinjetada no seu campo de visão para prever a seguinte. à o que chamamos de funcionamento **autorregressivo**."},{t:"h3",text:"E para imagem, vÃdeo ou música? à a mesma coisa!"},{t:"p",text:"Falamos muito de texto, mas e as IAs generativas de imagens (Midjourney, DALL·E) ou de música (Suno, Udio)? **A menos de um detalhe, a lógica subjacente continua exatamente a mesma.** Para um computador, tudo é matemática: um texto é uma sequência de palavras, uma imagem uma grade de pixels, uma música uma sequência de frequências de áudio."},{t:"list",ordered:!0,items:["**Para a música.** A IA aplica exatamente a mesma receita do texto. Em vez de prever a *palavra* seguinte em uma frase, ela aprende a prever a *nota* ou o *pedaço de som* seguinte mais lógico.",'**Para a imagem (os modelos de difusão).** A IA aprende primeiro a destruir uma imagem acrescentando "ruÃdo" a ela (como chuvisco em uma TV antiga). Depois, a sua rede neural aprende a fazer o caminho inverso: **retirar o ruÃdo etapa por etapa** para fazer surgir uma imagem nÃtida a partir do caos, guiando-se pelo seu texto (*prompt*).']},{t:"callout",label:"A PALAVRA FINAL",text:"Seja escrever um poema, compor uma sinfonia ou desenhar um dragão, **toda a IA generativa atual se apoia em deep learning** capaz de identificar padrões complexos em dados, para depois recriar o padrão seguinte de maneira probabilÃstica."},{t:"h2",text:"Quando a memória é influenciada"},{t:"p",text:'Bom, foi teórico, mas interessante. Agora, falemos de coisas menos divertidas. Lembre-se da constatação: **um LLM não reflete e não busca a "verdade"**. Ele apenas reflete as estatÃsticas dos textos com os quais foi treinado⦠com todas as suas qualidades, mas também os seus preconceitos e as suas orientações ideológicas.'},{t:"p",text:"à por isso que Yann LeCun, entre outros, insiste no fato de que os LLMs são apenas uma espécie de grande memória. Mas o que acontece quando essa memória é⦠influenciada?"},{t:"p",text:"Em junho de 2026, a **Direction générale du Trésor** (em Bercy, o ministério das Finanças francês) testava uma ferramenta interna batizada de *HéphAIstos* para ajudar uma centena de altos funcionários em tarefas administrativas e de análise econômica. O modelo escolhido sob o capô era o **Qwen**, um LLM muito eficiente desenvolvido pela gigante chinesa **Alibaba**."},{t:"list",ordered:!0,items:["**Respostas enviesadas.** Durante os testes, vários agentes relataram que a IA dava respostas tendenciosas ou alinhadas à doutrina polÃtica de Pequim assim que faziam perguntas sobre a China, sobre questões comerciais internacionais ou sobre geopolÃtica.","**Interrupção imediata.** Depois de apenas três semanas de experimentação, o Tesouro interrompeu de imediato o uso do Qwen.","**Virada soberana.** No dia seguinte, a administração o substituiu por um modelo desenvolvido pela start-up francesa **Mistral AI**."]},{t:"link",href:"https://www.clubic.com/actualite-618721-ia-chinoise-bercy-stoppe-un-test-apres-des-reponses-jugees-biaisees.html",label:"Bercy interrompe um teste após respostas consideradas enviesadas",note:"Clubic, em francês"},{t:"callout",label:"A LIÃÃO DESSE EPISÃDIO",text:'Mesmo com o modelo rodando localmente (desconectado da internet e sem vazamento de dados para o exterior), **os seus "filtros culturais" estavam gravados nos seus neurônios durante o treinamento na China**. Um governo não pode se apoiar em uma IA estrangeira para orientar as suas decisões econômicas ou polÃticas sem correr o risco de um viés de influência.'},{t:"p",text:"Agora, temos eleições se aproximando, e sabemos que muita gente vai pedir a opinião das IAs. O que isso representa para a democracia?"},{t:"h3",text:"As alucinações"},{t:"p",text:"Como o LLM apenas calcula a palavra *seguinte mais provável*, ele não sabe se está dizendo a verdade. Se lhe falta uma
91informação, ele vai inventar fatos, leis ou citações históricas com uma segurança perfeita."},{t:"h3",text:"O roubo de dados e o direito autoral"},{t:"p",text:"Para treinar esses modelos, as empresas aspiraram bilhões de páginas da web sem pedir a opinião dos autores, dos artistas ou dos veÃculos de imprensa. Isso levanta um problema ético e jurÃdico enorme sobre a propriedade intelectual."},{t:"h2",text:"Open weight não é open source"},{t:"p",text:'Hoje, empresas como a Meta (com o *Llama*) ou joias francesas como a *Mistral AI* disponibilizam os seus modelos "gratuitamente" para todo mundo. A imprensa costuma dizer que eles são **open source**. Só que isso é falso! Na realidade, eles são **open weight** (de "pesos abertos"). E a nuance muda absolutamente tudo do ponto de vista ético e jurÃdico.'},{t:"p",text:"Em uma rede neural, os **pesos** (*weights*) são os bilhões de números ajustados durante o treinamento. São os ajustes matemáticos finais do modelo."},{t:"list",items:['**O que se dá a você em open weight:** a "caixa-preta" terminada. Você pode baixá-la, instalá-la no seu servidor e rodá-la gratuitamente.',"**O que se esconde de você:** a receita de bolo, ou seja, a base de dados exata usada para treiná-la (os arquivos brutos aspirados da web) e o código preciso do algoritmo de treinamento."]},{t:"h3",text:"Por que as gigantes mantêm os dados em segredo?"},{t:"list",ordered:!0,items:["**O risco jurÃdico (direitos autorais).** Para treinar esses modelos gigantes, petabytes de livros pagos, artigos de imprensa, imagens e código foram aspirados sem autorização. Tornar o conjunto de dados público seria dar aos detentores de direitos as provas materiais para processá-las.","**O segredo industrial.** O verdadeiro valor de um LLM hoje não está apenas na arquitetura da rede neural, mas na **limpeza e na triagem dos dados**. Revelar o conjunto de dados é oferecer o seu trabalho de ourivesaria aos concorrentes.","**O risco de segurança.** Um modelo 100% aberto permitiria a qualquer um ver exatamente como derrubar as barreiras de segurança, por exemplo como impedi-lo de explicar a fabricação de uma arma ou de gerar conteúdos maliciosos."]},{t:"p",text:"Existem, no entanto, casos de verdadeiro open source. No projeto **Nemotron** (com as famÃlias *Nemotron-3* ou *Nemotron-CC*), a NVIDIA não se contentou em compartilhar o modelo final para download. Ela abriu os três pilares:"},{t:"list",ordered:!0,items:["**Os pesos do modelo** (*model weights*): o cérebro da IA terminado e pronto para uso.","**O código e as receitas de treinamento** (*training recipes*): os algoritmos, as configurações e o código-fonte que permitem retreinar ou modificar o modelo exatamente da mesma forma que eles.","**Os conjuntos de dados** (*open datasets*): a NVIDIA publicou no Hugging Face trilhões de *tokens* de treinamento, incluindo textos brutos, código e dados de filtragem de segurança."]},{t:"h3",text:"Então por que abrir, se não é abrir tudo?"},{t:"p",text:"Na verdade é bem simples, e isso continua sendo a minha interpretação. No caso das big techs, o objetivo geralmente é alcançar os concorrentes e impor o seu padrão em mercados especÃficos. à por isso que até a OpenAI (com um sucesso bem discutÃvel, mas acho que foi de propósito) tinha lançado o seu modelo open weight *gpt-oss*. Mas é também, na escala das nações, uma forma de asfixiar o mercado: entenda que a China, chegando depois dos modelos americanos, tem tudo a ganhar com as pessoas usando modelos chineses em vez de pagar empresas americanas."},{t:"p",text:"E quanto ao open source? Nemotron é NVIDIA⦠que não é uma editora de software tentando lhe vender uma assinatura do ChatGPT. O negócio dela é vender chips gráficos. Quanto mais dados e código a comunidade tiver para criar IAs, mais as empresas comprarão servidores NVIDIA para rodá-las. Ao dar conjuntos de dados de treinamento de qualidade imensa (muito bem limpos) para todo mundo, a NVIDIA se torna o padrão sobre o qual toda a pesquisa mundial trabalha. E se mais gente usa modelos⦠isso significa mais chips vendidos ;)"},{t:"link",href:"https://developer.nvidia.com/topics/ai/nemotron",label:"NVIDIA Nemotron: modelos, receitas e conjuntos de dados",note:"developer.nvidia.com, em inglês"},{t:"p",text:'Atenção, não estou dizendo cinicamente que não existem pessoas que sinceramente acreditam estar fazendo open source por razões de transparência e de valores. Mas essa é a minha interpretação da situação atual. O que faz com que seja incômodo ter apenas um ator no continente europeu, mas tranquilizador, de certa forma, saber que esse "combate" nos garante o surgimento quase contÃnuo de modelos open weight: enquanto a distância entre o primeiro e o segundo não for estratosférica, os segundos sempre vão querer tentar asfixiar os primeiros ;)'},{t:"h2",text:"Bônus: os algoritmos evolutivos"}
91,{t:"p",text:'Os **algoritmos evolutivos** são a prova de que a natureza já tinha inventado o melhor método de otimização muito antes da chegada dos computadores. Para entender essa IA, basta olhar para **os tentilhões das ilhas Galápagos observados por Darwin**: esses pássaros nunca "decidiram" mudar o formato do bico para quebrar sementes melhor. A natureza simplesmente gerou variações ao acaso, eliminou sem piedade os que não conseguiam se alimentar e deixou os sobreviventes transmitirem o seu bico vantajoso à geração seguinte. Um algoritmo evolutivo faz exatamente a mesma coisa, mas na velocidade de milhões de cálculos por segundo.'},{t:"p",text:'Concretamente, o algoritmo começa criando uma "população" de milhares de soluções completamente absurdas, geradas aleatoriamente. Depois, ele as submete a uma pressão ambiental, uma função de pontuação que elimina instantaneamente os piores candidatos. Os raros sobreviventes são então "cruzados" entre si, os seus códigos são misturados, e uma pitada de mutações aleatórias é injetada para explorar novos caminhos. **à uma IA que progride sem compreender: ela não busca analisar as causas de um problema, apenas acumula os pequenos sucessos do acaso.**'},{t:"p",text:'Um dos exemplos mais impressionantes desse "darwinismo digital" continua sendo a concepção da antena de satélite **ST5 da NASA**. Os engenheiros deixaram um algoritmo evolutivo torcer fios de arame virtuais ao longo de milhares de gerações. Resultado? A IA pariu uma forma completamente torta e assimétrica, parecida com um clipe de papel deformado que nenhum humano teria tido a ideia de desenhar, mas cujo desempenho eletromagnético superou tudo o que a lógica de engenharia clássica havia produzido.'},{t:"link",href:"https://en.wikipedia.org/wiki/Evolved_antenna",label:"A antena evoluÃda da NASA",note:"Wikipédia, em inglês"},{t:"link",href:"https://www.youtube.com/watch?v=MD4hH1ObrYg",label:"Um canal francês no YouTube bem doido sobre esse tipo de projeto ð«ð·",note:"YouTube, em francês"},{t:"h2",text:"E na prática?"},{t:"p",text:"Muito bem, vimos toda a teoria â mas e na prática? Vamos entrar no detalhe quando tivermos passado por todos os componentes; eu só quero que tenhamos uma base de entendimento antes de continuar."},{t:"p",text:'Mas para lhe dar algumas pistas: quando você trabalha com IA, você trabalha com uma ferramenta que só funciona **X vezes em 100**, por causa da sua abordagem estatÃstica e, geralmente, da natureza dos dados que você fornece a ela. Para um computador, "oi, tudo bem?" e "olá, como vai você?" são dados diferentes, que podem dar resultados diferentes. Da mesma forma, diga oi duas vezes ao seu ChatGPT: você vai ver que não terá exatamente a mesma resposta.'},{t:"p",text:"Para lidar com isso, os engenheiros de IA usam unidades de medida que determinam a confiabilidade da sua solução. Geralmente se usa uma pontuação chamada **F1**, ou uma das suas variações. Não vou explicá-la agora, mas entenda que se procura determinar a porcentagem de vezes em que a IA vai errar, e a gravidade do erro."},{t:"callout",label:"O LIMIAR DE ACEITAÃÃO DEPENDE DO PROJETO",text:"Não é grave se uma IA erra na geração de uma imagem que será verificada por um humano. à bem mais grave quando ela erra na condução de um carro."}]},{slug:"le-harness-le-modele-nest-que-le-moteur",number:4,title:"O harness: o modelo é apenas o motor",updated:"2026-08-09",author:"Benjamin",readingMinutes:16,metaDescription:"Context engineering, ferramentas, MCP, ciclo agêntico, multi-agente, A2A, human-in-the-loop, observabilidade: a camada de software que transforma um modelo de IA em produto utilizável.",lede:"Duas aplicações podem usar exatamente o mesmo modelo e não ter nem as mesmas capacidades, nem a mesma confiabilidade. O que as separa é a camada de que menos se fala: o harness.",body:[{t:"p",text:"Você provavelmente já ouviu alguém dizer:"},{t:"quote",text:"Nosso produto usa GPT."},{t:"p",text:"Ou Claude. Ou Mistral. Ou Qwen."},{t:"p",text:"Ãtimo."},{t:"p",text:"Mas isso, no fim das contas, diz muito pouco sobre o que o produto realmente faz."},{t:"p",text:"Duas aplicações podem usar exatamente o mesmo modelo e ainda assim ter capacidades, desempenho e até comportamentos radicalmente diferentes."},{t:"p",text:"Por quê?"},{t:"p",text:"Porque entre a sua aplicação e o modelo existe uma camada da qual se fala bem menos: **o harness**."},{t:"p",text:"E você vai ver que ela é provavelmente uma das camadas mais importantes da IA moderna."},{t:"h2",text:"Voltemos ao nosso documento"},{t:"p",text:"No primeiro artigo desta série, pegamos um exemplo extremamente simples: você carrega um documento grande e pede:"},{t:"quote",text:"Faça um resumo em 5 pontos."},{t:"p",text:"Vimos então que, antes mesmo de o seu documento chegar ao modelo, software clássico já podia entrar em ação:"},{t:"list",items:["extrair o texto do PDF,","dividir o documento,","procurar as passagens interessantes,","montar o prompt,","enviar as informações ao modelo,","recuperar a resposta dele,","eventualmente pedir que recomece."]},{t:"p",text:"Na época, chamei isso simplesmente de **camada de softw
91are**."},{t:"p",text:"Hoje, um termo começa a se impor para designar boa parte dessa mecânica: **o harness.**"},{t:"h2",text:"Mas o que é um harness?"},{t:"p",text:"Para simplificar bastante:"},{t:"quote",text:"O modelo pensa. O harness organiza o trabalho dele."},{t:"p",text:"Imagine um motor no meio da sua garagem."},{t:"p",text:"Mesmo com 500 cavalos, você não vai muito longe com ele."},{t:"p",text:"Ele precisa de:"},{t:"list",items:["um volante,","uma caixa de câmbio,","rodas,","freios,","sensores,","um tanque,","um painel,","e um motorista ou um sistema capaz de decidir para onde ir."]},{t:"p",text:"Com um modelo de IA é igual."},{t:"p",text:"O modelo pode ser extremamente competente, mas ele não conhece espontaneamente os seus documentos internos, não tem acesso ao seu CRM, não sabe necessariamente quando fazer uma busca na internet e não decide magicamente como dividir uma tarefa complexa em dez etapas."},{t:"p",text:"Tudo isso precisa ser organizado por software."},{t:"p",text:"Isso é o harness."},{t:"callout",label:"A FÃRMULA PARA GUARDAR",text:"AGENTE = MODELO + HARNESS"},{t:"p",text:"E isso muda muita coisa na forma como olhamos para a IA."},{t:"h2",text:"Um modelo sozinho é bastante limitado"},{t:"p",text:"Peguemos um LLM clássico."},{t:"p",text:"Você dá texto a ele. Ele devolve texto."},{t:"p",text:"Já é impressionante, evidentemente."},{t:"p",text:"Mas imagine agora que você peça:"},{t:"quote",text:"Diga quanto faturamos com o cliente Dupont este ano e compare com o ano passado."},{t:"p",text:"O seu modelo provavelmente não faz ideia de quem é Dupont."},{t:"p",text:"Ele não conhece o seu sistema de faturamento."},{t:"p",text:"Ele não tem os direitos de acesso necessários."},{t:"p",text:"Ele não sabe qual base de dados consultar."},{t:"p",text:"E, sobretudo, você provavelmente não quer entregar toda a sua contabilidade a cada pergunta."},{t:"p",text:"Vai ser preciso, então, construir um ambiente para ele. Por exemplo:"},{t:"list",ordered:!0,items:["entender que a pergunta é sobre faturamento;","identificar o cliente no seu CRM;","chamar a sua ferramenta contábil;","recuperar apenas os dados necessários;","eventualmente fazer um cálculo;","passar os resultados ao modelo;","verificar se a resposta respeita o formato esperado;","exibir o resultado ao usuário."]},{t:"p",text:"O modelo fez apenas uma parte do trabalho."},{t:"p",text:"Todo o resto pertence ao harness."},{t:"diagram",name:"modelVsHarness"},{t:"h2",text:"Primeira função: dar o contexto certo"},{t:"p",text:"Você talvez tenha ouvido falar muito de **prompt engineering** nos últimos anos. Como escrever o melhor prompt?"},{t:"list",items:['"Você é contador há 25 anosâ¦"','"Responda passo a passoâ¦"','"Se você não souber a resposta, digaâ¦"']},{t:"p",text:"à útil."},{t:"p",text:"Mas estamos começando a passar de uma lógica de *prompt engineering* para uma lógica bem mais ampla de **context engineering**."},{t:"p",text:"A pergunta passa a ser menos:"},{t:"quote",text:"Como devo formular a minha frase?"},{t:"p",text:"e mais:"},{t:"quote",text:"De quais informações o modelo realmente precisa para cumprir esta tarefa?"},{t:"p",text:"Porque encher a janela de contexto dele com 300 páginas inúteis raramente é boa ideia."},{t:"p",text:"O harness poderá então selecionar os elementos interessantes:"},{t:"list",items:["as instruções da empresa;","o histórico relevante da conversa;","certos documentos;","os resultados de uma busca;","as respostas de uma ferramenta;","o trabalho feito nas etapas anteriores."]},{t:"p",text:"E transmitir ao modelo apenas aquilo de que ele precisa naquele exato momento."},{t:"diagram",name:"contextSelection"},{t:"p",text:"à aqui que reencontramos o nosso famoso **RAG**, do qual já falamos. Em vez de dar toda a sua documentação ao modelo: **pergunta â busca das passagens interessantes â modelo â resposta**."},{t:"p",text:"O harness orquestra a busca."},{t:"p",text:"O modelo analisa as informações que lhe são trazidas."},{t:"h2",text:"Segunda função: dar ferramentas à IA"},{t:"p",text:"à aqui que as coisas ficam bem mais interessantes."},{t:"p",text:"Um LLM já pode decidir:"},{t:"quote",text:"Para responder a esta pergunta, preciso usar esta ferramenta."},{t:"p",text:"Isso pode ser:"},{t:"list",items:["fazer uma busca na internet;","consultar uma base de dados;","ler um documento;","enviar um e-mail;","consultar um calendário;","executar código;","chamar o seu CRM;","iniciar outro software interno."]},{t:"p",text:"Você começa então a obter o que se chama comumente de **agente**."},{t:"p",text:"Peguemos um exemplo bem simples. Você diz:"},{t:"quote",text:"Marque uma reunião com o Paul na semana que vem."},{t:"p",text:"O modelo pode entender a sua intenção."},{t:"p",text:"Mas o harness precisa permitir que ele:"},{t:"list",ordered:!0,items:["identifique o Paul;","consulte o seu calendário;","recupere as disponibilidades;","eventualmente consulte o calendário do Paul;","proponha um horário;","aguarde a sua validação;","crie o evento."]},{t:"p",text:"E, sobretudo⦠**é preciso impedir que a IA faça qualquer coisa.**"},{t:"p",text:"Você provavelmente quer autorizar o seu agente a consultar o seu calendário. Talvez não queira permitir que ele apague todos os seus compromissos."}
91,{t:"p",text:"Isso também é papel desta camada de software."},{t:"h2",text:"MCP: a tomada USB dos nossos agentes?"},{t:"p",text:"Evidentemente, se cada desenvolvedor precisar construir uma conexão diferente para cada ferramenta, vamos recriar rapidamente o maravilhoso mundo das integrações de TI, em que cada um tem a sua API, o seu formato e a sua documentação de 453 páginas."},{t:"p",text:"à justamente para responder a esse problema que protocolos como o **MCP â Model Context Protocol** surgiram."},{t:"p",text:"A ideia é bem simples: padronizar a maneira como um agente pode descobrir e usar ferramentas ou recursos."},{t:"callout",label:"PENSE NISSO COMO UMA TOMADA USB",text:"O seu mouse e o seu teclado são dois objetos totalmente diferentes. Mas o seu computador sabe como se comunicar com eles graças a uma interface padronizada. O MCP tenta trazer uma lógica parecida para as ferramentas usadas pelas IAs."},{t:"p",text:"Foi por isso, aliás, que escolhemos na SOCLE construir os nossos agentes em torno desse tipo de protocolo: evitar ao máximo recriar uma integração especÃfica para cada nova capacidade."},{t:"h2",text:"Terceira função: decidir o que fazer em seguida"},{t:"p",text:"Dar uma ferramenta ao modelo é uma coisa."},{t:"p",text:"Ainda é preciso decidir **quando usá-la**."},{t:"p",text:"à aqui que entra o que geralmente se chama de **ciclo agêntico**. Simplificando bastante: **observar â refletir â agir â observar o resultado â recomeçar**."},{t:"diagram",name:"agenticLoop"},{t:"p",text:"Peguemos a busca por um restaurante. O seu agente poderia:"},{t:"list",ordered:!0,items:["entender que você procura um restaurante italiano;","usar uma ferramenta de busca;","obter cinco resultados;","perceber que você pediu um restaurante aberto hoje à noite;","verificar os horários;","eliminar os restaurantes fechados;","olhar as disponibilidades;","apresentar as três melhores propostas."]},{t:"p",text:"Não fazemos mais necessariamente **usuário â modelo â resposta**, mas **usuário â modelo â ferramenta â modelo â ferramenta â modelo â resposta**."},{t:"p",text:"E isso pode continuar por várias dezenas de etapas."},{t:"p",text:"O harness é a mecânica que mantém esse ciclo vivo."},{t:"list",items:["Ele transmite os resultados.","Ele guarda o estado.","Ele controla o número de iterações.","Ele detecta os erros.","Ele pode pedir que a IA mude de estratégia.","E, sobretudo, ele decide quando é hora de parar."]},{t:"p",text:"Porque um agente que pensa eternamente é filosoficamente fascinante, mas economicamente bem catastrófico."},{t:"h2",text:"E se um modelo não bastasse?"},{t:"p",text:"Podemos ir ainda mais longe."},{t:"p",text:"Por que usar o mesmo modelo para absolutamente todas as tarefas?"},{t:"p",text:"Peguemos uma reunião gravada. Precisamos:"},{t:"list",items:["entender um arquivo de áudio;","distinguir os interlocutores;","transcrever o que dizem;","corrigir certos erros;","entender o contexto de negócio;","eventualmente gerar uma sÃntese."]},{t:"p",text:"Um único modelo enorme poderia teoricamente tentar fazer tudo. Mas não é necessariamente a melhor solução."},{t:"p",text:"Na SOCLE, por exemplo, o nosso sistema de transcrição combina vários tratamentos: um agente especializado em reconhecimento de voz faz a transcrição, e depois um agente LLM pode aplicar uma correção contextual levando em conta os interlocutores e as informações de negócio."},{t:"p",text:"Cada tecnologia é usada onde faz sentido."},{t:"p",text:"à exatamente esse o interesse de raciocinar em **ecossistema de agentes** em vez de um modelo único."},{t:"h2",text:"O multi-agente"},{t:"p",text:"E, claro, porque adoramos complicar as coisas assim que elas começam a funcionar, podemos dar vários agentes ao nosso harness."},{t:"p",text:"Imagine uma equipe numa empresa. Você tem:"},{t:"list",items:["um jurista;","um desenvolvedor;","um comercial;","um contador."]},{t:"p",text:"Você poderia contratar uma pessoa extremamente inteligente e pedir que ela vire especialista nas quatro áreas. Ou usar vários especialistas e deixá-los colaborar."},{t:"p",text:"Num sistema multi-agente, o princÃpio é parecido. Um agente pode receber o pedido e repassá-lo a outro agente mais especializado."},{t:"diagram",name:"multiAgent"},{t:"p",text:"O harness vira então uma espécie de maestro."},{t:"list",items:["Quem trabalha?","Em que ordem?","Quais informações devem passar de um agente a outro?","Eles devem trabalhar em paralelo?","Quem verifica o resultado?"]},{t:"p",text:"Na SOCLE, usamos em particular o protocolo **A2A â Agent-to-Agent** para estruturar essas trocas entre agentes."},{t:"p",text:"O objetivo continua o mesmo: evitar que cada nova combinação exija reconstruir o seu produto inteiro."},{t:"h2",text:"Quarta função: escolher o modelo certo"},{t:"p",text:'E é aqui que você vai entender por que, no capÃtulo anterior, expliquei que um modelo é, no fim das contas, "apenas um algoritmo".'},{t:"p",text:"O seu produto não precisa necessariamente estar casado com GPT, Claude ou Mistral até que a morte os separe."},{t:"p",text:"O harness pode constituir uma camada de abstração entre a sua aplicação e os seus modelos. Imagine:"},{t:"list",items:["um modelo pequeno e rápido para classificar um pedido;","um modelo especializado em código para analisar um programa;","um modelo mais potente para uma tarefa complexa;","um modelo multimodal para entender uma imagem;","um modelo local para certos dados sensÃveis."]},{t:"p",text:"O seu usuário, por sua vez, não precisa saber que acabou de usar quatro modelos diferentes. Ele quer apenas que o problema dele seja resolvido."},{t:"p",text:"E esse é um ponto que nos importa muito na SOCLE: **não achamos que um produto de IA deva ser construÃdo em torno de um modelo.** Ele deveria ser construÃdo em torno de uma necessidade."},{t:"p",text:"Os modelos passam então a ser recursos que o sistema escolhe conforme a tarefa a cumprir."},{t:"h2",text:"O modelo mais potente nem sempre é o melhor produto"},{t:"p",text:"Talvez seja a ideia mais importante deste artigo."},{t:"p",text:"Imaginemos duas empresas usando exatamente o mesmo modelo."},{t:"h3",text:"Empresa A"},{t:"p",text:"Ela envia a sua pergunta direto ao LLM com um prompt enorme de 15 páginas."},{t:"h3",text:"Empresa B"},{t:"p",text:"O harness dela:"},{t:"list",items:["identifica a sua intenção;","recupera apenas os documentos necessários;","seleciona as ferramentas certas;","controla as permissões delas;","usa um modelo especializado para uma subtarefa;","verifica o resultado;","pede validação humana se necessário;","registra todas as etapas."]},{t:"callout",label:"MESMO MODELO",text:"Dois produtos totalmente diferentes. E potencialmente dois nÃveis de confiabilidade totalmente diferentes."},{t:"p",text:'à também por isso que comparar soluções de IA apenas perguntando "qual LLM eles usam?" começa a se tornar uma pergunta insuficiente.'},{t:"p",text:"à como comparar dois carros apenas perguntando quantos cavalos o motor tem. Isso importa. Mas você esquece tudo o que está em volta."},{t:"h2",text:"Human-in-the-loop: à s vezes, a IA deve simplesmente perguntar"},{t:"p",text:"Outro elemento particularmente importante num harness: saber quando **não agir sozinho**."},{t:"p",text:"Imagine uma IA usada num contexto jurÃdico. Ela pode:"},{t:"list",items:["transcrever uma entrevista;","identificar os interlocutores;","apontar uma incoerência;","propor uma correção."]},{t:"p",text:"Mas alterar definitivamente um depoimento sem validação humana seria, evidentemente, uma péssima i
91deia."},{t:"p",text:"O harness pode então introduzir pontos de controle: **IA â proposta â validação humana â continuação do tratamento**."},{t:"p",text:"à o que se chama de **human-in-the-loop**."},{t:"p",text:"E, ao contrário de certas visões muito futuristas da IA, isso não é necessariamente uma falha de automação. Ãs vezes é exatamente o que torna a automação utilizável."},{t:"p",text:"Em um dos nossos clientes da área jurÃdica, usamos justamente essa abordagem: diferentes etapas do tratamento podem ser verificadas e corrigidas pelo usuário antes da validação."},{t:"callout",label:"O OBJETIVO CERTO NÃO à RETIRAR O HUMANO",text:"Mas fazê-lo intervir apenas onde a decisão dele realmente agrega valor."},{t:"h2",text:"Quinta função: observar o que acontece"},{t:"p",text:"à provavelmente um dos aspectos menos sexy da IA."},{t:"p",text:"E, no entanto, se você quiser colocar um sistema em produção, ele se torna indispensável."},{t:"p",text:"O seu agente acabou de produzir uma resposta ruim. Por quê? Foi:"},{t:"list",items:["o modelo?","o prompt?","o documento recuperado pelo RAG?","uma resposta ruim de uma ferramenta?","um problema de roteamento?","uma etapa anterior que errou?","uma informação presente na memória?","outro agente?"]},{t:"p",text:"Se o seu sistema consiste apenas em **pergunta â grande caixa-preta â resposta**, boa sorte."},{t:"p",text:"Um harness industrial deve, portanto, permitir também acompanhar o desenrolar do tratamento. Na SOCLE, buscamos justamente tornar as diferentes etapas observáveis."},{t:"list",items:["Qual agente foi chamado?","Qual ferramenta?","Qual documento?","Qual modelo?","Quanto tempo?","Em que ordem?"]},{t:"p",text:"Isso permite entender o que a sua IA realmente faz. Mas também medir o custo dela."},{t:"p",text:"Porque uma IA que faz você ganhar 3 minutos de trabalho consumindo 12 ⬠de computação a cada pedido talvez não seja o fantástico projeto de transformação digital anunciado no PowerPoint."},{t:"h2",text:"E a segurança nisso tudo?"},{t:"p",text:"Assim que você dá ferramentas a uma IA, a questão se torna evidentemente crÃtica."},{t:"p",text:"Um chatbot que alucina uma capital é chato. Um agente conectado ao seu sistema de informação que alucina uma ação é ligeiramente mais problemático."},{t:"p",text:"O harness deve, então, poder impor regras:"},{t:"list",items:["quais ferramentas são acessÃveis;","quais ações exigem validação;","quais dados podem ser transmitidos;","quantas ações podem ser realizadas;","quais usuários têm quais direitos;","quais resultados devem ser verificados."]},{t:"p",text:"Quanto mais a IA se torna capaz de agir, mais essa camada se torna importante."},{t:"p",text:'A segurança de um sistema agêntico não pode, portanto, repousar apenas sobre "pedimos gentilmente ao modelo, no prompt, para não fazer besteira."'},{t:"p",text:"Seria prático. Mas evitemos."},{t:"h2",text:"Afinal, onde está a inteligência?"},{t:"p",text:"Quando o ChatGPT surgiu, associamos naturalmente toda a inteligência que observávamos ao modelo. Era lógico."},{t:"p",text:"Mas, à medida que os nossos sistemas ficam mais complexos, a fronteira fica bem mais difusa."},{t:"p",text:"Uma parte do desempenho vem do modelo. Outra vem:"},{t:"list",items:["da qualidade das ferramentas;","do contexto que lhe é fornecido;","da memória;","do RAG;","do roteamento;","da orquestração;","dos ciclos de verificação;","dos outros modelos em volta dele."]},{t:"p",text:"O **sistema de IA** passa então a ser mais importante que o simples modelo. E essa é provavelmente a evolução mais interessante que observamos hoje."},{t:"p",text:'Passamos de "qual modelo você usa?" para **"que sistema você construiu em volta dos seus modelos?"**'},{t:"h2",text:"Em resumo"},{t:"callout",label:"SE VOCà Sà GUARDAR UMA COISA",text:"O modelo produz inteligência, o harness permite fazer dela algo útil."},{t:"p",text:"Ele traz a ele:"},{t:"list",items:["contexto;","documentos;","memória;","ferramentas;","regras;","uma capacidade de agir;","outros agentes;","mecanismos de controle;","observabilidade."]},{t:"p",text:"E, sobretudo, ele transforma uma simples chamada de modelo em um verdadeiro produto."},{t:"p",text:"à também por isso que na SOCLE trabalhamos antes de tudo nessa camada. O nosso objetivo não é
91criar o próximo modelo generalista: outras empresas já gastam alguns bilhões para isso ;)"},{t:"p",text:"O nosso trabalho consiste em permitir que as empresas construam, em torno desses modelos, sistemas utilizáveis: agentes, RAG, ferramentas compatÃveis com MCP, ecossistemas multi-agentes baseados em A2A, controle humano e acompanhamento das diferentes etapas."},{t:"p",text:"O modelo passa assim a ser uma peça intercambiável dentro de um sistema maior."},{t:"p",text:"E isso nos leva naturalmente ao próximo capÃtulo. Porque todo esse belo sistema â os agentes, as ferramentas, os modelos chamados em cascata â precisa rodar em algum lugar."},{t:"p",text:"Spoiler: **isso consome concreto, eletricidade e silÃcio.**"}]},{slug:"infrastructure-datacenters-et-silicium",number:5,title:"A infraestrutura: dos giga-datacenters ao silÃcio no seu bolso",updated:"2026-08-10",author:"Benjamin",readingMinutes:11,metaDescription:"A camada fÃsica da IA: porque um servidor em Paris não basta para escapar ao CLOUD Act, o que custam realmente a energia e a água de um datacenter de IA, para onde vão os milhares de milhões anunciados, e a viragem para a IA local.",lede:"Quando falamos de IA, imaginamos uma nuvem mágica a flutuar algures na web. Na realidade, é aço, betão, cobre, silÃcio ultrapuro, megawatts de eletricidade e milhões de litros de água. Vamos descer à s caves.",body:[{t:"p",text:"Quando falamos de IA, imaginamos muitas vezes um conceito abstrato, uma espécie de « nuvem mágica » que flutua na web e responde à s nossas perguntas. Na realidade, **a IA tem uma materialida
91de brutal**. à aço, betão, cobre, silÃcio ultrapuro, megawatts de eletricidade e milhões de litros de água."},{t:"p",text:"Neste capÃtulo, vamos descer à s caves da IA: ali onde a fÃsica, a geopolÃtica e o direito se chocam."},{t:"h2",text:"O paradoxo dos cloud providers: a geografia não faz o direito"},{t:"p",text:"Quando armazena os seus dados ou executa os seus modelos num dos gigantes da cloud, a primeira pergunta do seu responsável de segurança costuma ser: *« Onde estão os servidores? »* Se lhe responderem *« Em Paris ou em Frankfurt! »*, provavelmente pensa: *« Ainda bem, é na Europa, os meus dados estão protegidos pelo RGPD. »*"},{t:"p",text:"**E é aà que está a armadilha.**"},{t:"p",text:"à aquilo a que se chama o **paradoxo da soberania digital**: a localização fÃsica de um servidor não basta para proteger os seus dados, porque **a nacionalidade da empresa** que possui o datacenter sobrepõe-se à geografia."},{t:"list",items:["Se usa **AWS (Amazon), Azure (Microsoft) ou Google Cloud**, mesmo que o servidor fÃsico esteja em Marselha ou em Paris, essas empresas são americanas.","Estão, portanto, sujeitas à s leis extraterritoriais dos Estados Unidos, nomeadamente o **CLOUD Act** e a **secção 702 do FISA**.","Em bom português: a ordem de um juiz ou de uma agência de informações americana pode teoricamente obrigar a Microsoft ou a Amazon a facultar o acesso aos dados alojados nos seus servidores, **independentemente de o servidor estar em França**."]},{t:"p",text:"à por isso que a batalha das « clouds soberanas » está ao rubro. De um lado, os atores franceses e europeus (Scaleway, OVHcloud, Outscale, Hetzner) garantem proteção jurÃdica total face ao direito americano, mas lutam para reunir a capacidade de cálculo necessária. Do outro, os gigantes americanos investem milhares de milhões para tranquilizar o mercado com ofertas « soberanas » ou « de confiança »."},{t:"h2",text:"O custo monstruoso de um datacenter de IA"},{t:"p",text:"Construir um datacenter para IA generativa **nada tem a ver** com construir um datacenter clássico destinado a alojar sites. Um servidor tradicional consome alguns quilowatts por bastidor. Uma quinta de GPU de última geração concebida para IA consome **megawatts** à escala de um único edifÃcio."},{t:"h3",text:"â¡ A energia: a guerra dos gigawatts"},{t:"p",text:"As necessidades de eletricidade tornaram-se tão colossais que a Agência Internacional de Energia estima que o consumo dos datacenters possa duplicar até 2030. Para alimentar estas fábricas de cálculo, os gigantes da cloud assinam hoje contratos diretos com centrais nucleares, ou compram parques solares inteiros. **O acesso a uma energia abundante, estável e descarbonizada tornou-se o fator número 1** que decide onde será construÃdo um datacenter."},{t:"p",text:"E é por isso que a França é um paÃs bastante sério nestas matérias: o nuclear fornece-nos uma energia estável e descarbonizada, o que faz dela um terreno muito interessante para a criação de datacenters."},{t:"callout",label:"O QUE à O MIX ENERGÃTICO?",text:"O mix energético é a repartição das diferentes fontes de energia primária utilizadas por um paÃs para cobrir todas as suas necessidades: eletricidade, aquecimento, combustÃveis. à a « receita » de um território, que combina as energias fósseis (petróleo, gás natural, carvão), a energia nuclear e as renováveis (solar, eólica, hÃdrica, biomassa)."},{t:"p",text:"E a França não está nada mal: mais de **95 % da nossa eletricidade vem de fontes de baixo carbono**, das quais cerca de dois terços de nuclear. O que faz de nós um exportador lÃquido de eletricidade, ajudando os vizinhos a reduzir as suas próprias emissões. Comparemos, no mesmo perÃodo:"},{t:"diagram",name:"energyMix"},{t:"p",text:"Há duas coisas a ler neste gráfico. Primeiro, a Suécia faz ainda melhor do que nós, mas com uma produção total bem mais modesta e sobretudo muito dependente da energia hÃdrica. Depois, e é este o ponto que conta para um datacenter: a Alemanha e o Reino Unido investiram maciçamente na eólica e no solar, mas continuam com 19,9 % de carvão numa e 26,4 % de gás no outro. Uma eletricidade descarbonizada **e despachável**, disponÃvel de noite e sem vento, continua a
91ser um bem raro."},{t:"p",text:"à uma das razões pelas quais a Mistral assinou um contrato tão grande com a Microsoft em matéria de capacidade de cálculo. Faltava capacidade do lado da Microsoft e, portanto, havia uma oportunidade para uma empresa como a Mistral se tornar mais do que um criador de modelos: um fornecedor de serviço. Uns verão nisso uma posição estratégica muito hábil, outros uma « traição » à soberania, por acrescentar implicações americanas no nosso território. O que acontece quando o seu cliente monopolista lhe pede alguma coisa?"},{t:"p",text:"A realidade é mais complexa do que isso. Quem estava disposto a investir tanto em França ou na Europa? Como recusar a oportunidade de manter a mão, ainda que parcialmente, neste mercado? Estou a pensar escrever um artigo sobre estes temas estratégicos e o meu ponto de vista pessoal sobre o que seria preciso fazer. Não hesite em lembrar-mo se o assunto lhe interessar :)"},{t:"h3",text:"ð§ A água: o quebra-cabeças do arrefecimento"},{t:"p",text:"Outro problema: estes chips aquecem. **Imenso.** O arrefecimento a ar clássico, as grandes ventoinhas, já não chega para os chips de alta densidade. Os datacenters estão a mudar maciçamente para o **arrefecimento lÃquido** (*liquid cooling*), em que os fluidos circulam diretamente em contacto com os processadores."},{t:"p",text:"Mas isso exige infraestruturas complexas e, por vezes, volumes de água impressionantes para as torres de arrefecimento. Gerir o impacto ambiental dessa água tornou-se uma questão polÃtica de primeira ordem para as autarquias que acolhem estes centros."},{t:"p",text:"Tudo isto leva os cloud providers a melhorar o seu rendimento energético e os seus sistemas de arrefecimento, como o arrefecimento adiabático no datacenter Paris 2 da Scaleway. Alguns chegam a fornecer aos clientes ferramentas de cálculo do impacto ambiental. Porque sim, a IA consome muita energia e está hoje no centro das atenções: as empresas precisam do máximo de monitorização e de instrumentos de pilotagem para a sua estratég
91ia de sustentabilidade, mas também, simplesmente, para as suas despesas."},{t:"p",text:"Nem tudo é uma questão de tokens ;)"},{t:"h2",text:"O imposto do silÃcio: para onde vai realmente o dinheiro?"},{t:"p",text:"Quando um cloud provider gasta milhares de milhões a construir um datacenter de IA, na sua opinião, o que custa mais caro? As paredes? A eletricidade? A rede?"},{t:"p",text:"**Não. São os chips.**"},{t:"p",text:"Num datacenter otimizado para IA em muito grande escala, o material informático (as placas gráficas) custa **cerca de duas vezes mais do que o próprio edifÃcio**. Para um projeto de campus de 1 gigawatt, conte cerca de 10 mil milhões de dólares para a estrutura e a infraestrutura, e **20 mil milhões de dólares apenas para encher os bastidores com chips**."},{t:"callout",label:"A VISUALIZAR DE IMEDIATO",text:"Quando alguém, polÃtico ou industrial, anuncia 100 mil milhões de investimento num datacenter, a maioria desse dinheiro irá na realidade para a compra de chips. Chips que, ao contrário do edifÃcio, ficam obsoletos."},{t:"p",text:"Porquê tamanho desequilÃbrio? Simplesmente porque o mercado é dominado por um quase-monopólio: a **NVIDIA**. A empresa não se limita a vender um chip a dezenas de milhares de dólares cada, vende a arquitetura completa: o sistema de interligação ultrarrápido (*NVLink*) e a camada de software (*CUDA*) sobre a qual assentam quase todos os modelos de IA do planeta."},{t:"p",text:"Esta situação deu até origem a uma nova categoria de atores: as **neoclouds** (CoreWeave, Nebius, Lambda). Não são cloud providers generalistas, mas especialistas que fazem uma única coisa: comprar dezenas de milhares de GPU NVIDIA e alugá-las à hora à s empresas de IA."},{t:"p",text:"Quanto ao detalhe dos chips, falo disso no próximo capÃtulo. Um pouco de mistério é sempre bom para o manter atento ;)"},{t:"h2",text:"A grande tendência: a IA hÃbrida"},{t:"p",text:"Perante custos de infraestrutura demenciais, problemas de latência de rede e questões de confidencialidade, impõe-se uma pergunta: **estamos condenados a executar tudo em imensos datacenters distantes?** A resposta é **não**. Assistimos a uma viragem para a **IA local** (*on-device*)."},{t:"h3",text:"O reinado dos Small Language Models"},{t:"p",text:"A era do « cada vez maior » está a atingir os seus limites económicos. Percebeu-se que não era preciso um modelo gigante de 700 mil milhões de parâmetros alojado nos EUA para corrigir uma gralha ou resumir um e-mail profissional."},{t:"p",text:"Graças a modelos ultraotimizados e compactos (os **SLM**, *Small Language Models*, como as versões leves do Mistral, do Llama ou do Phi) e ao aparecimento de chips dedicados nos nossos aparelhos (as **NPU**, *Neural Processing Units*), a IA instala-se diretamente nos nossos smartphones e computadores: Copilot+ PCs, Apple Intelligence."},{t:"p",text:"O problema é que usar SLM exige muito mais trabalho de engenharia do que atirar tudo para um modelo grande. Daà a prática ainda não estar muito difundida."},{t:"h3",text:"O modelo hÃbrido: o bom compromisso"},{t:"p",text:"Há quem pense que o futuro da infraestrutura não será nem 100 % cloud nem 100 % local, mas **hÃbrido**:"},{t:"list",items:["**Em local, no seu telemóvel ou PC**: para 80 % das tarefas do dia a dia (preenchimento automático, retoque de imagem, pesquisa nos seus documentos). à instantâneo, gratuito em custos de API, funciona offline, e os seus dados **nunca** saem do aparelho.","**Na cloud**: para os 20 % de tarefas complexas que exigem raciocÃnio profundo, análise de terabytes de dados ou geração de vÃdeo pesada."]},{t:"p",text:"Hoje, o mercado parece de facto tender para esta abordagem, com uma percentagem menor do lado local. E vemos cada vez mais uma terceira via ganhar importância: a **cloud privada / on-premise**, o alojamento em servidores dentro da própria empresa, para as operações demasiado sensÃveis. à geralmente neste tipo de tema que tecnologias como o Socle AI se tornam mais do que um acelerador: uma passagem obrigatória, porque toda a infraestrutura de IA tem então de ser montada internamente e articulada para entregar valor."},{t:"h2",text:"O cloud provider: uma especialidade que não está só no betão"},{t:"p",text:"Desde o inÃcio falamos de paredes, de chips, de energia. Mas fazer servidores funcionarem entre si, mantê-los com todas as camadas de softw
91are próprias desse material, não é nada fácil. à uma especialidade precisa, a não subestimar: os bons devops, esses engenheiros resmungões em salas escuras, são de facto aqueles sem os quais nada funcionaria."},{t:"quote",text:"Um piloto de Rafale é impressionante. Mas deixa de o ser assim que o avião não descola, porque ninguém instalou nem manteve o reator."},{t:"p",text:"Isso também é o trabalho de um cloud provider: fornecer as ferramentas, os serviços e, portanto, a capacidade de interagir com esses recursos materiais. E cada um tem o seu posicionamento, da Outscale, o cloud provider da Dassault com reputação institucional, à Scaleway, o provider da moda que rapidamente ganhou dianteira nos temas de IA."},{t:"h2",text:"Em resumo"},{t:"p",text:"A infraestrutura é a fronteira fÃsica da IA. Lembra-nos que um simples clique em *« Gerar »* desencadeia uma cadeia logÃstica mundial: chips gravados em Taiwan, vendidos por uma empresa americana, instalados num datacenter arrefecido a água na Europa e alimentados por uma central elétrica local."},{t:"p",text:"Compreender esta camada é compreender **os verdadeiros custos, os verdadeiros limites ecológicos e os reais desafios de soberania** da inteligência artificial. E como tudo acaba sempre por voltar aos chips, vamos ver de mais perto quem os sabe fabricar."}]},{slug:"les-puces-le-nerf-de-la-guerre",number:6,title:"Os chips: o nervo da guerra",updated:"2026-08-10",author:"Benjamin",readingMinutes:22,metaDescription:"Os semicondutores e a questão da soberania: CPU, GPU, LPU, nós avançados, ASML, TSMC, por que o CUDA explica a dominação da NVIDIA, a ascensão dos chips chineses e o que falta à Europa.",lede:"ConstruÃmos data centers na França e colocamos dentro deles chips americanos para sermos soberanos.",body:[{t:"p",text:"Retomemos onde paramos no capÃtulo anterior: sabemos construir data centers. Falta saber o que colocamos dentro deles."},{t:"p",text:"O que são esses chips? Na verdade, os que fazem a IA funcionar estão entre os objetos mais avançados e mais complexos que a humanidade já conseguiu produzir. Você lê este artigo graças a um chip, o seu telefone funciona graças a um chip. E, para os antitecnologistas, boa parte dos equipamentos médicos que seriam usados se algo lhe acontecesse funciona com um chip. à a base da nossa tecnologia moderna."},{t:"h2",text:"O que é um chip eletrônico?"},{t:"p",text:"Os **chips eletrônicos** (ou **semicondutores**) são os componentes essenciais dos aparelhos eletrônicos modernos. São fabricados a partir do silÃcio, um material semicondutor, e contêm milhões, ou até bilhões, de transistores miniaturizados. Esses transistores são montados para executar funções precisas: os cálculos, o armazenamento de dados ou a gestão de periféricos."},{t:"image",src:"/images/articles/les-puces-a-quoi-servent.jpg",alt:"Esquema dos usos dos chips eletrônicos: IA, comunicação, saúde, defesa, eletrodomésticos, transporte.",caption:"PARA QUE SERVEM OS CHIPS ELETRÃNICOS?"},{t:"p",text:"Simplificando, **sem esses chips, dê adeus a todas as suas máquinas eletrônicas**: o seu videogame, o seu computador, um drone, o seu carro ou até a sua máquina de lavar. Eles estão em toda parte, de vários tipos, com nÃveis de complexidade muito diferentes conforme o uso. Aqui vamos nos concentrar nos dois mais populares do momento: as CPU e as GPU."},{t:"image",src:"/images/articles/les-puces-types.png",alt:"Comparação dos tipos de chips eletrônicos: CPU, GPU e os chips especializados ASIC, FPGA e NPU.",caption:"TIPOS DE CHIPS ELETRÃNICOS"},{t:"h3",text:"A CPU (Central Processing Unit)"},{t:"p",text:'A CPU é frequentemente descrita como o "cérebro" de um computador. As suas funções principais:'},{t:"list",items:["executar as instruções dos softwares e dos programas,","gerir os cálculos necessários para fazer um sistema informático funcionar,","coordenar as diferentes partes de um computador."]},{t:"p",text:"Do lado da estrutura, a CPU é dividida em vários **núcleos**, cada um capaz de processar instruções simultaneamente. Ela inclui unidades de cálculo chamadas ALU (*Arithmetic Logic Unit*) para as operações matemáticas e lógicas, e uma unidade de controle para orquestrar os fluxos de dados."},{t:"h3",text:"A GPU (Graphics Processing Unit)"},{t:"p",text:"A GPU é especializada em cálculos paralelos massivos, em especial os necessários à renderização gráfica. As suas funções principais:"},{t:"list",items:["gerir os cálculos ligados à exibição de imagens, vÃdeos e animações,","acelerar os cálculos complexos necessários aos videogames, aos softwares de design gráfico e à realidade virtual,","processar tarefas não gráficas que exigem cálculo paralelo: a inteligência artificial, a simulação cientÃfica ou a mineração de criptomoedas."]},{t:"p",text:"A sua estrutura é o inverso da CPU: um número muito grande de núcleos, individualmente menos potentes que os de um processador clássico. Ela é, portanto, excelente em executar simultaneamente um número enorme de pequenas tarefas."},{t:"h3",text:"Os outros tipos de chips"},{t:"list",items:["**ASIC** (*Application-Specific Integrated Circuit*): concebido para uma tarefa única, por exemplo em roteadores ou cartões bancários. Aà também estão as **NPU** (*Neural Processing Units*), especializadas em cálculos de inteligência artificial, e as **LPU** (*Language Processing Units*), pensadas para o uso de LLM.","**FPGA** (
91*Field-Programmable Gate Array*): um chip reprogramável depois de fabricado, para usos especÃficos."]},{t:"p",text:'Com a chegada dos LLM, o público se concentrou amplamente nas GPU, que viraram "as placas para fazer IA" (com a gigante NVIDIA por trás). Mas não se pode esquecer que **as GPU foram historicamente concebidas para processamento gráfico**. Há pouco tempo, novos atores passaram a destacar arquiteturas mais bem pensadas para a inteligência artificial: falamos então de LPU, IPU, NPU. Um deles merece o desvio: a **Groq** (não a IA Grok, de Elon Musk, mas Groq com q ;) ). Voltarei a isso mais abaixo.'},{t:"p",text:"Você vai entender que é, portanto, indispensável para um paÃs ser capaz de se abastecer de chips eletrônicos. Sem isso, impossÃvel fazer funcionar as nossas fábricas, os nossos equipamentos médicos, as nossas armas. Esse material é quase tão importante quanto **a energia ou a agricultura**. E essa dependência pode afetar indiretamente as nossas indústrias, e até as nossas decisões polÃticas, como mostrou a questão ligada à regulamentação ITAR."},{t:"link",href:"https://en.wikipedia.org/wiki/International_Traffic_in_Arms_Regulations",label:"A regulamentação ITAR",note:"Wikipédia, em inglês"},{t:"image",src:"/images/articles/les-puces-ligne-production.png",alt:"Cadeia de produção de um chip: equipamento industrial e matérias-primas alimentam as fundições, que produzem os chips desenhados pelos arquitetos.",caption:"LINHA DE PRODUÃÃO DOS CHIPS ELETRÃNICOS"},{t:"h2",text:"De que são feitos esses chips?"},{t:"p",text:"Da mesma forma que são necessários materiais para construir uma turbina eólica, ou urânio para uma usina, esses chips precisam de matérias bem especÃficas. Aqui está uma lista necessariamente não exaustiva, mas que mostra o essencial:"},{t:"list",items:['**O silÃcio**, o material de base dos transistores. Purificado até 99,9999999 % (o "grau eletrônico"), ele é transformado em *wafers*, aqueles discos sobre os quais os circuitos são gravados.',"**Os metais condutores**: cobre para as interconexões, ouro para as conexões crÃticas, tungstênio, alumÃnio, nÃquel, cobalto e molibdênio para certas ligas e camadas protetoras.",'**Os dopantes**, que modificam as propriedades do silÃcio: fósforo e arsênio (tipo N, que acrescentam elétrons livres), boro (tipo P, que cria "lacunas").',"**Os isolantes**: dióxido de silÃcio e óxido de háfnio nos processadores modernos, para melhorar os transistores reduzindo o consumo.","**Os materiais de dissipação térmica**: carbeto de silÃcio, grafite e grafeno, cerâmicas.","**Os substratos e encapsulamentos**: epóxi reforçado com fibra de vidro (FR-4), ligas de cobre e alumÃnio, plásticos e polÃmeros."]},{t:"image",src:"/images/articles/les-puces-composition.png",alt:"Esquema da composição de um chip e dos principais paÃses exportadores de cada material.",caption:"COMPOSIÃÃO E PRINCIPAIS FORNECEDORES / EXPORTADORES"},{t:"p",text:"O que se vê quando se olham os paÃses exportadores dessas matérias é a **preponderância da China**. Com menção especial à Indonésia, à RDC, à Turquia e ao Peru, primeiros em certos materiais. Ainda que esses dados tratem das exportações globais, portanto úteis a muitas outras coisas além dos chips, entende-se rapidamente **a importância de certas rotas marÃtimas**."},{t:"p",text:'Existem, portanto, formas de "monopólio" sobre materiais necessários à concepção dos chips, o que complica a logÃstica e pesa nas relações entre paÃses: as discussões sobre tarifas entre a China e os Estados Unidos são a ilustração permanente disso. Note-se, de passagem, que as reservas de certos paÃses não são exploradas â na França, por exemplo, por o impacto ambiental das minas ser considerado grande demais ou caro demais para reduzir.'},{t:"h2",text:"A importância dos nós avançados"},{t:"p",text:"Existem várias etapas de concepção entre essas matérias-primas e o chip acabado. Mas uma das variáveis apresentadas como determinantes é a noção de **nós avançados**. Vej
91a isso como a deposição de uma camada muito fina de metal em um circuito, que vai conduzir a eletricidade."},{t:"p",text:"O uso de nós avançados (os processos de 7 nm, 5 nm, 3 nm e em breve 2 nm) tem impacto importante sobre o **desempenho**, o **consumo de energia**, o **custo** e a **complexidade de concepção**. Existem outros nós, mais espessos: nós intermediários e nós antigos. Alguns são amplamente suficientes para fazer a sua máquina de lavar funcionar. Tudo depende da necessidade e do consumo esperado."},{t:"image",src:"/images/articles/les-puces-noeuds-avances.png",alt:"Comparação dos tamanhos de nós: espessura de um fio de cabelo (17 000 nm), nós antigos (22 nm), intermediários (7 nm) e avançados (5 nm, 2 nm).",caption:"OS DIFERENTES TAMANHOS DE UM Nà AVANÃADO"},{t:"p",text:"Tomemos um exemplo menos divertido. No conflito ucraniano, o uso de drones é onipresente. No inÃcio pilotados 100 % por humanos, vemos agora drones capazes de mirar e manter a trajetória apesar do bloqueio de sinal. Para fazer um drone voar, nenhuma necessidade estratégica de nós avançados. Para colocar nele processamento de imagem ou sistemas de defesa aérea, aà entramos nesse terreno. E otimizar a necessidade energética dessa tarefa permite ganhar tempo de voo sem mexer nos outros componentes."},{t:"p",text:"Guarde que um nó menor permite integrar mais transistores no mesmo espaço, portanto mais potência em condições iguais. Não vou entrar no detalhe dos problemas que isso cria na gestão do calor ou nas correntes de fuga, mas tenha em mente que um nó mais fino oferece mais possibilidades de arquitetura e melhor rendimento."},{t:"p",text:"Mas por que insistir tanto nos nós? Porque existe **um monopólio mundial** sobre as máquinas capazes de gravar os nós mais finos, aqueles indispensáveis à inteligência artificial. E essa empresa é europeia: a **ASML**."},{t:"link",href:"https://youtu.be/tgfVAZT5EeE",label:"Um vÃdeo de Yvan Casta (Au CEO) que mostra a complexidade desse domÃnio, sendo ao mesmo tempo muito divertido ;)",note:"YouTube, em francês"},{t:"h2",text:"O caso ASML"},{t:"p",text:"Na criação de chips, há uma gigante, a **TSMC**, em Taiwan. Mas atrás dessa gigante existe uma empresa sem a qual nada disso seria possÃvel: a ASML. Ela constrói as máquinas de **litografia EUV**, um método que usa comprimentos de onda ultravioleta extremamente curtos para gravar padrões nos wafers de silÃcio, tornando possÃvel a miniaturização dos circuitos."},{t:"image",src:"/images/articles/les-puces-asml.png",alt:"O caso ASML: empresa sediada nos PaÃses Baixos, capitalização de 271 bilhões de euros, única a fornecer máquinas capazes de atingir 2 nm, por mais de 150 milhões de euros a unidade.",caption:"O CASO ASML"},{t:"p",text:"à preciso entender que **a ASML vende cada máquina por um custo que ultrapassa os 150 milhões de euros**. à de longe a joia da indústria neerlandesa, e o seu presidente é, orgulho nacional à parte, francês: Christophe Fouquet. A sua importância é tal nos PaÃses Baixos que influencia o debate polÃtico do paÃs."},{t:"link",href:"https://www.lecho.be/entreprises/semi-conducteurs/panique-au-gouvernement-neerlandais-asml-menace-de-quitter-le-pays/10531541.html",label:"Pânico no governo neerlandês: a ASML ameaça deixar o paÃs",note:"L'Ãcho, em francês"},{t:"p",text:"Essa empresa é claramente **chave para o soft power europeu**, e seria indispensável levá-la em conta em qualquer estratégia que vise produzir chips de última geração por aqui."},{t:"h2",text:"As fundições"},{t:"p",text:"As **fundições** (*foundries*) são as empresas especializadas na fabricação dos chips concebidos pelos arquitetos (Apple, NVIDIA etc.). Elas dominam processos de fabricação em escala nanométrica. Aqui nos interessam as fundições de ponta, as que sabem descer aos nós mais finos, hoje indispensáveis à s novas tecnologias."},{t:"image",src:"/images/articles/les-puces-fonderies.png",alt:"Participações de mercado das fundições de semicondutores: TSMC cerca de 59 %, Samsung cerca de 17 %, Intel menos de 17 %.",caption:"FUNDIÃÃES DE SEMICONDUTORES"},{t:"p",text:"à difÃcil obter estatÃsticas perfeitamente confiáveis nesse segmento especÃfico, já que a maior parte dos dados é global. Mas a dominação do mercado por três atores, **TSMC, Samsung e Intel**, é inegável, com a TSMC bem acima do resto."},{t:"p",text:"Verdadeiro tema geopolÃtico há oito anos, com a chegada das cripto, depois a covid e agora a IA, o mercado de chips sofre uma real tensão mundial. E existe um verdadeiro **gargalo** em torno dos chips de nós avançados, localizado principalmente em Taiwan. Aliás, Taiwan usa esse instrumento industrial
91como defesa diante da China."},{t:"list",items:["os **Estados Unidos** buscam reduzir a sua dependência da TSMC criando capacidade de produção no próprio território,","a **Alemanha** lançou uma fundição com investimento de 10 bilhões de euros (5 da TSMC, 5 de financiamento público) para abrir em 2027,","o **Japão** criou a **Rapidus**, apoiada pelo governo e por oito grandes grupos japoneses (Toyota, NTT, Sony, NEC, SoftBank, Denso, Kioxia e MUFG Bank), para recolocar o paÃs na corrida dos semicondutores avançados. E que compra os seus equipamentos na⦠ASML!"]},{t:"callout",label:"UM VERDADEIRO TEMA DE SOBERANIA",text:"Ter, no mÃnimo, um produtor de chips eletrônicos no próprio território (Estados Unidos, Alemanha) e, no máximo, uma empresa nacional (Japão)."},{t:"h2",text:"Os arquitetos de chips"},{t:"p",text:"Um **arquiteto de chips** (ou arquiteto de circuitos integrados) é quem concebe e planeja a estrutura global do semicondutor. Ele não o fabrica: ele o desenha e depois confia a produção a uma fundição."},{t:"h3",text:"Arquitetos de CPU"},{t:"image",src:"/images/articles/les-puces-architectes-cpu.png",alt:"Participações de mercado dos arquitetos de CPU no mercado de servidores: Intel 58 %, AMD 38 %, Apple 2 %, Qualcomm 0,2 %.",caption:"ARQUITETOS DE CPU"},{t:"p",text:"Concentrei-me aqui no mercado de servidores, mas entenda que existem mercados diferentes para o mobile e para os computadores pessoais. Nos servidores, a liderança é dividida entre **Intel (cerca de 58 %)** e **AMD (cerca de 38 %)**, bem à frente de Apple e Qualcomm."},{t:"link",href:"https://www.cpubenchmark.net/market_share.html",label:"As participações de mercado de CPU",note:"cpubenchmark.net, em inglês"},{t:"h3",text:"Arquitetos de GPU"},{t:"image",src:"/images/articles/les-puces-architectes-gpu.png",alt:"Participações de mercado dos arquitetos de GPU: NVIDIA 80 %, AMD 15 %, Intel 5 %.",caption:"ARQUITETOS DE GPU"},{t:"p",text:"Nesse mercado, nenhuma dúvida possÃvel sobre a predominância da NVIDIA."},{t:"h2",text:"Mas afinal, por que a NVIDIA?"},{t:"p",text:'80 % do mercado é esmagador. E a resposta que vem espontaneamente é "porque eles fazem os melhores chips". à verdade. Não é suficiente. A AMD sabe fazer chips muito bons, a Intel tem meios colossais, o Google concebe as suas próprias TPU há uns dez anos. Se o hardware sozinho bastasse, esse mercado seria muito mais disputado.'},{t:"p",text:"A verdadeira vantagem da NVIDIA não está no silÃcio. Está no software. E tem um nome: **CUDA**."},{t:"h3",text:"A aposta de quinze anos"},{t:"p",text:"Voltemos ao inÃcio dos anos 2000. Naquela época, uma GPU sabe fazer uma coisa: exibir pixels. Um pesquisador que quisesse desviar essa capacidade de cálculo para outra coisa, simular um fluido por exemplo, tinha de disfarçar o seu cálculo de imagem. Literalmente: transformar as suas equações em texturas e triângulos para que a placa aceitasse processá-las, e depois reler os resultados nos pixels de saÃda. à possÃvel. à atroz. Quase ninguém fazia isso."},{t:"p",text:"Em 2006, a NVIDIA apresenta o **CUDA** (*Compute Unified Device Architecture*). O princÃpio: escrever código quase normal, em C, que roda diretamente na GPU. Fim do disfarce: a placa gráfica vira um acelerador de cálculo genérico."},{t:"p",text:"Mas o verdadeiro golpe de gênio não é técnico, é comercial: a NVIDIA disponibiliza o CUDA em **todas** as suas placas. Inclusive na GeForce de 200 ⬠do jogador de fim de semana, e não apenas no hardware profissional carÃssimo. Da noite para o dia, qualquer estudante, em qualquer laboratório do mundo, já tinha em casa uma máquina capaz de fazer cálculo massivamente paralelo. Isso custou muito caro, por muito tempo: durante anos, analistas perguntaram a Jensen Huang por que a sua empresa de placas gráficas para gamers queimava tanto dinheiro em pesquisa de software, para um mercado que não existia."},{t:"h3",text:"2012: o mercado existe"},{t:"p",text:"Naquele ano, três pesquisadores, Alex Krizhevsky, Ilya Sutskever e Geoffrey Hinton, pulverizam o concurso de reconhecimento de imagens ImageNet com uma rede neural batizada de **AlexNet**. Treinada em duas placas GeForce GTX 580. Placas de gamer. Com CUDA."},{t:"p",text:"à o big bang do deep learning moderno, e ele acontece em hardware NVIDIA, com ferramentas NVIDIA, porque a NVIDIA foi a única a ter colocado essas ferramentas nas mãos dos pesquisadores seis anos antes."},{t:"h3",text:"O fosso"},{t:"p",text:"Desde então, a empresa nunca parou de empilhar. Acima do CUDA: cuDNN (os blocos de cálculo das redes neurais), NCCL (para fazer milhares de GPU dialogarem entre si), TensorRT (para acelerar a execução dos modelos). E acima de tudo isso, o **PyTorch**, o framework usado pela quase totalidade dos pesquisadores e engenheiros de IA do planeta, e que, quando você lhe pede uma multiplicação de matrizes, acaba chamando código NVIDIA."},{t:"p",text:"à o que se chama de *moat*, um fosso: quase vinte anos de softw
91are, milhões de linhas de código, centenas de milhares de desenvolvedores formados, documentação, tutoriais e respostas no Stack Overflow à s três da manhã. Um concorrente pode lançar amanhã um chip mais rápido e mais barato: se o seu código levar seis meses para ser portado e depois rodar 30 % mais devagar por falta de otimizações, você não vai comprá-lo. à exatamente o muro contra o qual a AMD esbarra há anos, cujo equivalente, o ROCm, é regularmente descrito como funcional, porém doloroso."},{t:"p",text:"E a NVIDIA alargou o fosso bem além do chip. Ao comprar a Mellanox por volta de 2020, ela adquiriu a rede que conecta os servidores entre si. Hoje ela não vende mais bem uma placa: ela vende um rack inteiro, GPU, rede, software e ferramentas inclusos. A trava não está mais no nÃvel do componente, está no nÃvel do sistema."},{t:"callout",label:"O QUE à PRECISO GUARDAR",text:"A NVIDIA não vende um chip, ela vende uma plataforma. Conceber um concorrente da GPU é talvez 20 % do problema. Os 80 % restantes são as ferramentas, as bibliotecas e os desenvolvedores que sabem usá-las. Toda estratégia de soberania em chips de IA que esqueça essa linha do orçamento está morta antes de começar."},{t:"h3",text:"A brecha"},{t:"p",text:"Uma boa notÃcia, mesmo assim, e ela é essencial para o que vem a seguir: o fosso está sendo preenchido por cima. Hoje um pesquisador quase nunca escreve CUDA à m
91ão, ele escreve PyTorch. Ora, o PyTorch é uma camada de abstração: se alguém fizer o esforço de conectá-lo corretamente a outro hardware, o código do usuário não muda. à um trabalho enorme, ingrato e invisÃvel. Mas é um trabalho *finito*, ao passo que recuperar vinte anos de ecossistema à mão seria infinito."},{t:"p",text:"à por essa brecha que passam os novos entrantes. E é também por aà que passou a China."},{t:"h2",text:"A ascensão de novos chips"},{t:"p",text:"As grandes empresas de tecnologia agora se lançam nos próprios chips, sobretudo para IA: a Meta com a sua MTIA, ou a AWS com os seus chips Trainium. Não se pode esquecer que as GPU não foram inicialmente pensadas para fazer IA. Um dos atores que se destacou bem cedo é a **Groq**, criadora de LPU para otimizar o uso dos LLM. Para medir o que está em jogo com esse tipo de chip: a Groq captou 640 milhões de dólares junto à BlackRock, à Cisco e à Samsung, entre outras."},{t:"p",text:"De modo geral, as gigantes que todo mundo tenta enfrentar são: a **TSMC** nas fundições, a **NVIDIA** nas GPU e a **Intel** nas CPU."},{t:"h2",text:"A ascensão dos chips chineses"},{t:"p",text:"Se você quer saber o que dá concretamente uma estratégia de soberania em semicondutores, existe um laboratório a céu aberto: a China. Com a ressalva de que ela não escolheu exatamente entrar nele."},{t:"p",text:"A partir de outubro de 2022, os Estados Unidos proÃbem a exportação para a China dos chips de IA mais performáticos, os A100 e H100 da NVIDIA. E cada vez que a NVIDIA concebe uma versão limitada para ficar dentro das regras (A800, H800, depois H20), Washington aperta o parafuso. O objetivo declarado: manter vários anos de vantagem no cálculo."},{t:"p",text:"O resultado é mais ambÃguo. Privadas de fornecedor, as empresas chinesas não pararam de fazer IA: elas foram obrigadas a comprar chinês. As sanções ofereceram, portanto, à indústria doméstica exatamente o que falta mais cruelmente à Europa: **um mercado interno cativo, enorme e solvente**."},{t:"h3",text:"Gravar sem a ASML"},{t:"p",text:"Lembre-se do que dissemos sobre a ASML: sem máquina de litografia EUV, não há nó avançado. A China não tem acesso a elas, já que os PaÃses Baixos bloquearam essas exportações sob pressão americana."},{t:"p",text:"Mesmo assim, ela produziu 7 nm. A fundição **SMIC** consegue isso multiplicando as passagens com as antigas máquinas DUV: em vez de gravar o padrão fino de uma só vez, ele é decomposto em várias exposições sucessivas. Funciona. à mais lento, mais caro e, sobretudo, muito menos confiável. As taxas de rendimento dos chips Ascend da Huawei foram por muito tempo estimadas entre 20 e 40 %, enquanto uma fundição de ponta gira em 80-90 %. Tradução: a cada dez chips gravados, seis a oito vão para o lixo."},{t:"p",text:"Então sim, dá para passar sem a ASML. Mas paga-se por isso em dinheiro, em capacidade e em tempo, o que confirma, de passagem, o quanto essa empresa europeia é um ativo estratég
91ico que subestimamos."},{t:"h3",text:"A resposta pela força bruta"},{t:"p",text:"Como um chip chinês vale menos que um chip NVIDIA, a Huawei fez uma escolha assumida: colocar muito mais deles. O seu sistema CloudMatrix, apresentado em 2025, amontoa 384 aceleradores Ascend em um rack, ali onde o equivalente NVIDIA alinha 72. Resultado: o sistema chinês entrega mais potência bruta que o seu concorrente americano. Ele também consome cerca de quatro vezes mais eletricidade. Na Europa isso seria proibitivo e não faria sentido, já que a ASML é europeia. Na China, é uma vontade ao mesmo tempo industrial e polÃtica que lhes dá esse tipo de meio; para eles, é uma arbitragem perfeitamente racional."},{t:"callout",label:"UMA LIÃÃO PARA NÃS",text:"A capacidade de cálculo é tanto um problema de energia quanto de silÃcio. A China, privada da ASML, só pode compensar multiplicando os chips â ao preço de cerca de quatro vezes mais eletricidade. **A Europa, por sua vez, dispõe das duas alavancas ao mesmo tempo**: a ASML no seu território, portanto o acesso à gravação mais fina, e uma matriz elétrica descarbonizada e controlável do lado francês, portanto com o que alimentar o cálculo. Somos o único conjunto a reunir esses dois trunfos. Resta não desperdiçá-los: conservar a nossa soberania sobre a ASML e construir o resto da cadeia de valor."},{t:"h3",text:"O verdadeiro gargalo: a memória"},{t:"p",text:"Detalhe que tem a sua importância e que quase sempre se esquece: o que limita hoje a produção chinesa de chips de IA não é mais a gravação, é a **HBM** (*High Bandwidth Memory*), aquela memória ultrarrápida empilhada bem ao lado do processador, e sem a qual um acelerador de IA é um motor sem combustÃvel. A SMIC seria capaz de produzir o suficiente para mais de um milhão de chips por ano, enquanto as capacidades chinesas em HBM limitariam a produção a algumas centenas de milhares. Ela também está sob embargo desde o fim de 2024, e é dominada por um trio coreano-americano: SK hynix, Samsung e Micron."},{t:"h3",text:"E o fosso do CUDA?"},{t:"p",text:"A Huawei identificou perfeitamente o problema de que falei acima. Diante do CUDA, ela construiu o **CANN**, a sua própria camada de software, e o **MindSpore**, o seu equivalente do PyTorch. E, sobretudo, anunciou em 2025 a abertura do código do CANN: quando se está atrasado em um ecossistema, o open source é a única alavanca conhecida para atrair desenvolvedores que não se pode pagar."},{t:"p",text:"O resultado apareceu em abril de 2026, com o **DeepSeek V4**, **pós-treinado** em chips Huawei Ascend, via CANN. A nuance tem a sua importância: o pré-treinamento, de longe a fase mais pesada, não está em causa. Mas o sinal continua considerável: uma etapa inteira do ciclo de vida de um modelo de ponta se desenrolou fora do ecossistema NVIDIA. O fosso de software tido como intransponÃvel acaba de ser aberto. Não há, portanto, fatalidade, apenas um custo de entrada."},{t:"link",href:"https://www.tomshardware.com/tech-industry/artificial-intelligence/huawei-led-team-claims-it-post-trained-deepseeks-1-6-trillion-parameter-models-on-ascend-910c-chips",label:"DeepSeek V4 pós-treinado em chips Ascend",note:"Tom's Hardware, em inglês"},{t:"h3",text:"A virada"},{t:"p",text:"Enquanto isso, a participação de mercado da NVIDIA na China desabou. A novela do H20 resume sozinha o absurdo da situação: um chip limitado para respeitar as regras americanas, proibido em abril de 2025 (quase 4,5 bilhões de dólares lançados como prejuÃzo na NVIDIA), reautorizado em julho, e depois preterido por Pequim, que discretamente desaconselhou as suas empresas a comprá-lo por razões de segurança. Ele nunca foi realmente vendido."},{t:"p",text:"Desde janeiro de 2026, Washington voltou a entreabrir a porta com uma análise caso a caso dos H200, enquanto o Congresso tenta, ao contrário, trancá-la. Mas o fato notável está em outro lugar: não é mais apenas a América que se recusa a vender, é agora a China que começa a se recusar a comprar. E a Huawei não está sozinha: Cambricon, Biren, Moore Threads, Hygon, sem c
91ontar os chips próprios da Alibaba e da Baidu. O ecossistema existe agora de ponta a ponta da cadeia."},{t:"h3",text:"O que isso nos diz"},{t:"list",items:["**A barreira tecnológica é transponÃvel.** Não de graça, não rapidamente, mas transponÃvel, inclusive a barreira de software, por muito tempo considerada a verdadeira trava.","**O que tornou isso possÃvel cabe em três ingredientes**, e nenhum deles é o gênio: um mercado interno cativo, uma coordenação Estado-indústria mantida ao longo de uma década, e uma restrição externa que proibia o status quo. A Europa tem a terceira, ao menos potencialmente. Faltam-lhe as duas primeiras.","**A vantagem americana é real, mas não é mais uma renda.** Ela se apoia em um ecossistema de software. E um ecossistema de software se contorna."]},{t:"p",text:'Então, se a China consegue sob embargo, a verdadeira pergunta não é mais "a Europa é capaz?", mas "o que nos impede?".'},{t:"h2",text:"E a indústria francesa e europeia?"},{t:"image",src:"/images/articles/les-puces-acteurs-francais.jpg",alt:"Os atores franceses dos semicondutores: STMicroelectronics, Soitec, CEA-Leti e Kalray.",caption:"ATORES FRANCESES"},{t:"p",text:"De modo geral, a França, mas sobretudo a Europa, possui a base para todas as etapas que acabo de descrever, mas há trabalho⦠muito trabalho. Sem voltar à ASML, temos projetistas de chips especializados como a **Kalray**, fabricantes como a **STMicroelectronics** (embora a sua sede social fique na SuÃça), fornecedores de materiais como a **Soitec**, e até centros de pesquisa como o **CEA-Leti** em Grenoble (cf. o vÃdeo de Yvan Casta compartilhado acima)."},{t:"list",items:["**STMicroelectronics**: fabricante franco-italiana, especializada em chips para automotivo, eletrônica industrial e IoT. Produz em tecnologias maduras (28 nm, 40 nm) em Crolles, perto de Grenoble, em wafers de 300 mm. Ainda assim, estamos muito longe do que a IA exige.","**Soitec**: sediada em Bernin, fornecedora de substratos de silÃcio sobre isolante (SOI), usados em smartphones, 5G e automotivo. Trabalha com TSMC, Samsung e GlobalFoundries.","**CEA-Leti**: centro de pesquisa aplicada em Grenoble, conhecido pelos seus trabalhos sobre transistores 3D, litografia EUV e integração heterogênea.","**Kalray**: projetista de processadores para aplicações crÃticas, com os seus MPPA (*Massively Parallel Processor Array*). Como a NVIDIA, a Kalray não fabrica os seus chips."]},{t:"p",text:"De modo geral, as nossas expertises não vão tão longe quanto as dos nossos homólogos americanos e chineses, que tiveram de aprender a toda velocidade. Mas é precisamente por isso que ainda temos cartas a jogar."},{t:"p",text:"Algumas empresas deveriam atrair a nossa atenção, por exemplo:"},{t:"list",items:["**VSora**: eles concebem aceleradores de hardware dedicados à inferência de IA nos data centers. Ã, portanto, bem mais diretamente comparável à NVIDIA ou à AMD do que a SiPearl. Novidade bem recente: em julho de 2026, a Ardian Semiconductor adquiriu participação minoritária na VSORA para acelerar a sua estratég
91ia comercial.","**SiPearl**: projetista de chips, claro, com o seu RHEA1 â uma CPU de alto desempenho, não uma GPU (e fabricada pela TSMC).","**Axelera AI** e **Innatera**: duas empresas neerlandesas interessantes. Sente-se ali a proximidade com a ASML."]},{t:"link",href:"https://www.ardian.com/news-insights/press-releases/ardian-semiconductor-invests-vsora-innovative-ai-inference-accelerator",label:"A Ardian Semiconductor investe na VSORA",note:"Comunicado Ardian, julho de 2026, em inglês"},{t:"p",text:"Não se pode esquecer outro ator europeu importante: a **ARM**. Essa empresa britânica é especializada na concepção de arquiteturas de processadores, mas foi **comprada em 2016 pelo SoftBank (japonês) por 32 bilhões de dólares**. Ao contrário da Intel ou da AMD, a ARM não produz hardware: ela concebe e licencia. A sua arquitetura é hoje principalmente usada nos formatos móveis, o que explica a presença de Samsung, Qualcomm ou Apple entre os seus clientes. Se você tem um Mac com chip M1 ou M2, parabéns: você está em uma arquitetura ARM!"},{t:"p",text:"Para medir a sua importância estratégica: a compra da ARM pela NVIDIA, por 66 bilhões de dólares, foi bloqueada pelos reguladores. E as questões energéticas em torno dos chips fazem com que a NVIDIA planeje, apesar de tudo, adotar essa arquitetura para os seus PCs."},{t:"h2",text:"O que concluir?"},{t:"p",text:"*Vou lhe dar o meu ponto de vista com as informações que tenho em mãos. O objetivo deste artigo é sobretudo, para mim, colocar no papel o que me passa pela cabeça há muitos anos. Mas convido você a reagir e a trazer informações, para que possamos aprofundar o tema juntos :)*"},{t:"callout",label:"A LINHA DIRETRIZ",text:"A Europa não deve tentar reproduzir a integralidade da cadeia de valor americana ou asiática. Ela deve identificar os blocos cujo saber-fazer precisa absolutamente dominar, aqueles em que pode se tornar indispensável, e aqueles para os quais uma ruptura de abastecimento constituiria um risco estratégico."},{t:"p",text:"Vimos que é preciso uma multidão de atores para produzir um chip: o arquiteto, a fundição, à s vezes licenças. Os chips estão em toda parte, mas uma das questões estratégicas que provavelmente ganhará mais importância nos próximos anos é a dos **chips dedicados à inteligência artificial**. A pergunta a se fazer é, portanto: qual estratégia de longo prazo implementar para as nossas necessidades estratégicas futuras?"},{t:"p",text:'à primeira vista, três estratégias parecem "evidentes":'},{t:"list",ordered:!0,items:["**A estratégia alemã**, trazer empresas estrangeiras para o seu solo, com a TSMC. Ela permite se beneficiar do conhecimento de empresas jÃ
91¡ existentes, mas é o modelo mais frágil diante de decisões de terceiros, e nos deixa dependentes de questões de licença. Atenção, porém: hoje parece que se fala de nós de 12 nanômetros no máximo de finura, o que continua longe dos 2 nm de que falávamos antes.","**A estratégia japonesa**, criar uma estrutura do zero no seu solo, com a Rapidus. A vantagem: um campeão nacional. A desvantagem: o preço, o tempo e o risco, para uma entrada em operação apenas em 2027, e em um paÃs que tem um forte histórico industrial.","**A estratégia de reforçar um ator existente**, via ajuda nacional ou europeia. Ela se defende e continua possÃvel, mas os mecanismos europeus impõem justificar precisamente o interesse estratégico do investimento e, sobretudo, tornam difÃcil concentrar meios em um único ator nacional. E um candidato que eu via como possÃvel não está mais sediado em um paÃs da UE, o que limita ainda mais as possibilidades."]},{t:"link",href:"https://digital-strategy.ec.europa.eu/en/news/commission-approves-eu5-billion-german-state-aid-measure-support-esmc-setting-new-semiconductor",label:"A Comissão aprova 5 bilhões de ajuda estatal alemã para a fábrica ESMC",note:"Comissão Europeia, em inglês"},{t:"p",text:"Mas antes de escolher uma estratégia, talvez seja preciso definir o que entendemos por soberania."},{t:"callout",label:"O QUE EU ENTENDO POR SOBERANIA",text:"A soberania não significa produzir tudo nós mesmos. Ela significa **nunca ser incapaz de produzir, substituir ou contornar um bloco crÃtico**."},{t:"p",text:"à uma distinção importante. Uma Europa soberana não precisa necessariamente fabricar cada wafer no seu território, assim como não precisa construir sozinha cada máquina usada em uma fundição. Em contrapartida, ela deve saber identificar as dependências cuja ruptura poderia colocar em risco a sua indústria, a sua defesa ou as suas infraestruturas crÃticas, e dispor de uma alternativa crÃvel quando o risco se tornar grande demais."},{t:"p",text:"à a partir dessa definição que eu gostaria de dar um passo ao lado."},{t:"h3",text:"Dar um passo ao lado"},{t:"p",text:'Como quem me conhece deve desconfiar, se falo dessas três estratégias "evidentes", é para falar daquela que me parece a mais inteligente: **dar um passo ao lado** em relação à estratégia japonesa. Voltemos a algumas constatações.'},{t:"list",items:["**A Europa tem as capacidades intelectuais.** Sem chauvinismo, há muitos engenheiros europeus nas indústrias de ponta, e sofremos particularmente com a fuga de cérebros. Não vejamos isso como uma fatalidade, mas como uma oportunidade, como perceberam os fundadores da Mistral ou da Kyutai. No campo dos chips, lembremos que o Cortex-A9 da ARM, que equipava os primeiros iPhones, foi concebido em Sophia-Antipolis.","**Já sabemos produzir certos tipos de chips** graças à s empresas presentes no território. O desafio principal está nas tecnologias estratégicas de amanhã, cuja joia é a IA.","**A finura de gravação é apenas uma variável** entre as que determinam o desempenho de um chip."]},{t:"quote",text:"Veja a IA como um parafuso que você quer apertar para montar o seu móvel da IKEA. A sua GPU é um martelo cujo desempenho tentamos melhorar, quando o que você queria era uma simples chave de fenda."},{t:"p",text:'à a aposta das empresas do momento, amplamente vendida pela Groq na sua criação: "uma arquitetura especializada pode compensar parte da desvantagem ligada a um nó de gravação menos avançado", assim como o interesse pela arquitetura ARM.'},{t:"p",text:"Você vê, então, aonde quero chegar. Honestamente, eu teria gostado que em algum momento a Groq se lançasse ela mesma na produção dos seus chips, e que buscássemos produzi-los na Europa. O fato de isso não ter acontecido é, aliás, uma razão a explorar para o que considero uma boa ideia: **fazer uma nova Mistral nos semicondutores da IA**."},{t:"image",src:"/images/articles/les-puces-pas-de-cote.png",alt:"Esquema da estratégia proposta: mirar a soberania na IA concentrando-se nas NPU e LPU, com uma abordagem energética competitiva.",caption:"DAR UM PASSO AO LADO"},{t:"p",text:"Mas, portanto, **não tentar fazer GPU no estilo NVIDIA**, não de imediato. Mirar realmente **arquiteturas especializadas para a IA**, sejam LPU, NPU ou outras arquiteturas dedicadas. E isso por duas razões bem pragmáticas: a necessidade (não queremos rodar videogames, mas construir a IA do futuro) e o custo (mirar um alvo preciso reduzirá uma conta que já será bem pesada)."},{t:"p",text:"Uma precisão que decorre diretamente de tudo o que acabamos de ver: **uma empresa dessas não seria um projeto de silÃcio, seria um projeto de softw
91are.** Três alavancas me parecem determinantes."},{t:"h3",text:"Alavanca 1: o produto não é o chip"},{t:"quote",text:"O produto não deve ser o chip. O produto deve ser a plataforma."},{t:"p",text:"O chip é apenas o hardware sobre o qual roda:"},{t:"list",items:["o compilador;","os kernels;","os runtimes;","as bibliotecas;","os drivers;","o PyTorch;","o vLLM;","o Triton;","as ferramentas de profiling;","os frameworks de agentes;","as ferramentas de nuvem etc."]},{t:"p",text:"Uma das razões principais do atraso da AMD diante da NVIDIA não é apenas o silÃcio: é a vantagem considerável adquirida pela NVIDIA no **ecossistema de software**, notadamente com o CUDA. O avanço da Huawei não se explica apenas pelos seus chips, mas pelo fato de ter construÃdo, e depois aberto, a sua própria camada de software. Um ator europeu que dedicasse 90 % do orçamento ao hardware e 10 % aos compiladores, à s bibliotecas e à integração no PyTorch reproduziria exatamente o erro que outros já pagaram. A boa notÃcia é que a Europa tem uma verdadeira tradição nesse terreno. E que isso custa infinitamente menos caro que uma fundição."},{t:"p",text:"à exatamente o problema que a AMD tenta resolver hoje com o **ROCm**, que reúne runtimes, compiladores, bibliotecas, ferramentas e integração com PyTorch, JAX, vLLM ou SGLang. E a Huawei faz algo parecido em torno do **Ascend**, do **CANN** e do ecossistema open source."},{t:"h3",text:"Alavanca 2: é preciso um primeiro cliente"},{t:"p",text:"Menos técnica, mas igualmente decisiva. Nenhum desses projetos começou apenas pela demanda do mercado. A Huawei se beneficia de um mercado chinês imenso e de uma polÃtica industrial que reforça a preferência por soluções nacionais, enquanto a Rapidus se beneficia de um compromisso direto do Estado e de grandes industriais japoneses. As fundições americanas, por sua vez, têm as compras públicas e a defesa."},{t:"p",text:"Um chip de IA europeu não precisa convencer o mundo inteiro no primeiro dia: ele precisa que as administrações, os organismos de pesquisa e as nuvens soberanas do continente se comprometam a comprá-lo. Parece complexo e, no entanto, já vemos Estados buscando cada vez mais migrar da Microsoft para soluções open source baseadas em Linux. à provavelmente a alavanca polÃtica mais eficaz, e a menos custosa, de que dispomos."},{t:"quote",text:"Uma parte das capacidades de cálculo financiadas com dinheiro público europeu deve estar disponÃvel em aceleradores europeus."},{t:"h3",text:"Alavanca 3: o que ainda nos falta"},{t:"p",text:"Temos no território provedores de nuvem que se posicionam na IA (Scaleway, OVH) e uma joia dos LLM na França (Mistral) que, entendendo o desafio, também se posicionou na parte de data center, daà o famoso contrato com a Microsoft. Faltam-nos, portanto, atores para completar o quadro: uma empresa capaz de arquitetar LPU e NPU **e de dominar o seu ecossistema de software**, além de capacidades europeias capazes de fabricar, montar e integrar essas arquiteturas quando isso for estrategicamente necessário."},{t:"p",text:"E não se deveria reduzir essa ambição apenas ao wafer. Para os aceleradores de IA modernos, o **encapsulamento**, as **interconexões** e a **memória** tornaram-se elementos determinantes do desempenho. As arquiteturas baseadas em *chiplets* permitem justamente desacoplar certas funções e montar vários componentes dentro de um mesmo pacote. A soberania europeia pode, portanto, se jogar também aqui: talvez não precisemos dominar imediatamente cada geração de gravação se dominarmos a arquitetura, o encapsulamento, a interconexão e o software que dão valor ao sistema final."},{t:"h3",text:"Um fio condutor: a coerência energética"},{t:"p",text:"Um último aspecto atravessa essas três alavancas, entrevisto com a ARM: a **energia**. Precisamos, na Europa, de uma estratégia coerente entre a nossa indústria e os nossos objetivos regulatórios. A União Europeia lança várias regulamentações sobre o impacto ambiental e social das empresas e dos seus fornecedores (a CSRD e a CS3D). O paradoxo é que a maioria das empresas adota ferramentas de inteligência artificial para melhorar a sua concepção, ou mesmo para responder a essas regulamentações, quando essas mesmas ferramentas consomem muita energia. Criar um ator que tenha como norma de base a busca por uma boa **relação desempenho / consumo** e o respeito à s normas sociais europeias seria uma mensagem polÃtica de coerência."},{t:"p",text:"Dada a complexidade dessa indústria, a vontade polÃtica e o trabalho com os atores privados são obrigatórios, como provam os investimentos em torno da Rapidus no Japão. Essa indústria poderia ajudar na reindustrialização do continente europeu, ao mesmo tempo em que asseguraria a nossa soberania no tema."},{t:"callout",label:"O QUE DEVEMOS MIRAR",text:"Não precisamos necessariamente construir uma nova NVIDIA. Precisamos construir **a capacidade europeia de não depender mais exclusivamente da NVIDIA** â tendo como objetivo concorrer com ela no longo prazo."},{t:"callout",label:"UMA PALAVRA SOBRE AS FONTES",text:"O tema chinês se move muito rápido: rendimentos de gravação, status de exportação dos chips NVIDIA, capacidades reais anunciadas. Os números citados aqui são os de que eu dispunha na publicação, e vou atualizá-los ao longo do tempo. Se você tiver algo melhor, escreva para mim."},{t:"h2",text:"Anexos"},{t:"p",text:"*O que segue não é necessário para a compreensão do artigo: é o nÃvel de detalhe abaixo, com as fontes, para quem quiser aprofundar. Os três anexos retomam e aprofundam passagens já sobrevoad
91as acima.*"},{t:"h3",text:"Anexo 1 â A composição de um chip"},{t:"p",text:'**O silÃcio.** à o material de base dos transistores que compõem os circuitos integrados das CPU e das GPU. à um *semicondutor*: conforme as condições, ele conduz ou isola a corrente, que é precisamente o que se precisa para fabricar um transistor. Ele é purificado até o "grau eletrônico" (99,9999999 % de pureza), e depois transformado em *wafers*, aqueles discos sobre os quais os circuitos são gravados em escala nanométrica.'},{t:"image",src:"/images/articles/les-puces-annexe-silicium.webp",maxHeight:"420px",alt:"Produção mundial de silÃcio em 2023, em milhares de toneladas: China 6 600, Rússia 620, Brasil 390, Noruega 340, depois Islândia, Cazaquistão, França, Malásia, Butão, Alemanha, Ãndia e Espanha abaixo de 130.",caption:"PRODUÃÃO DE SILÃCIO (2023)"},{t:"p",text:"**Os metais, para a condutividade.** Eles asseguram a circulação da corrente nos circuitos e nas interconexões."},{t:"p",text:"O **cobre (Cu)** é usado nas interconexões entre as camadas do circuito integrado: condutividade elevada e boa dissipação térmica."},{t:"image",src:"/images/articles/les-puces-annexe-cuivre.webp",maxHeight:"420px",alt:"Produção mundial de cobre refinado em 2023, por paÃs: China 44,4 %, Chile 7,4 %, Japão 5,6 %, Rússia 3,7 %, Estados Unidos 3,3 %, outros 28,6 %.",caption:"COBRE REFINADO (2023)"},{t:"p",text:"O **alumÃnio (Al)** servia antigamente à s interconexões; foi substituÃdo pelo cobre nos processadores modernos, mas continua empregado em certos componentes."},{t:"image",src:"/images/articles/les-puces-annexe-aluminium.webp",maxHeight:"420px",alt:"Produção mundial de alumÃnio primário em 2023, em milhares de toneladas: China 41 000, Ãndia 4 100, Rússia 3 800, Canadá 3 000, Emirados Ãrabes Unidos 2 700, depois Bahrein, Austrália, Noruega, Malásia, Estados Unidos e Islândia.",caption:"ALUMÃNIO PRIMÃRIO (2023)"},{t:"p",text:"O **ouro (Au)** é reservado à s conexões crÃticas, como os fios muito finos que ligam o chip ao seu encapsulamento (*bond wires*). Ele é muito resistente à corrosão."},{t:"image",src:"/images/articles/les-puces-annexe-or.webp",maxHeight:"420px",alt:"Produção mundial de ouro em 2023, em toneladas: China 370, Austrália 310, Rússia 310, Canadá 200, Estados Unidos 170, depois Cazaquistão, México, Indonésia, Ãfrica do Sul, Uzbequistão e Peru.",caption:"PRODUÃÃO DE OURO (2023)"},{t:"p",text:"O **tungstênio (W)** entra em certas camadas de interconexão, pela sua resistência mecânica e pela sua tolerância a altas temperaturas. [Ficha do material, MineralInfo](https://www.mineralinfo.fr/sites/default/files/2023-01/Fiche_W_230106.pdf)"},{t:"image",src:"/images/articles/les-puces-annexe-tungstene.webp",maxHeight:"420px",alt:"Produção mineira mundial de tungstênio em 2020 (78,4 kt): China 84,2 %, Vietnã 5,7 %, Rússia 3,1 %, BolÃvia 1,7 %, Ãustria 1,1 %, Ruanda 1,1 %, depois Portugal, Espanha e Coreia do Norte. Ãndice de concentração IHH de 0,73.",caption:"TUNGSTÃNIO: 84 % NA CHINA (BRGM / USGS)"},{t:"p",text:"O **nÃquel (Ni)**, o **cobalto (Co)** e o **molibdênio (Mo)** entram em ligas especÃficas ou em camadas protetoras dos transistores. [Fim das exportações de minério de nÃquel (Tesouro francês)](https://www.tresor.economie.gouv.fr/Articles/2019/11/04/annonce-de-l-arret-des-exportations-de-minerai-de-nickel) · [O molibdênio (L'Ãlémentarium)](https://lelementarium.fr/element-fiche/molybdene/)"},{t:"image",src:"/images/articles/les-puces-annexe-nickel.webp",maxHeight:"420px",alt:"Produção mundial de nÃquel em 2023, em toneladas: Indonésia 1 800 000, Filipinas 400 000, França 230 000, Rússia 200 000, Canadá 180 000, Austrália 160 000, China 110 000, Brasil 89 000, Estados Unidos 17 000.",caption:"NÃQUEL (2023)"},{t:"image",src:"/images/articles/les-puces-annexe-cobalt.webp",maxHeight:"420px",alt:"Reservas mundiais de cobalto em 2023, em toneladas: RDC 6 000 000, Austrália 1 700 000, Indonésia 500 000, Cuba 500 000, Filipinas 260 000, Rússia 250 000, Canadá 230 000, depois Madagascar, Turquia, Estados Unidos e Papua-Nova Guiné.",caption:"RESERVAS DE COBALTO (2023)"},{t:"image",src:"/images/articles/les-puces-annexe-molybdene.webp",maxHeight:"420px",alt:"Produção mineira mundial de molibdênio em 2023, em toneladas: China 90 000, Estados Unidos 52 000, Chile 44 100, Peru 33 500, México 16 500, Armênia 11 900, Rússia 10 800, depois Irã, Japão e Cazaquistão.",caption:"MOLIBDÃNIO (2023)"},{t:"p",text:"**Os dopantes.** Eles modificam as propriedades do silÃcio para dele fazer um transistor. O **fósforo (P)** e o **arsênio (As)** são dopantes do tipo N: acrescentam elétrons livres que conduzem a eletricidade. [Produção de arsênio (Statista)](https://www.statista.com/statistics/264961/production-of-arsenic/)"},{t:"image",src:"/images/articles/les-puces-annexe-arsenic.webp",maxHeight:"420px",alt:"Produção mundial de arsênio em 2023, em toneladas: Peru 27 000, China 24 000, Marrocos 8 000, Bélgica 1 000, Rússia 200, Japão 40.",caption:"PRODUÃÃO DE ARSÃNIO (2023)"},{t:"p",text:'O **boro (B)** é um dopante do tipo P: cria "lacunas" que facilitam a condução por ausência de elétrons. [Principais paÃses produtores de boro (Statista)](https://fr.statista.com/statistiques/565294/principaux-pays-producteurs-de-bore/)'},{t:"image",src:"/images/articles/les-puces-annexe-bore.webp",maxHeight:"420px",alt:"Produção mundial de boro em 2023, em milhares de toneladas: Turquia 2 200, Chile 360, China 200, Peru 200, BolÃvia 170, Argentina 130, Rússia 80, Alemanha 60.",caption:"BORO: A TURQUIA ESMAGA O MERCADO (2023)"},{t:"p",text:"O **arseneto de gálio (GaAs)** é usado em componentes especializados, para melhor desempenho em velocidade e eficiência. [Ficha do material (Metoree)](https://fr.metoree.com/categories/6887/)"},{t:"p",text:"**Os isolantes.** Eles separam as camadas e as partes do circuito. O **dióxido de silÃcio (SiOâ)** é o isolante principal dos circuitos integrados: protege os transistores e evita curtos-circuitos. O **óxido de háfnio**, empregado nos processadores modernos, melhora o desempenho dos transistores reduzindo o consumo. [Ficha do material (Metoree)](https://fr.metoree.com/categories/6581/)"},{t:"p",text:"**A dissipação térmica.** Sem ela, o chip superaquece. O **carbeto de silÃcio (SiC)** é usado pelas suas propriedades térmicas e eletrônicas superiores em certos componentes. [Ficha do material (L'Ãlémentarium)](https://lelementarium.fr/product/carbure-de-silicium/)"},{t:"image",src:"/images/articles/les-puces-annexe-carbure-silicium.webp",maxHeight:"420px",alt:"Produção mundial de carbeto de silÃcio em 2023, em milhares de toneladas: China 450, Noruega 80, Japão 60, México 45, Brasil 40, Estados Unidos 40, Alemanha 35, Venezuela 30, França 20, Ãndia 5.",caption:"CARBETO DE SILÃCIO (2023)"},{t:"p",text:"O **grafite** e o **grafeno** são usados em certos chips para evacuar o calor de forma eficiente; as **cerâmicas**, nos substratos e encapsulamentos, para isolar e evacuar o calor. [Principais paÃses produtores de grafite (Statista)](https://fr.statista.com/statistiques/570417/principaux-pays-producteurs-de-graphite-dans-le-monde/) · menção especial: [franceses em breve campeões europeus do grafeno (Les Ãchos)](https://www.lesechos.fr/partenaires/bpifrance/des-francais-bientot-champions-deurope-de-production-de-graphene-1975143)"},{t:"image",src:"/images/articles/les-puces-annexe-graphite.webp",maxHeight:"420px",alt:"Produção mundial de grafite em 2023, em milhares de toneladas: China 1 230, Madagascar 100, Moçambique 96, Brasil 73, Coreia do
91Sul 27, Rússia 16, Ãndia 12, Coreia do Norte 8, Noruega 7, Tanzânia 6.",caption:"GRAFITE (2023)"},{t:"p",text:"**Os substratos e encapsulamentos.** O chip é montado sobre um substrato e depois protegido: **epóxi reforçado com fibra de vidro (FR-4)** para suportar o chip, **ligas de cobre e alumÃnio** para os encapsulamentos e dissipadores, **plásticos e polÃmeros** para isolar e encapsular os componentes sensÃveis."},{t:"h3",text:"Anexo 2 â Os nós avançados em detalhe"},{t:"p",text:"**Densidade de transistores.** Os nós avançados permitem integrar mais transistores em uma dada superfÃcie. Mais transistores significa mais unidades funcionais (núcleos de cálculo, unidades de processamento paralelo, memória integrada) e, portanto, melhor desempenho â ou, para um mesmo número de transistores, um chip menor, o que beneficia os aparelhos compactos. Em contrapartida, quanto menores os transistores, mais sensÃveis eles ficam a fenômenos fÃsicos como a **corrente de fuga** e a variabilidade das caracterÃsticas elétricas. E a densidade maior complica a dissipação térmica."},{t:"p",text:"**Desempenho e consumo.** Transistores menores encurtam os caminhos elétricos, o que melhora a velocidade de clock; os avanços de concepção (**FinFET**, **GAA**) permitem melhor gestão da corrente e latência reduzida. Do lado da energia, a tensão de alimentação cai, e o consumo também â essencial para os aparelhos móveis, os data centers e os sistemas embarcados. O revés: essa queda de tensão reduz a margem de funcionamento dos transistores, tornando os chips mais sensÃveis à s variações do ambiente (calor, ruÃdo elétrico)."},{t:"p",text:"**Novas arquiteturas.** Os nós avançados abrem caminho para concepções que estavam fora de alcance:"},{t:"list",items:["**Empilhamento 3D** (*3D stacking*): integração vertical dos circuitos, como as arquiteturas baseadas em *chiplets* ou a 3D V-Cache.","**Integração da memória**: mais memória diretamente no chip, como nas GPU modernas.","**IA e computação heterogênea**: as arquiteturas hÃbridas (CPU + GPU + aceleradores de IA) tiram proveito dos nós avançados para maximizar o desempenho."]},{t:"h3",text:"Anexo 3 â Os atores franceses e europeus"},{t:"list",items:["**STMicroelectronics** â *fabricante de semicondutores*, franco-italiana, sede em Genebra mas com forte presença na França. Uma das lÃderes europeias da concepção e da fabricação de chips, especializada em automotivo, eletrônica industrial, IoT e soluções integradas. Produz em tecnologias maduras (28 nm, 40 nm) adaptadas a esses setores, notadamente em **Crolles**, perto de Grenoble, em wafers de 300 mm.","**Soitec** â *fornecedora de materiais*, sediada em Bernin, perto de Grenoble. Especializada em substratos de **silÃcio sobre isolante (SOI)** e outros materiais avançados, usados em smartphones, 5G, automotivo e sistemas embarcados. Os seus substratos melhoram o desempenho e reduzem o consumo dos chips. Colabora com TSMC, Samsung e GlobalFoundries.","**CEA-Leti** â *centro de pesquisa aplicada*, em Grenoble. Especializado em inovação para semicondutores, conhecido pelos seus trabalhos sobre transistores 3D, litografia EUV e integração heterogênea. Trabalha em parceria com STMicroelectronics, Soitec e atores internacionais, e acelera a inovação que permite à indústria europeia permanecer competitiva.","**Kalray** â *projetista de processadores especializados*, em Montbonnot-Saint-Martin, perto de Grenoble. Concebe processadores para aplicações crÃticas e de alto desempenho: os **MPPA** (*Massively Parallel Processor Array*), uma DPU (*Data Processing Unit*) usada em sistemas autônomos, data centers e inteligência artificial. Como a NVIDIA, a Kalray não fabrica os seus chips."]}]}],hS=[{slug:"ia-concretement-cest-quoi",number:1,title:"Was ist KI eigentlich konkret?",updated:"2026-08-06",author:"Benjamin",readingMinutes:8,socialImage:"/images/articles/ia-concretement-schema-couches.png",metaDescription:"KI ohne Fachjargon verstehen: die Schichten, die sie zum Laufen bringen, von der Anwendung bis zur Hardware â nachvollzogen an einem Dokument, das an ChatGPT geschickt wird. Shadow AI, RAG, CLOUD Act, NVIDIA, TSMC.",lede:"Sie möchten verstehe
91n, was KI ist und welche Herausforderungen künftig auf Sie zukommen? Hier ist eine Artikelreihe, die Ihnen alles Nötige vermittelt, um KI in Ihrem Unternehmen einzuführen und zu nutzen.",body:[{t:"p",text:"Ich hatte gerade angefangen, einen Artikel über meine Methodik zur Einführung von KI in Unternehmensprojekten zu schreiben, als mir ein Gespräch nachhallte, das ich vor Kurzem bei einer Veranstaltung in Paris geführt hatte:"},{t:"quote",text:"WeiÃt du, Benjamin, all das zu verstehen, was künstliche Intelligenz überhaupt ermöglicht â oder auch nur, was künstliche Intelligenz selbst ist â, ist schon ein Problem für sich. Von Strategie ganz zu schweigen â¦"},{t:"p",text:"Und da lag mein Fehler: Ich schrieb Ihnen einen methodischen Artikel über ein Konzept, das für die Leserschaft vielleicht noch gar nicht klar war â oder schlimmer noch, ein Konzept, das Sie und ich nicht genau gleich definierten! Warum also nicht ganz von vorn anfangen?"},{t:"p",text:"Sprechen wir darüber, was KI ist. Dieser Artikel soll für alle zugänglich sein:"},{t:"list",items:["Er ist weder ein Theoriebuch für Forschende (die das Thema ohnehin kennen),","noch ein Programmiertutorial."]},{t:"p",text:"Es ist ein **allgemein verständlicher Artikel, der aber auch für Entwicklerinnen und Entwickler nützlich sein kann ;)** â und der Ihnen eine solide Grundlage gibt, um die Herausforderungen dieses Themas, die Akteure und die Trends zu verstehen, damit Sie Ihre eigenen Entscheidungen treffen können."},{t:"callout",label:"EINE ABMACHUNG ZWISCHEN IHNEN UND MIR",text:"Wenn Sie etwas nicht verstehen, liegt es an mir: Sagen Sie es mir, und ich verpflichte mich, meine Erklärung zu verbessern."},{t:"p",text:"Und damit: Sprechen wir über KI!"},{t:"h2",text:"KI besteht aus Schichten"},{t:"image",src:"/images/articles/ia-concretement-couches.jpg",alt:"Illustration der Schichten-Metapher, wie eine Zwiebel",caption:"WIE EINE ZWIEBEL: SIE LÃSST SICH IN SCHICHTEN ZERLEGEN"},{t:"p",text:"Ihr Gemini auf dem Smartphone oder Ihr Citymapper, der die beste Route findet, bestehen in Wirklichkeit aus mehreren Bausteinen, die zusammengenommen die Anwendungen ergeben, die Sie kennen. Jeder Baustein bekommt ein eigenes Kapitel, um etwas tiefer einzusteigen. Hier erkläre ich nur grob, wofür sie stehen. Wer lange Texte oder meinen Schreibstil nicht erträgt, hat damit schon einen guten Ãberblick! ð"},{t:"p",text:"Hier sind die verschiedenen Bausteine, die Ihnen zur Verfügung stehen, um Ihre KI-Anwendungen zu entwickeln und zu betreiben. Jeder groÃe Bereich bringt eigene kommerzielle, industrielle und Autonomie-Fragen mit sich."},{t:"image",src:"/images/articles/ia-concretement-schema-couches.webp",maxHeight:"780px",alt:"Diagramm der fünf KI-Schichten: die Anwendung (Oberfläche, API), das KI-Modell (die verschiedenen Modelle, Daten), die Softwareschicht (Orchestrierung, Agentik, Verbindungen), die Infrastruktur (Cloud-Provider, Energie) und die Hardware (Chips, Rohstoffe).",caption:"VON DER OBERFLÃCHE, DIE SIE SEHEN, BIS ZUM ROHSTOFF"},{t:"p",text:"Beschreiben wir das Ganze kurz an einem einfachen Beispiel. Halten Sie sich fest, wir gehen sehr schnell über Konzepte hinweg, die wir in den nächsten Kapiteln vertiefen werden!"},{t:"p",text:"Festhalten, Chewie: Lichtgeschwindigkeit!"},{t:"h2",text:"Unser roter Faden"},{t:"image",src:"/images/articles/ia-concretement-depart.jpg",alt:"Illustration des Aufbruchs, wir begleiten das Dokument auf seinem Weg",caption:"FESTHALTEN, WIR FOLGEN DEM DOKUMENT VON ANFANG BIS ENDE"},{t:"p",text:"Sie sitzen in Ihrem Unternehmen, das strenge Regeln zum Datenschutz hat. Ihre Chefin bittet Sie um eine Zusammenfassung der Vertriebsstrategie, die Sie gerade aus einer anderen Abteilung erhalten haben. Das Dokument ist lang und Sie haben eigentlich keine Zeit. Ihr Unternehmen hat Ihnen keine KI bereitgestellt (oder nur eine ziemlich schwache). Also greifen Sie, wie die meisten Beschäftigten derzeit, zu einem Werkzeug, das Sie kennen: ChatGPT."},{t:"p",text:"Rote Karte! Sie haben soeben **Shadow AI** betrieben: eine externe KI genutzt und ihr Unternehmensdaten übergeben (die zum Vermögen des Unternehmens gehören) â an OpenAI, das sie möglicherweise zum Training eigener Modelle verwendet."},{t:"callout",label:"UND DIESER FALL IST ALLES ANDERE ALS SELTEN",text:"Mehreren aktuellen Studien zufolge (unter anderem von Microsoft, Salesforce und Slack) nutzen heute rund **75 bis 80 % der Beschäftigten** generative KI-Werkzeuge bei der Arbeit. Und die Zahl, die etwas wehtut: Mehr als jeder zweite Nutzer tut dies ohne Zustimmung (oder auch nur Kenntnis) der Geschäftsführung oder der IT-Abteilung. Genau das nennt man **âBring Your Own AIâ** oder **Shadow AI**. Kurzfristig ein Segen für die individuelle Produktivität, aber ein gehöriges Sicherheits- und Vertraulichkeitsproblem für das Unternehmen!"},{t:"p",text:"Gut, zurück zu unserer kleinen Geschichte. Sie öffnen also Ihren Browser und rufen die Website von ChatGPT auf, um mit Ihrer KI zu sprechen."},{t:"h2",text:"1. Die Anwendungsschicht"},{t:"p",text:"Hier befinden Sie sich auf der **Anwendungsschicht**: der Website mit der Chat-Oberfläche, den Werkzeugen, die prüfen, dass Sie es wirklich sind, die Ihnen Zugang gewähren (und Ihr Abonnement abrechnen). Abgesehen von der KI selbst ist es diese Anwendung, die mit dem Aufkommen der LLMs alles verändert hat. Je einfacher sie zu bedienen ist, desto besser für die Nutzer. Genau deshalb müssen Sie gut durchdenken, was Ihre Nutzer zu sehen bekommen: Die Falle des â100 % Chatâ ist in den Unternehmen, denen ich begegne, bereits deutlich zu erkennen."},{t:"p",text:"Sie laden Ihre Datei hoch und sagen: *âFasse mir das in 5 Stichpunkten zusammen.â*"},{t:"h2",text:"2. Die Softwareschicht"},{t:"p",text:"Jetzt denken Sie: *âGut, jetzt arbeitet die KI!â* Aber in Wirklichkeit ⦠noch nicht! Zuerst wird Ihre Datei von der Softwareschicht verarbeitet (ganz klassischem Code), noch bevor sie einem KI-Modell begegnet. Der Text wird extrahiert und anschlieÃend in kleine Stücke zerlegt (das nennt man **C
91hunking**)."},{t:"p",text:"Warum? Weil jedes KI-Modell eine Obergrenze dafür hat, wie viel es auf einmal lesen kann: sein **Kontextfenster** (ein wenig wie das Arbeitsgedächtnis Ihres Gehirns beim Lesen einer Seite). Ãbersteigt Ihr Dokument diese Kapazität, oder will die Anwendung Zeit und Token sparen, orchestriert die Software die Arbeit zuerst: den groÃen Brocken zerlegen, jedes Stück zusammenfassen lassen oder gezielt nur die entscheidenden Passagen holen (über ein Verfahren namens **RAG**), um dem Modell nur das Wesentliche zu übergeben. Das ist echte Teamarbeit zwischen klassischem Code und KI!"},{t:"h2",text:"3. Das KI-Modell"},{t:"p",text:"Jetzt erreicht der Text das **Modell (LLM)**, das Sie in Ihrer Oberfläche ausgewählt haben."},{t:"p",text:"Hier sprechen wir tatsächlich von KI. Und davon gibt es viele Arten! Ich spreche hier von LLMs, weil sie die bekannteste Form sind, aber es gibt weitere Algorithmen, die in ihrem jeweiligen Feld sehr leistungsfähig sind. Und innerhalb derselben Familie gibt es verschiedene Modelle: Hier fallen Namen wie GPT, Claude, Mistral, Qwen, Kimi und so weiter."},{t:"h2",text:"4. Die Infrastruktur: Wo läuft das alles?"},{t:"p",text:"Während unsere Modelle arbeiten, stellen wir uns die Frage: **Wo laufen sie eigentlich?** Denn Ihr Dokument ist nicht in Ihrem Browser geblieben! Es wurde irgendwohin geschickt, um analysiert zu werden: zu einem *Cloud-Provider*, in ein Rechenzentrum."},{t:"p",text:"Und nun sollten Sie eines wissen: Selbst wenn Ihr physischer Server in Frankreich steht, unterliegen Ihre Daten dem Recht des Herkunftslandes Ihres Anbieters. Nutzen Sie Azure (Microsoft), AWS (Amazon) oder Google Cloud, fallen Ihre Daten unter extraterritoriale US-Gesetze, insbesondere den **CLOUD Act** (*Clarifying Lawful Overseas Use of Data Act*) oder Section 702 des **FISA**. Im Klartext: Die US-Justiz kann theoretisch Zugriff auf Daten verlangen, die von einem US-Unternehmen verwaltet werden â ganz gleich, ob die Server in Paris, Amsterdam oder Frankfurt stehen. **Und ohne dass man es Ihnen überhaupt sagt!** Geografie ist nicht alles, die Nationalität des Tech-Riesen spielt ebenso hinein."},{t:"link",href:"https://www.youtube.com/shorts/JoR2Y8uNShQ",label:"Microsoft vor französischen Senatoren",note:"Bis zum Ende ansehen"},{t:"p",text:"Davon gibt es viele. Die bekanntesten sind AWS (Amazon), Google Cloud und Azure (Microsoft), daneben französische Akteure wie Scaleway, OVHcloud oder Outscale. Aber das sind nur Markennamen. Die Rechenzentren selbst stehen auf einem konkreten Staatsgebiet. In diesem Moment kann Ihr Dokument in Paris, Amsterdam oder New York liegen. Ãbrigens kann ein Teil Ihrer Anwendung an einem Ort liegen und Ihr KI-Modell an einem anderen (etwa Ihre Website auf Azure in Europa, während die KI die Zusammenfassung in einem Rechenzentrum in den USA erstellt). Und natürlich muss diese gesamte **Infrastruktur** mit Strom versorgt und mit Wasser gekühlt werden!"},{t:"h2",text:"5. Die Hardware"},{t:"p",text:"Ihr Dokument war wirklich sehr lang, es rechnet noch immer, und die Chips werden dabei sogar ein wenig warm ⦠Ja, die **Hardware**! Die Chips (GPU, CPU und andere), auf denen alles beruht: Ihr Dokument, die KI-Modelle, Ihre Anwendung. Die Cloud-Provider mussten sie kaufen."},{t:"p",text:"Dieser Markt wird heute von einem groÃen Akteur beherrscht: **NVIDIA**. Doch NVIDIA fertigt seine Chips nicht selbst, sondern entwirft sie (*Design*). Hergestellt werden sie von Auftragsfertigern (*Foundries*) wie **TSMC** (hauptsächlich in Taiwan). Und das Verrückteste daran: Die hochkomplexen Maschinen, mit denen diese Fertiger Ihre Chips belichten, werden von einem einzigen Unternehmen in den Niederlanden gebaut â **ASML**! Ganz zu schweigen davon, dass man Rohstoffe braucht, um all diese Hardware überhaupt herzustellen."},{t:"p",text:"Und damit ist die Aufgabe erledigt! Die Textstücke wurden ein letztes Mal vom Modell verarbeitet, um Ihnen Ihre 5 Stichpunkte zu liefern â fertig!"},{t:"h2",text:"Eine realistischere Sicht"},{t:"p",text:"Wie Sie inzwischen verstanden haben: Wollte man das Ganze realistischer darstellen als in unserer ersten Aufteilung, sähe es so aus:"},{t:"image",src:"/images/articles/ia-concretement-schema-imbrique.webp",alt:"Verschachteltes Diagramm: Bei einem Cloud-Provider betreibt die mit Energie versorgte Hardware zwei getrennte Maschinen, jede von Software orchestriert, die eine führt das KI-Modell aus, die andere die Anwendung.",caption:"ZWEI GETRENNTE MASCHINEN, VON SOFTWARE ORCHESTRIERT, BEI EINEM CLOUD-PROVIDER"},{t:"p",text:"Es sind unterschiedliche Maschinen, die Ihre KI und Ihre Anwendung betreiben, das Ganze von Software orchestriert und bei einem Cloud-Provider gehostet. Und auf jeder Ebene stellen sich Fragen nach Leistung, Vertrauen, Souveränität und mehr."},{t:"p",text:"Wenn Sie die Herausforderungen rund um all diese Themen verstehe
91n möchten, lesen Sie gern die nächsten Kapitel! Und vor allem: Geben Sie mir Rückmeldung, damit ich meine Feder verbessern kann."},{t:"p",text:"Ich wünsche Ihnen einen ausgezeichneten Tag â und vergessen Sie nicht, Spaà zu haben!"}]},{slug:"application-accessibilite-experience",number:2,title:"Die Anwendung: eine Frage der Zugänglichkeit und der Erfahrung",updated:"2026-08-07",author:"Benjamin",readingMinutes:7,metaDescription:"Warum die Oberfläche über den Erfolg eines KI-Projekts entscheidet: Latenz, Transparenz, Feedback und der Aufstieg der spontan erzeugten Oberfläche (GenUI), am Beispiel des Projekts GenPage von Netflix.",lede:"Das beste Modell der Welt nützt nichts hinter einer frustrierenden Oberfläche. Zweites Kapitel: die Schicht, die Ihre Nutzer tatsächlich sehen.",body:[{t:"p",text:"Aah, unser erstes richtiges Kapitel! Wir beginnen mit dem am âeinfachstenâ zu Fassenden: dem, was Sie sehen! Der Oberfläche, über die Sie mit Ihrer KI interagieren."},{t:"p",text:"Das mag nebensächlich wirken, ist aber in Wirklichkeit **entscheidend** für den Erfolg eines Projekts. Sehr oft bestimmen die Art, wie eine Oberfläche Ihnen eine Information zurückgibt, und das Gefühl bei der Nutzung darüber, ob die Nutzer das Produkt annehmen. Sie können das beste KI-Modell der Welt unter der Haube haben: Ist die Oberfläche frustrierend, wird sie niemand nutzen."},{t:"h2",text:"Die Anwendung als eigentliches Unterscheidungsmerkmal"},{t:"p",text:"Nehmen wir ChatGPT: ein simples Textfeld (ein *Chat*), das sich mit Ihnen unterhalten, Texte verfassen oder Bilder erzeugen kann. Das war groÃartig, sofort verständlich, hochgradig intuitiv!"},{t:"p",text:"Erinnern Sie sich: Wie funktionierten Chatbots davor? Es waren starre, vorkonfigurierte Skripte, die einen in 9 von 10 Fällen in eine frustrierende Sackgasse führten (*âIch habe Ihre Anfrage nicht verstanden, möchten Sie mit einem Mitarbeiter sprechen?â*)."},{t:"p",text:"Aber Vorsicht: Der Chat ist nicht die einzige â und nicht immer die beste â Oberfläche!"},{t:"p",text:"Schauen wir in die Welt der Entwickler. Warum sind Werkzeuge wie **Cursor** oder **GitHub Copilot** gegenüber einem schlichten ChatGPT derart durchgestartet? Weil sie den Entwickler nicht zwingen, ständig zwischen Browser und Code-Editor hin- und herzukopieren. Die KI ist *direkt* dort eingebettet, wo gearbeitet wird: mitten im Code."},{t:"p",text:"Genauso im Alltag: Stellen Sie einem Chatbot lieber 15 Fragen, um eine Zugfahrkarte zu buchen, oder klicken Sie in einem gut durchdachten Formular auf 3 Schaltflächen? Die Antwort liegt auf der Hand. **KI soll das Leben vereinfachen, nicht überflüssige Gesprächsschritte hinzufügen.**"},{t:"h2",text:"Immer von der gewünschten Erfahrung ausgehen"},{t:"p",text:"Im Produktmanagement ist das eine Selbstverständlichkeit: Bevor man sich fragt, *wie* man etwas umsetzt (welches Modell, welche Infrastruktur â¦), muss man die entscheidende Frage stellen:"},{t:"callout",label:"DIE FRAGE, DIE ZUERST KOMMT",text:"Welche Erfahrung wollen wir unseren Nutzern bieten?"},{t:"p",text:"Das klingt banal, doch in 80 % der KI-Projekte läuft es heute umgekehrt: Man kauft KI ein und sucht anschlieÃend, wo man sie unterbringen könnte."},{t:"h2",text:"Die goldenen Regeln guter KI-UX"},{t:"p",text:"Da KI keine Software wie jede andere ist (sie zögert, sie braucht Zeit zum Antworten, sie kann sich irren), muss die Anwendung besondere Einschränkungen auffangen:"},{t:"list",ordered:!0,items:["**Der Umgang mit Zeit (Latenz).** Ein KI-Modell braucht mehrere Sekunden zum Nachdenken. Die Oberfläche muss zeigen, dass die KI arbeitet. Deshalb erscheint der Text Wort für Wort (das *Streaming*, der Schreibmaschineneffekt): Das erzeugt ein Gefühl von Unmittelbarkeit und hält die Aufmerksamkeit.","**Transparenz und das Recht auf Irrtum.** KI kann halluzinieren. Die Anwendung muss die Ãberprüfung also erleichtern: Quellen anzeigen, eine Schaltfläche âNeu generierenâ oder âEingabe ändernâ anbieten.","**Nutzer-Feedback.** Die kleinen Daumen hoch und runter ð ð sind nicht zur Zierde da! Sie erlauben der Anwendungsschicht, Daten zur Antwortqualität zu sammeln und die Erfahrung künftig zu verbessern."]},{t:"h2",text:"Der groÃe Trend: die spontan erzeugte Oberfläche (GenUI)"},{t:"p",text:"Bislang gab es zwei streng getrennte Welten:"},{t:"list",ordered:!0,items:["**Klassische Anwendungen (GUI).** Feste Bildschirme, von Designern entworfen. Man klickt auf Schaltflächen, Menüs, Karten. Das ist schnell, aber starr.","**Der Chatbot (NLI).** Eine weiÃe Seite mit einem Textfeld. Unendlich flexibel, aber Textblöcke von 500 Wörtern zu lesen ist mühsam und nicht immer effizient."]},{t:"p",text:"Warum also wählen? Genau hier setzt die derzeitige groÃe Revolution im Anwendungsdesign an: **die spontan erzeugte Oberfläche** (oder *Generative UI*)."},{t:"h3",text:"Was heiÃt das konkret?"},{t:"p",text:"Statt Ihnen ausschlieÃlich mit rohem Text oder Markdown zu antworten, **erzeugt die KI genau die grafische Oberfläche, die Sie brauchen â in dem Moment, in dem Sie sie brauchen.**"},{t:"list",items:["**Sie bitten die KI, Ihre Reise zu organisieren?** Statt Ihnen 10 Hotels als Text aufzulisten, erscheint eine **interaktive Karte** mit einem Schieberegler für Ihr Budget und Schaltflächen, um Ihre Wahl zu bestätigen.","**Sie lassen zwei Angebote vergleichen?** Sie bekommen keinen Roman, sondern eine spontan erzeugte **dynamische Vergleichstabelle**, in der Sie Optionen ankreuzen oder Werte direkt ändern können.","**Sie wollen Ihre Verkaufszahlen auswerten?** Die Anwendung baut maÃgeschneidert ein **Dashboard mit interaktiven Diagrammen**, das einzig für Ihre Frage entsteht."]},{t:"h3",text:"Das Beispiel im groÃen MaÃstab: Netflix und das Projekt GenPage"},{t:"p",text:"Falls Sie glauben, Generative UI sei etwas für Ingenieurs-Demos auf Twitter: weit gefehlt. Die GroÃen setzen es bereits ein."},{t:"p",text:"In einem faszinierenden Fachartikel hat Netflix offengelegt, wie dort die Erzeugung von Oberflächen durch KI getestet wird. Das Prinzip? Ihr Sehverlauf und die Tageszeit werden als *Prompt* an ein generatives KI-Modell übergeben. Statt aus starren Menüs zu schöpfen, **zeichnet das Modell die Startseite Ihrer Anwendung buchstäblich in Echtzeit**. Es passt die Anordnung der Blöcke an, die Art der angezeigten Informationen und sogar die visuelle Gestaltung â eigens für Sie."},{t:"link",href:"https://netflixtechblog.com/genpage-towards-end-to-end-generative-homepage-construction-at-netflix-77146fba8a08",label:"GenPage: die generative Startseite von Netflix",note:"Netflix Tech Blog, auf Englisch"}
91,{t:"p",text:"Morgen werden Sie und Ihr Nachbar bei Netflix nicht nur unterschiedliche Empfehlungen haben: **Sie werden nicht dieselbe Anwendung haben.**"},{t:"h3",text:"Warum ist das die Zukunft der KI-Anwendung?"},{t:"p",text:"Weil es das gröÃte Ergonomieproblem der KI löst: **die Reibung bei der Eingabe.**"},{t:"p",text:"Einen dreizeiligen *Prompt* zu tippen, um ein Detail zu korrigieren, ist mühsam. Einen Regler zu schieben, eine Option anzuklicken oder einen Balken zu verschieben â auf einer Oberfläche, die die KI spontan erzeugt hat â ist flüssig."},{t:"p",text:"In diesem Ansatz ist die Anwendung keine ein für alle Mal gegossene Form mehr: **Sie ist ein Chamäleon, das die grafischen Bausteine nach der Absicht des Nutzers zeichnet.** Und für die Nutzererfahrung ist das ein echter Sprung nach vorn."},{t:"h2",text:"Kurz gefasst"},{t:"p",text:"Die Anwendung ist die Brücke zwischen der komplexen Magie der KI-Modelle und dem Alltag Ihrer Nutzer."},{t:"callout",label:"BEVOR SIE EIN VERMÃGEN IN SERVER STECKEN",text:"Wie fügt sich diese Technologie möglichst natürlich in den Alltag derjenigen ein, die sie nutzen?"},{t:"p",text:"Nachdem wir nun die Spitze des Eisbergs gesehen haben (die Oberfläche), schauen wir uns an, was direkt darunter passiert, wenn Sie âEnterâ drücken ⦠Bis zum Kapitel über die Softwareschicht und die Orchestrierung!"}]},{slug:"le-modele-un-simple-algorithme",number:3,title:"Das Modell: ein simpler Algorithmus",updated:"2026-08-08",author:"Benjamin",readingMinutes:18,metaDescription:"Symbolische KI, Machine Learning, Deep Learning, LLM: welche Modellfamilien wofür taugen und warum die Blackbox ein Problem ist. Mit den Fällen Amazon, Husky vs. Wolf und dem französischen Finanzministerium.",lede:"Hinter dem Wort âkünstliche Intelligenzâ verbergen sich sehr unterschiedliche Algorithmenfamilien. Zu verstehen, welche was leistet, heiÃt: nicht die falsche zu wählen â und sich nicht ihre Verzerrungen einzuhandeln.",body:[{t:"p",text:"Ja, der Begriff wirkt auf den ersten Blick kompliziert. Algorithmus. In Wirklichkeit kann ein Algorithmus aber genau das sein:"},{t:"callout",label:"EIN ALGORITHMUS",text:"**Start:** Zahl = 0 · **Schritt 1:** 1 zur Zahl addieren · **Schritt 2:** Schritt 1 wiederholen, bis die Zahl 10 erreicht."},{t:"p",text:"Das ist der Unterschied zu 0 + 10: Hier haben Sie sich ganz automatisch, wenn auch nur den Bruchteil einer Sekunde, ein Aufsummieren von Einsen vorgestellt, eine nach der anderen."},{t:"p",text:"KI besteht aus einem oder mehreren Algorithmen, die ein Ziel erreichen sollen. Das kann der kürzeste Weg zum Restaurant sein (Ihr Navi), ein erzeugtes Protokoll, ein Video, Simulationen in der Forschung ⦠Im Grunde ist **eine KI nur ein Rechensystem, das so komplex ist, dass Sie darin Intelligenz erkennen** â und das Sie mitunter vermenschlichen."},{t:"p",text:"In Wirklichkeit aber weià ChatGPT weder, dass es eine KI ist, noch was die Realität ist, noch was Text ist."},{t:"diagram",name:"modelFamily"},{t:"p",text:"Zurück zum Thema, also zu unseren KIs. Verschiedene Arten von KI heiÃt: âManche KIs sind in bestimmten Bereichen besser als andere.â Wollen Sie zum Beispiel ein vollständig erklärbares, rechengünstiges und deterministisches System für Ihre Navi-Anwendung (eines, das seine Meinung nicht ändert, wenn Sie zweimal dasselbe fragen), dann nehmen Sie kein LLM, sondern eher einen Algorithmus zur Graphensuche â also symbolische KI, wie Ihre Expertensysteme."},{t:"h2",text:"Die symbolische KI"},{t:"p",text:"Ah, die *Good Old-Fashioned AI* (ein Begriff von 1985, damals schon nicht mehr sonderlich cool ^^)! Und doch ist sie in Ihrem Alltag weit präsenter, als Sie glauben."},{t:"p",text:"Ich gebe zu, dass ich hier etwas voreingenommen bin: Ich habe 7 Jahre bei [Golem.ai](https://golem.ai) gearbeitet (heute Miralia), das aus meiner Abschlussarbeit hervorging. Das Unternehmen betreibt Textanalyse über einen symbolischen Algorithmus, mit dem sich unter anderem Nachrichten klassifizieren lassen."},{t:"p",text:"Die **symbolische KI** (oder klassische KI) beruht auf der Idee, dass sich menschliche Intelligenz durch die explizite Manipulation von Symbolen, Begriffen und logischen Regeln erklären lässt."},{t:"p",text:"Anders als Machine Learning, das auf statistischem Training au
91s Daten beruht, stützt sich die symbolische KI auf Wissen, das von menschlichen Fachleuten direkt modelliert wurde: als Fakten, Ontologien und Regeln (*âWenn ⦠dann â¦â*). Ihre Arbeitsweise ist damit **deterministisch und transparent**: Vor einem Problem nutzt ein symbolisches System eine Inferenzmaschine oder einen Suchalgorithmus, um die Lösung logisch aus den vorgegebenen Regeln abzuleiten."},{t:"p",text:"Der gröÃte Vorteil dieses Ansatzes ist seine **vollständige Erklärbarkeit**: Man kann jeden Schritt der Schlussfolgerung exakt nachvollziehen, ganz ohne Blackbox-Effekt. ÃuÃerst praktisch, wenn Auditierbarkeit gefragt ist."},{t:"p",text:"Sie glänzt in Bereichen, die absolute Strenge verlangen. Die Routenberechnung (Graphentheorie) ist dafür ein sehr gutes Beispiel: Ihre Videospielfiguren, die von A nach B gelangen, ohne sich zu verlaufen, werden meist von einem symbolischen Algorithmus namens **A**\\* gesteuert â zusammengefasst: âerkunde den Weg ungefähr in die richtige Richtung, um die beste Route zu findenâ."},{t:"image",src:"/images/articles/le-modele-astar.gif",alt:"Animation des A*-Algorithmus, der ein Raster durchsucht, ein Hindernis umgeht und Start- mit Zielpunkt verbindet",caption:"A* SUCHT IN DIE RICHTIGE RICHTUNG UND UMGEHT DANN DAS HINDERNIS",height:"420px",pixelated:!0,credit:{author:"Subh83, Wikimedia Commons",license:"CC BY 3.0",href:"https://creativecommons.org/licenses/by/3.0/"}},{t:"p",text:"Im Gegenzug ist diese KI-Familie sehr starr: Sie tut sich schwer mit Nuancen, verrauschten Daten oder Unvorhergesehenem â und wird zunehmend schwerer wartbar, je gröÃer die Regelbasis wird."},{t:"callout",label:"EIN OFT VERGESSENER PUNKT",text:"Symbolische KIs sind **äuÃerst energiesparend**: Wir sprechen von GröÃenordnungen um den Faktor 1000 oder mehr â und sie sind entsprechend deutlich schneller."},{t:"p",text:"Deshalb wird viel darüber diskutiert, die Wendigkeit generativer Algorithmen mit symbolischen Verfahren zu verbinden. Entwickler kennen dafür übrigens ein wiederkehrendes Beispiel, ohne es zu merken: Wenn Ihr Claude Code (oder ein Konkurrenzprodukt) ein Python-Skript erzeugt und ausführt, um Daten umzuwandeln â etwa von Excel in eine Datenbank â, steckt genau diese Idee dahinter. Es schreibt nicht mit *Tokens* eine riesige Abfrage mit allen Ãnderungen, sondern ein kleines Skript, das die Aufgabe erledigt."},{t:"h2",text:"Machine Learning"},{t:"p",text:"**Machine Learning** (maschinelles Lernen) ist der umgekehrte Ansatz zur symbolischen KI: Statt Entscheidungsregeln explizit zu programmieren (*âWenn ⦠dann â¦â*), gibt man einem Computer groÃe Mengen an **Daten** und ein **Ziel** â und lässt ihn die zugrunde liegenden Muster und Regeln selbst entdecken. Das Verhalten des Programms wird nicht von einem Menschen vorgegeben, sondern **aus den analysierten Beispielen abgeleitet**."},{t:"p",text:"Die Funktionsweise beruht auf **Statistik** und der schrittweisen Anpassung interner Parameter (bei neuronalen Netzen die sogenannten âGewichteâ). Während des Trainings trifft das Modell Vorhersagen, misst seinen Fehler gegenüber der Realität und justiert sich, um diesen Fehler zu verringern. Je mehr repräsentative Daten es erhält, desto präziser werden seine Vorhersagen."},{t:"diagram",name:"mlTypes"},{t:"list",items:["**Ãberwachtes Lernen.** Man liefert Daten samt ihren Antworten (*Labels*). Beispiel: 100 000 Fotos von Katzen und Hunden mit dem Label âKatzeâ oder âHundâ. Das Modell lernt, beide zu unterscheiden.","**Unüberwachtes Lernen.** Man liefert rohe Daten ohne Labels, und das Modell sucht verborgene Strukturen. Beispiel: Kunden nach ihrem Kaufverhalten in Segmente gruppieren, ohne die Kategorien vorzugeben.","**Bestärkendes Lernen.** Ein Agent interagiert mit einer Umgebung und erhält Belohnungen oder Strafen. Beispiel: eine KI, die Schach spielen oder eine Drohne fliegen lernt, indem sie Handlungen ausprobiert und aus Fehlern lernt."]},{t:"h2",text:"Deep Learning"},{t:"p",text:"Ohne zu tief ins Technische zu gehen: **Deep Learning** ist ein Teilgebiet des Machine Learning, das auf tiefen neuronalen Netzen beruht (gestapelten Rechenschichten)."},{t:"p",text:"Der groÃe Unterschied? Anders als klassisches Machine Learning kann Deep Learning sehr rohe Daten direkt verarbeiten (Bilder, Ton oder Text) und selbstständig erkennen, welche Details für eine Entscheidung wichtig sind â ohne dass ein Mensch die Vorarbeit leisten muss."},{t:"callout",label:"ZUM MERKEN",text:"Im allgemeinen Sprachgebrauch werden die beiden Begriffe sehr häufig vermischt."},{t:"h2",text:"GroÃartig im Korrelieren ⦠deutlich weniger im Erklären"},{t:"p",text:"Machine Learning ist hervorragend darin, Korrelationen in komplexen Daten zu finden und Fälle zu behandeln, für die es keine klar definierten Regeln gibt. Nehmen wir ein Beispiel."},{t:"dialog",turns:[{who:"vous",text:"Können Sie mir eine Biene beschreiben? Ich habe noch nie eine gesehen und würde sie gern sicher erkennen."},{who:"ia",text:"Ganz einfach: ein gelb-braun gestreiftes Insekt mit zwei schwarzen Augen, Flügeln und sechs Beinen."},{who:"vous",text:"Okay ⦠Das hier ist also keine Biene?"}]},{t:"image",src:"/images/articles/le-modele-abeille.jpg",alt:"Makroaufnahme des Kopfes einer Biene auf einer Blüte: die Augen sind zu erkennen, Flügel und Beine dagegen nicht",caption:"ALSO: BIENE ODER NIC
91HT?",maxHeight:"520px"},{t:"dialog",turns:[{who:"ia",text:"Ich sehe zwei schwarze Augen, insgesamt etwas Braunes, aber weder Flügel noch Beine. Vielleicht eine Raupe?"}]},{t:"p",text:"Und da haben Sie es: Jetzt verstehen Sie, warum der statistische Ansatz mit einer groÃen Zahl an Beispielen nötig ist."},{t:"p",text:"Theoretisch wird das Ergebnis mit mehr Daten besser, auch wenn in der Praxis viele weitere Faktoren hineinspielen â allen voran die Qualität der gelieferten Information. Das Problem: Machine Learning hat gravierende Schwächen. Neben dem Rechen- und Energieaufwand sind das seine Abhängigkeit von den Ausgangsdaten und der Umstand, dass es für Menschen unmöglich ist, im Detail nachzuvollziehen, wie das Modell zu einer Entscheidung kommt. Man kann sie nur interpretieren."},{t:"p",text:"Kehren wir zur Bildanalyse zurück, mit diesem 2016 veröffentlichten Beispiel des Forschers Marco Tulio Ribeiro und seines Teams zur Vorstellung von **LIME** (*Local Interpretable Model-agnostic Explanations*), einem Werkzeug, das âBlackboxesâ öffnen soll."},{t:"h3",text:"Das Experiment âHusky vs. Wolfâ"},{t:"image",src:"/images/articles/le-modele-husky.jpg",alt:"Porträt eines grimmig dreinblickenden Huskys",caption:"DER HUSKY, ZU UNRECHT ALS WOLF EINGESTUFT",maxHeight:"340px"},{t:"p",text:"Die Forscher trainierten ein Bildklassifikationsmodell, das Huskys von Wölfen unterscheiden sollte."},{t:"list",items:["**Die Ergebnisse auf dem Papier.** Das Modell erreichte eine ausgezeichnete Genauigkeit (um die 90 %). Bei den meisten Testbildern irrte es sich nie.","**Der verdächtige Fehler.** Das Modell stufte einen unschuldigen Husky als Wolf ein."]},{t:"p",text:"Mit LIME lieÃen sich die Bildbereiche anzeigen, auf die das Modell seine Berechnungen stützte (die entscheidenden Pixel). Dabei zeigte sich: Das Modell betrachtete **weder die Ohren noch die Fellfarbe noch die Augenform** des Tieres. Es sah einzig auf den Hintergrund:"},{t:"list",items:["**Schnee vorhanden** â Wolf","**Kein Schnee** (Gras, Erde, Innenraum) â Husky"]},{t:"p",text:"Denn im Trainingsdatensatz waren alle Wolfsfotos im Winter im Schnee aufgenommen worden, während die Husky-Fotos in Gärten oder auf Rasen entstanden!"},{t:"link",href:"https://arxiv.org/pdf/1602.04938",label:"âWhy Should I Trust You?â, die Forschungsarbeit zu LIME",note:"arXiv, 2016, auf Englisch"},{t:"p",text:"Gut, dieses Problem wirkt nicht allzu dramatisch, zumal sich mit LIME âerklärenâ lieÃ, was schiefging. In Wirklichkeit ist die hier vorgeschlagene Lösung jedoch sehr begrenzt."},{t:"h2",text:"Wenn es ernst wird: der Fall Amazon"},{t:"p",text:"Was passiert, wenn es um etwas Folgenreicheres geht? Wenn das Problem in den Ausgangsdaten steckt und man sich nicht die richtigen Fragen stellt?"},{t:"p",text:"Amazons ursprüngliches Ziel war der Traum jeder Personalabteilung: ein Algorithmus, der 100 Lebensläufe liest und automatisch die 5 besten Profile ausgibt, mit einer Bewertung von 1 bis 5 Sternen."},{t:"h3",text:"1. Die Ursache: ein von Beginn an verzerrter Datensatz"},{t:"p",text:"Zum Training dieses Modells fütterten Amazons Ingenieure es mit den Lebensläufen, die dem Unternehmen über einen Zeitraum von 10 Jahren zugegangen waren â samt der damaligen Einstellungsentscheidungen."},{t:"callout",label:"DAS PROBLEM",text:"Da die Tech-Branche historisch stark männlich geprägt ist, stammte die groÃe Mehrheit der in diesen 10 Jahren ausgewählten Lebensläufe von Männern."},{t:"p",text:"Das Modell tat genau das, wofür Machine Learning gemacht ist: **wiederkehrende statistische Korrelationen** in vergangenen Erfolgen finden, um künftige vorherzusagen."},{t:"h3",text:"2. Der Blackbox-Effekt und die frauenfeindliche Schlagseite"},{t:"p",text:"Statt die tatsächlichen Kompetenzen zu bewerten (Code, Abschlüsse, Projekte), lernte der Algorithmus von selbst, das **Geschlecht** als stärkstes Vorhersagekriterium heranzuziehen. Konkret:"},{t:"list",items:["**Direkte Abwertung.** Das Werkzeug zog Punkte ab, wenn das Wort *âwomenâsâ* im Lebenslauf auftauchte, etwa âKapitänin des Frauen-Schachteamsâ oder âVorsitzende des Clubs der Ingenieurinnenâ.","**Abgewertete Absc
91hlüsse.** Der Algorithmus senkte die Bewertung von Bewerberinnen zweier privater Frauenhochschulen.","**Bevorzugter Wortschatz.** Das Werkzeug bevorzugte Tätigkeitsverben, die statistisch häufiger in Lebensläufen von Männern vorkamen, etwa *executed* oder *captured*."]},{t:"h3",text:"3. Warum die Korrektur scheiterte"},{t:"p",text:"Als die Ingenieure die Schlagseite bemerkten, versuchten sie gegenzusteuern. Doch bei komplexem Machine Learning **genügt es nicht, ein Wort zu verbieten**: Sie untersagten dem Algorithmus, das Wort *âwomenâsâ* zu lesen â und das Modell fand sofort **Ersatzvariablen** (*proxy variables*). Es erkannte das Geschlecht an anderen indirekten Hinweisen: auÃerschulischen Aktivitäten, Satzbau, der Wahl bestimmter Wörter."},{t:"callout",label:"DIE REGEL ZUM MERKEN",text:"Ist eine Verzerrung tief in den Daten verankert, findet der Algorithmus im Machine Learning immer einen Umweg, um sie weiter zu nutzen â sofern das seine theoretische Vorhersage verbessert."},{t:"p",text:"Als 2017 klar wurde, dass sich weder die Neutralität des Werkzeugs garantieren noch sämtliche internen Mikroentscheidungen des Modells nachvollziehen lieÃen, **stellte Amazon das Projekt endgültig ein und löste es auf**."},{t:"link",href:"https://www.reuters.com/article/us-amazon-com-jobs-automation-insight-idUSKCN1MK08G/",label:"Die Reuters-Recherche zu Amazons Recruiting-Werkzeug",note:"Reuters, 2018, auf Englisch"},{t:"p",text:"Aber habe ich Ihnen nicht gesagt, dass LLMs zu derselben Familie gehören? Und raten Sie mal: Lebensläufe werden zunehmend von KI ausgewertet. Was tun die Bewerber also? Sie passen ihren Lebenslauf an, damit die KI ihnen wohlgesonnen ist."},{t:"p",text:"Sie verstehen also, wie wichtig es ist, die möglichen Probleme eines Algorithmus vorwegzunehmen, der sich nicht erklären kann â und vor allem die Trainingsdaten im Griff zu haben, um schädliche Verzerrungen zu vermeiden. Oder aber â¦"},{t:"h2",text:"Die LLMs"},{t:"callout",label:"KURZ GEFASST",text:"Ein **LLM** (*Large Language Model*) ist ein tiefes neuronales Netz, dessen Aufgabe darin besteht, **das wahrscheinlichste nächste Wort vorherzusagen**, ausgehend von dem, was zuvor gesagt wurde. Aus einem hervorragenden Ãbersetzungswerkzeug wurde die Autovervollständigung Ihres Smartphones ⦠allerdings auf Steroiden und trainiert auf dem gesamten Web."},{t:"h3",text:"1. Die Transformer-Revolution (2017)"},{t:"p",text:"Lange Zeit lasen KIs Text **Wort für Wort, von links nach rechts**. Das Problem: Am Ende eines langen Absatzes hatten sie den Anfang bereits âvergessenâ."},{t:"p",text:"2017 erfanden Forscher bei Google eine neue Architektur für neuronale Netze, die alles veränderte: den **Transformer**. Seine Geheimwaffe? Der **Attention**-Mechanismus (*self-attention*). Dank ihm liest die KI nicht mehr Wort für Wort: Sie erfasst den ganzen Satz auf einmal und versteht den Gesamtzusammenhang."},{t:"p",text:"*Beispiel:* In âDer Kiefer schmerzt, während der Kiefer im Wald wächstâ erkennt die KI dank der umgebenden Wörter sofort, dass zuerst der Knochen und dann der Baum gemeint ist."},{t:"p",text:"Ursprünglich arbeitete diese KI mit **zwei Bausteinen**, denn sie war für die Ãbersetzung gedacht. Der **Encoder** (das âVerstehenâ) las den ganzen Satz auf einmal, um seinen tieferen Sinn zu erfassen; der **Decoder** (das âErzeugenâ) nahm diesen Sinn und schrieb die Ãbersetzung Wort für Wort."},{t:"diagram",name:"encoderDecoder"},{t:"h3",text:"2. Die entscheidende Wende: warum der Encoder wegfiel"},{t:"p",text:"Beim Versuch, KIs zu bauen, die alles können (sich unterhalten, programmieren, zusammenfassen, schlussfolgern), erkannten die Forscher etwas Geniales: **Man braucht den Encoder gar nicht mehr.** Modelle wie ChatGPT, Llama oder Mistral sind heute reine **Decoder-Architekturen** (*decoder-only*)."},{t:"list",ordered:!0,items:["**Text fortzusetzen heiÃt bereits, ihn verstanden zu haben.** Für einen Decoder ist alles eine Geschichte, die vervollständigt werden will. Geben Sie ihm eine Frage, ist die logische Fortsetzung die Antwort. Geben Sie ihm einen deutschen Text, kann die logische Fortsetzung dessen Ãbersetzung sein. âVerstehenâ und âErzeugenâ müssen nicht mehr getrennt werden.","**Einfachheit vor allem.** Mit nur einem Baustein wurde es sehr viel einfacher, riesige Modelle auf Billionen von Daten zu trainieren."]},{t:"h3",text:"Wie funktioniert das in der Praxis? Die kausale Maske"},{t:"p",text:"Hier liegt die eigentliche technische Finesse. Da kein Encoder mehr den gesamten Text vorab liest, nutzt der Decoder eine sogenannte **kausale Maske**. Das ist eine strenge mathematische Regel: **Die KI tastet sich blind in die Zukunft vor. Sie darf NUR die vergangenen Wörter ansehen, um das nächste zu erraten.**"},{t:"p",text:"Soll das Modell *âDie Katze schläft auf dem Sofaâ* schreiben:"},{t:"list",ordered:!0,items:["Es sieht [Anfang] â es sagt **âDieâ** voraus","Es sieht *Die* â es sagt **âKatzeâ** voraus","Es sieht *Die Katze* â es sagt **âschläftâ** voraus","Es sieht *Die Katze schläft* â es sagt **âaufâ** voraus â¦"]},{t:"p",text:"Jedes erzeugte Wort wird sofort wieder in sein Sichtfeld eingespeist, um das nächste vorherzusagen. Das nennt man **autoregressive** Arbeitsweise."},{t:"h3",text:"Und bei Bild, Video oder Musik? Genauso!"},{t:"p",text:"Wir haben viel über Text gesprochen â aber wie steht es um generative KIs für Bilder (Midjourney, DALL·E) oder Musik (Suno, Udio)? **
91Bis auf ein Detail bleibt die zugrunde liegende Logik exakt dieselbe.** Für einen Computer ist alles Mathematik: Ein Text ist eine Folge von Wörtern, ein Bild ein Raster aus Pixeln, ein Musikstück eine Folge von Audiofrequenzen."},{t:"list",ordered:!0,items:["**Bei Musik.** Die KI wendet genau dasselbe Rezept an wie bei Text. Statt das nächste *Wort* im Satz vorherzusagen, lernt sie, die nächste *Note* oder das nächste Klangstück vorherzusagen.","**Bei Bildern (Diffusionsmodelle).** Die KI lernt zunächst, ein Bild zu zerstören, indem sie âRauschenâ hinzufügt (wie Schnee auf einem alten Fernseher). AnschlieÃend lernt ihr neuronales Netz den umgekehrten Weg: **das Rauschen Schritt für Schritt zu entfernen**, bis aus dem Chaos ein klares Bild entsteht â geleitet von Ihrem Text (*Prompt*)."]},{t:"callout",label:"DAS SCHLUSSWORT",text:"Ob es darum geht, ein Gedicht zu schreiben, eine Symphonie zu komponieren oder einen Drachen zu zeichnen: **die gesamte heutige generative KI beruht auf Deep Learning**, das komplexe Muster in Daten erkennt, um anschlieÃend das nächste Muster probabilistisch neu zu erzeugen."},{t:"h2",text:"Wenn das Gedächtnis beeinflusst ist"},{t:"p",text:"Das war theoretisch, aber interessant. Nun zu weniger erfreulichen Dingen. Erinnern Sie sich an die Feststellung: **Ein LLM denkt nicht nach und sucht nicht die âWahrheitâ.** Es spiegelt schlicht die Statistik der Texte wider, mit denen es trainiert wurde â mit all ihren Vorzügen, aber auch ihren Vorurteilen und ideologischen Schlagseiten."},{t:"p",text:"Deshalb betont unter anderem Yann LeCun, dass LLMs nur eine Art groÃes Gedächtnis sind. Doch was passiert, wenn dieses Gedächtnis ⦠beeinflusst ist?"},{t:"p",text:"Im Juni 2026 testete die französische **Generaldirektion des Schatzamts** (im Finanzministerium) ein internes Werkzeug namens *HéphAIstos*, das rund hundert hohe Beamte bei Verwaltungsaufgaben und wirtschaftlichen Analysen unterstützen sollte. Das gewählte Modell unter der Haube war **Qwen**, ein sehr leistungsfähiges LLM des chinesischen Konzerns **Alibaba**."},{t:"list",ordered:!0,items:["**Tendenziöse Antworten.** Bei den Tests meldeten mehrere Mitarbeitende, die KI liefere verzerrte oder an der politischen Doktrin Pekings ausgerichtete Antworten, sobald es um China, internationale Handelsfragen oder Geopolitik ging.","**Sofortiger Stopp.** Nach nur drei Wochen Erprobung stoppte das Schatzamt den Einsatz von Qwen abrupt.","**Souveräner Wechsel.** Bereits am Folgetag ersetzte die Verwaltung es durch ein Modell des französischen Start-ups **Mistral AI**."]},{t:"link",href:"https://www.clubic.com/actualite-618721-ia-chinoise-bercy-stoppe-un-test-apres-des-reponses-jugees-biaisees.html",label:"Das Finanzministerium stoppt einen Test wegen als verzerrt bewerteter Antworten",note:"Clubic, auf Französisch"},{t:"callout",label:"DIE LEHRE AUS DIESER EPISODE",text:"Selbst wenn das Modell lokal lief (ohne Internetverbindung und ohne Datenabfluss ins Ausland), waren **seine âkulturellen Filterâ beim Training in China in seine Neuronen eingeschrieben**. Eine Regierung kann sich nicht auf eine ausländische KI stützen, um wirtschaftliche oder politische Entscheidungen auszurichten, ohne einen Einflussbias zu riskieren."},{t:"p",text:"Nun stehen Wahlen bevor, und wir wissen, dass Menschen KIs nach ihrer Meinung fragen werden. Was bedeutet das für die Demokratie?"},{t:"h3",text:"Die Halluzinationen"},{t:"p",text:"Da das LLM lediglich das *wahrscheinlichste nächste Wort* berechnet, weià es nicht, ob es die Wahrheit sagt. Fehlt ihm eine Information, erfindet es Fakten, Gesetze oder historische Zitate â mit vollkommener Selbstsicherheit."},{t:"h3",text:"Datendiebstahl und Urheberrecht"},{t:"p",text:"Um diese Modelle zu trainieren, haben Unternehmen Milliarden von Webseiten abgesaugt, ohne Autoren, Künstler oder Medien zu fragen. Das wirft ein erhebliches ethisches und rechtliches Problem beim geistigen Eigentum auf."},{t:"h2",text:"Open Weight ist nicht Open Source"},{t:"p",text:"Heute stellen Unternehmen wie Meta (mit *Llama*) oder französische Perlen wie *Mistral AI* ihre Modelle âkostenlosâ für alle bereit. In den Medien heiÃt es dann häufig, sie seien **Open Source**. Das stimmt aber nicht! In Wirklichkeit sind sie **Open Weight** (âoffene Gewichteâ). Und dieser Unterschied ändert ethisch wie rechtlich absolut alles."},{t:"p",text:"In einem neuronalen Netz sind die **Gewichte** (*weights*) die Milliarden von Zahlen, die beim Training justiert wurden. Sie sind die endgültige mathematische Einstellung des Modells."},{t:"list",items:["**Was man Ihnen bei Open Weight gibt:** die fertige âBlackboxâ. Sie können sie herunterladen, auf Ihrem Server installieren und kostenlos betreiben.","**Was man Ihnen vorenthält:** das Kochrezept, also die genaue Datenbasis, mit der trainiert wurde (die rohen, aus dem Web abgesaugten Dateien), und den präzisen Code des Trainingsalgorithmus."]},{t:"h3",text:"Warum halten die GroÃen die Daten geheim?"},{t:"list",ordered:!0,items:["**Das rechtliche Risiko (Urheberrecht).** Um diese riesigen Modelle zu trainieren, wurden Petabytes an kostenpflichtigen Büchern, Presseartikeln, Bildern und Code ohne Erlaubnis abgesaugt. Den Datensatz zu veröffentlichen hieÃe, den Rechteinhabern die Beweise für eine Klage frei Haus zu liefern.","**Das Betriebsgeheimnis.** Der eigentliche Wert eines LLM liegt heute nicht allein in der Architektur des neuronalen Netzes, sondern im **Bereinigen und Sortieren der Daten**. Den Datensatz offenzulegen hieÃe, der Konkurrenz die eigene Feinarbeit zu schenken.","**Das Sicherheitsrisiko.** Ein zu 100 % offenes Modell würde jedem erlauben, genau zu sehen, wie sich die Sicherheitsschranken aufheben lassen â etwa jene, die verhindern, dass es den Bau einer Waffe erklärt oder schädliche Inhalte erzeugt."]},{t:"p",text:"Es gibt gleichwohl Fälle von echtem Open Source. Beim Projekt **Nemotron** (mit den Familien *Nemotron-3* oder *Nemotron-CC*) hat NVIDIA nicht nur das fertige Modell zum Herunterladen bereitgestellt, sondern alle drei Säulen geöffnet:"},{t:"list",ordered:!0,items:["**Die Modellgewichte** (*model weights*): das fertige, einsatzbereite Gehirn der KI.","**Der Code und die Trainingsrezepte** (*training recipes*): die Algorithmen, Konfigurationen und der Quellcode, mit denen sich das Modell exakt so nachtrainieren oder verändern lässt wie bei ihnen.","**Die Datensätze** (*open datasets*): NVIDIA hat auf Hugging Face Billionen von Trainings-*Tokens* veröffentlicht, darunter Rohtexte, Code und Daten zur Sicherheitsfilterung."]},{t:"h3",text:"Warum also öffnen, wenn man nicht alles öffnet?"}
91,{t:"p",text:"Das ist eigentlich recht einfach, und es bleibt meine Deutung. Bei den GAFAM geht es meist darum, Konkurrenten einzuholen und den eigenen Standard in bestimmten Märkten durchzusetzen. Deshalb hatte selbst OpenAI (mit sehr fragwürdigem Erfolg, aber ich vermute, das war Absicht) sein Open-Weight-Modell *gpt-oss* herausgebracht. Auf Ebene der Nationen ist es zugleich ein Mittel, den Markt auszutrocknen: China, das nach den amerikanischen Modellen kam, hat allen Grund, dass Menschen chinesische Modelle nutzen, statt US-Unternehmen zu bezahlen."},{t:"p",text:"Und beim echten Open Source? Nemotron kommt von NVIDIA â keinem Softwareanbieter, der Ihnen ein ChatGPT-Abo verkaufen will. Das Geschäft von NVIDIA ist der Verkauf von Grafikchips. Je mehr Daten und Code die Community hat, um KIs zu bauen, desto mehr NVIDIA-Server kaufen Unternehmen, um sie zu betreiben. Indem NVIDIA Trainingsdatensätze von enormer Qualität (sehr sauber aufbereitet) allen zur Verfügung stellt, wird es zum Standard, auf dem die weltweite Forschung arbeitet. Und wenn mehr Menschen Modelle nutzen ⦠werden mehr Chips verkauft ;)"},{t:"link",href:"https://developer.nvidia.com/topics/ai/nemotron",label:"NVIDIA Nemotron: Modelle, Rezepte und Datensätze",note:"developer.nvidia.com, auf Englisch"},{t:"p",text:"Wohlgemerkt: Ich behaupte nicht zynisch, dass es niemanden gäbe, der Open Source aus Ãberzeugung, Transparenz und Werten betreibt. Aber das ist meine Deutung der aktuellen Lage. Deshalb ist es misslich, auf dem europäischen Kontinent nur einen einzigen Akteur zu haben â und zugleich beruhigend zu wissen, dass dieser âKampfâ uns nahezu fortlaufend neue Open-Weight-Modelle beschert: Solange der Abstand zwischen dem Ersten und dem Zweiten nicht astronomisch ist, werden die Zweiten stets versuchen, die Ersten auszutrocknen ;)"},{t:"h2",text:"Kleiner Bonus: die evolutionären Algorithmen"},{t:"p",text:"**Evolutionäre Algorithmen** sind der Beweis, dass die Natur die beste Optimierungsmethode längst erfunden hatte, bevor es Computer gab. Um diese KI zu verstehen, genügt ein Blick auf **die Darwinfinken der Galápagos-Inseln**: Diese Vögel haben nie âbeschlossenâ, ihre Schnabelform zu ändern, um Samen besser zu knacken. Die Natur erzeugte schlicht zufällige Variationen, eliminierte gnadenlos jene, die sich nicht ernähren konnten, und lieà die Ãberlebenden ihren vorteilhaften Schnabel an die nächste Generation weitergeben. Ein evolutionärer Algorithmus macht genau dasselbe, nur mit Millionen Berechnungen pro Sekunde."},{t:"p",text:"Konkret erzeugt der Algorithmus zunächst eine âPopulationâ aus Tausenden völlig absurder, zufällig erzeugter Lösungen. AnschlieÃend setzt er sie einem Umweltdruck aus: einer Bewertungsfunktion, die die schlechtesten Kandidaten sofort aussortiert. Die wenigen Ãberlebenden werden dann âgekreuztâ, ihre Codes vermischt, und eine Prise zufälliger Mutationen kommt hinzu, um neue Wege zu erkunden. **Das ist eine KI, die vorankommt, ohne zu verstehen: Sie sucht nicht nach den Ursachen eines Problems, sie sammelt bloà die kleinen Erfolge des Zufalls.**"},{t:"p",text:"Eines der eindrücklichsten Beispiele dieses âdigitalen Darwinismusâ bleibt der Entwurf der Satellitenantenne **ST5 der NASA**. Die Ingenieure lieÃen einen evolutionären Algorithmus über Tausende Generationen virtuelle Drähte verbiegen. Das Ergebnis? Die KI brachte eine völlig verdrehte, asymmetrische Form hervor, die an eine verbogene Büroklammer erinnert und auf die kein Mensch gekommen wäre â deren elektromagnetische Leistung jedoch alles übertraf, was klassische Ingenieurslogik hervorgebracht hatte."},{t:"link",href:"https://en.wikipedia.org/wiki/Evolved_antenna",label:"Die evolvierte Antenne der NASA",note:"Wikipedia, auf Englisch"},{t:"link",href:"https://www.youtube.com/watch?v=MD4hH1ObrYg",label:"Ein ziemlich verrückter französischer YouTube-Kanal zu Projekten dieser Art ð«ð·",note:"YouTube"},{t:"h2",text:"Und in der Praxis?"},{t:"p",text:"Sehr gut, wir haben die ganze Theorie gesehen â aber wie sieht es in der Praxis aus? Ins Detail gehen wir, sobald wir alle Bausteine durchlaufen haben; ich möchte nur, dass wir eine gemeinsame Verständnisgrundlage haben, bevor es weitergeht."},{t:"p",text:"Um Ihnen aber schon ein paar Anhaltspunkte zu geben: Wenn Sie mit KI arbeiten, arbeiten Sie mit einem Werkzeug, das nur **X von 100 Malen** funktioniert â wegen seines statistischen Ansatzes und meist auch wegen der Beschaffenheit der Daten, die Sie ihm geben. Für einen Computer sind âHallo, wie gehtâs?â und âGuten Tag, wie geht es Ihnen?â unterschiedliche Daten, die zu unterschiedlichen Ergebnissen führen können. Ebenso: Sagen Sie Ihrem ChatGPT zweimal Hallo â Sie werden sehen, dass Sie nicht exakt dieselbe Antwort bek
91ommen."},{t:"p",text:"Um damit umzugehen, verwenden KI-Ingenieure MaÃzahlen, die die Zuverlässigkeit ihrer Lösung bestimmen. Ãblicherweise nutzt man eine Kennzahl namens **F1** oder eine ihrer Varianten. Ich erkläre sie hier noch nicht, aber verstehen Sie: Es geht darum, den Anteil der Fälle zu bestimmen, in denen die KI sich irrt â und wie schwer dieser Irrtum wiegt."},{t:"callout",label:"DIE AKZEPTANZSCHWELLE HÃNGT VOM PROJEKT AB",text:"Es ist wenig dramatisch, wenn eine KI bei der Erzeugung eines Bildes danebenliegt, das anschlieÃend ein Mensch prüft. Deutlich dramatischer ist es, wenn sie beim Steuern eines Autos danebenliegt."}]},{slug:"le-harness-le-modele-nest-que-le-moteur",number:4,title:"Der Harness: Das Modell ist nur der Motor",updated:"2026-08-09",author:"Benjamin",readingMinutes:16,metaDescription:"Context Engineering, Tools, MCP, agentische Schleife, Multi-Agenten, A2A, Human-in-the-loop, Observability: die Softwareschicht, die aus einem KI-Modell ein nutzbares Produkt macht.",lede:"Zwei Anwendungen können exakt dasselbe Modell nutzen und haben trotzdem weder dieselben Fähigkeiten noch dieselbe Verlässlichkeit. Was sie trennt, ist die Schicht, über die am wenigsten gesprochen wird: der Harness.",body:[{t:"p",text:"Sie haben wahrscheinlich schon jemanden sagen hören:"},{t:"quote",text:"Unser Produkt nutzt GPT."},{t:"p",text:"Oder Claude. Oder Mistral. Oder Qwen."},{t:"p",text:"Gut."},{t:"p",text:"Aber das sagt Ihnen letztlich wenig darüber, was das Produkt wirklich tut."},{t:"p",text:"Zwei Anwendungen können exakt dasselbe Modell nutzen und dennoch radikal unterschiedliche Fähigkeiten, Leistungen und sogar Verhaltensweisen haben."},{t:"p",text:"Warum?"},{t:"p",text:"Weil zwischen Ihrer Anwendung und dem Modell eine Schicht sitzt, über die weit weniger gesprochen wird: **der Harness**."},{t:"p",text:"Und Sie werden sehen: Es ist wahrscheinlich eine der wichtigsten Schichten der modernen
91KI."},{t:"h2",text:"Zurück zu unserem Dokument"},{t:"p",text:"Im ersten Artikel dieser Reihe hatten wir ein sehr einfaches Beispiel genommen: Sie laden ein groÃes Dokument hoch und fragen:"},{t:"quote",text:"Fasse mir das in 5 Punkten zusammen."},{t:"p",text:"Wir hatten gesehen, dass klassische Software schon eingreift, bevor Ihr Dokument überhaupt beim Modell ankommt:"},{t:"list",items:["den Text aus dem PDF extrahieren,","das Dokument zerlegen,","die interessanten Passagen suchen,","den Prompt bauen,","die Informationen an das Modell schicken,","seine Antwort einsammeln,","es gegebenenfalls noch einmal machen lassen."]},{t:"p",text:"Damals hatte ich das schlicht **die Softwareschicht** genannt."},{t:"p",text:"Heute setzt sich für einen groÃen Teil dieser Mechanik ein Begriff durch: **der Harness.**"},{t:"h2",text:"Was ist denn nun ein Harness?"},{t:"p",text:"Sehr stark vereinfacht:"},{t:"quote",text:"Das Modell denkt. Der Harness organisiert seine Arbeit."},{t:"p",text:"Stellen Sie sich einen Motor mitten in Ihrer Garage vor."},{t:"p",text:"Auch mit 500 PS kommen Sie damit nicht weit."},{t:"p",text:"Er braucht:"},{t:"list",items:["ein Lenkrad,","ein Getriebe,","Räder,","Bremsen,","Sensoren,","einen Tank,","ein Armaturenbrett,","und einen Fahrer oder ein System, das entscheiden kann, wohin es geht."]},{t:"p",text:"Bei einem KI-Modell ist es genauso."},{t:"p",text:"Das Modell kann extrem leistungsfähig sein, aber es kennt Ihre internen Dokumente nicht von selbst, es hat keinen Zugriff auf Ihr CRM, es weià nicht zwangsläufig, wann es im Internet suchen soll, und es entscheidet nicht auf magische Weise, wie eine komplexe Aufgabe in zehn Schritte zerlegt wird."},{t:"p",text:"All das muss von Software organisiert werden."},{t:"p",text:"Das ist der Harness."},{t:"callout",label:"DIE FORMEL ZUM MERKEN",text:"AGENT = MODELL + HARNESS"},{t:"p",text:"Und das ändert vieles daran, wie wir auf KI schauen."},{t:"h2",text:"Ein Modell allein ist letztlich ziemlich begrenzt"},{t:"p",text:"Nehmen wir ein klassisches LLM."},{t:"p",text:"Sie geben ihm Text. Es gibt Ihnen Text."},{t:"p",text:"Das ist natürlich schon beeindruckend."},{t:"p",text:"Aber stellen Sie sich nun vor, Sie fragen es:"},{t:"quote",text:"Sag mir, wie viel wir dem Kunden Dupont dieses Jahr in Rechnung gestellt haben, und vergleiche das mit dem Vorjahr."},{t:"p",text:"Ihr Modell hat vermutlich keine Ahnung, wer Dupont ist."},{t:"p",text:"Es kennt Ihre Rechnungssoftware nicht."},{t:"p",text:"Es hat nicht die nötigen Zugriffsrechte."},{t:"p",text:"Es weià nicht, welche Datenbank es abfragen soll."},{t:"p",text:"Und vor allem wollen Sie ihm wahrscheinlich nicht bei jeder Frage Ihre gesamte Buchhaltung geben."},{t:"p",text:"Sie müssen ihm also eine Umgebung bauen. Zum Beispiel:"},{t:"list",ordered:!0,items:["verstehen, dass die Frage die Rechnungsstellung betrifft;","den Kunden im CRM identifizieren;","Ihr Buchhaltungswerkzeug aufrufen;","nur die notwendigen Daten abrufen;","gegebenenfalls eine Berechnung durchführen;","die Ergebnisse an das Modell übergeben;","prüfen, ob die Antwort das erwartete Format einhält;","das Ergebnis dem Nutzer anzeigen."]},{t:"p",text:"Das Modell hat nur einen Teil der Arbeit erledigt."},{t:"p",text:"Alles Ãbrige gehört zum Harness."},{t:"diagram",name:"modelVsHarness"},{t:"h2",text:"Erste Aufgabe: den richtigen Kontext liefern"},{t:"p",text:"Sie haben in den letzten Jahren vielleicht sehr viel über **Prompt Engineering** gehört. Wie schreibt man den besten Prompt?"},{t:"list",items:["âDu bist seit 25 Jahren Steuerberater â¦â","âAntworte Schritt für Schritt â¦â","âWenn du die Antwort nicht kennst, sag es â¦â"]},{t:"p",text:"Das ist nützlich."},{t:"p",text:"Aber wir gehen gerade von *Prompt Engineering* zu einer viel breiteren Logik über: **Context Engineering**."},{t:"p",text:"Die Frage lautet weniger:"},{t:"quote",text:"Wie soll ich meinen Satz formulieren?"},{t:"p",text:"und mehr:"},{t:"quote",text:"Welche Informationen braucht das Modell wirklich, um diese Aufgabe zu erledigen?"}
91,{t:"p",text:"Denn sein Kontextfenster mit 300 nutzlosen Seiten zu füllen, ist selten eine gute Idee."},{t:"p",text:"Der Harness kann also die relevanten Elemente auswählen:"},{t:"list",items:["die Vorgaben des Unternehmens;","den relevanten Verlauf des Gesprächs;","bestimmte Dokumente;","die Ergebnisse einer Suche;","die Antworten eines Tools;","die Arbeit aus den vorherigen Schritten."]},{t:"p",text:"Und dem Modell nur das übergeben, was es in genau diesem Moment braucht."},{t:"diagram",name:"contextSelection"},{t:"p",text:"Hier taucht insbesondere unser bekanntes **RAG** wieder auf, über das wir bereits gesprochen hatten. Statt dem Modell Ihre gesamte Dokumentation zu geben: **Frage â Suche nach den interessanten Passagen â Modell â Antwort**."},{t:"p",text:"Der Harness orchestriert die Suche."},{t:"p",text:"Das Modell analysiert die Informationen, die man ihm bringt."},{t:"h2",text:"Zweite Aufgabe: der KI Werkzeuge geben"},{t:"p",text:"Hier wird es deutlich interessanter."},{t:"p",text:"Ein LLM kann inzwischen entscheiden:"},{t:"quote",text:"Um diese Frage zu beantworten, muss ich dieses Tool benutzen."},{t:"p",text:"Das kann sein:"},{t:"list",items:["eine Suche im Internet durchführen;","eine Datenbank abfragen;","ein Dokument lesen;","eine E-Mail verschicken;","einen Kalender einsehen;","Code ausführen;","Ihr CRM aufrufen;","eine andere interne Software starten."]},{t:"p",text:"Damit bekommen Sie langsam das, was man gemeinhin einen **Agenten** nennt."},{t:"p",text:"Nehmen wir ein sehr einfaches Beispiel. Sie sagen:"},{t:"quote",text:"Organisiere mir nächste Woche einen Termin mit Paul."},{t:"p",text:"Das Modell kann Ihre Absicht verstehen."},{t:"p",text:"Aber der Harness muss es ihm ermöglichen:"},{t:"list",ordered:!0,items:["Paul zu identifizieren;","Ihren Kalender einzusehen;","die freien Zeiten abzurufen;","gegebenenfalls Pauls Kalender einzusehen;","einen Termin vorzuschlagen;","auf Ihre Freigabe zu warten;","den Termin anzulegen."]},{t:"p",text:"Und vor allem ⦠**muss man die KI davon abhalten, Unsinn zu machen.**"},{t:"p",text:"Sie wollen Ihrem Agenten wahrscheinlich erlauben, Ihren Kalender zu lesen. Sie haben vielleicht weniger Lust, ihm zu erlauben, sämtliche Termine zu löschen."},{t:"p",text:"Auch das ist Aufgabe dieser Softwareschicht."},{t:"h2",text:"MCP: der USB-Anschluss unserer Agenten?"},{t:"p",text:"Wenn jeder Entwickler für jedes Tool eine eigene Verbindung bauen muss, erschaffen wir natürlich schnell wieder die wunderbare Welt der IT-Integrationen, in der jeder seine eigene API, sein eigenes Format und seine 453-seitige Dokumentation hat."},{t:"p",text:"Unter anderem als Antwort darauf sind Protokolle wie **MCP â Model Context Protocol** entstanden."},{t:"p",text:"Die Idee ist recht einfach: standardisieren, wie ein Agent Tools oder Ressourcen entdecken und nutzen kann."},{t:"callout",label:"DENKEN SIE AN EINEN USB-ANSCHLUSS",text:"Ihre Maus und Ihre Tastatur sind völlig verschiedene Geräte. Aber Ihr Computer weià dank einer standardisierten Schnittstelle, wie er mit beiden spricht. MCP versucht, eine ähnliche Logik für die Werkzeuge von KI zu schaffen."},{t:"p",text:"Genau deshalb haben wir bei SOCLE unsere Agenten um diese Art von Protokoll herum gebaut: um möglichst zu vermeiden, für jede neue Fähigkeit eine eigene Integration neu zu erfinden."},{t:"h2",text:"Dritte Aufgabe: entscheiden, was als Nächstes kommt"},{t:"p",text:"Dem Modell ein Tool zu geben, ist eine Sache."},{t:"p",text:"Man muss auch entscheiden, **wann es genutzt wird**."},{t:"p",text:"Hier kommt ins Spiel, was man gemeinhin die **agentische Schleife** nennt. Stark vereinfacht: **beobachten â nachdenken â handeln â das Ergebnis beobachten â von vorn**."},{t:"diagram",name:"agenticLoop"},{t:"p",text:"Nehmen wir die Suche nach einem Restaurant. Ihr Agent könnte:"},{t:"list",ordered:!0,items:["verstehen, dass Sie ein italienisches Restaurant suchen;","ein Suchwerkzeug benutzen;","fünf Ergebnisse erhalten;","feststellen, dass Sie eines wollten, das heute Abend offen hat;","die Ãffnungszeiten prüfen;","die geschlossenen Restaurants ausschlieÃen;","die Verfügbarkeiten ansehen;","Ihnen die drei besten Vorschläge präsentieren."]},{t:"p",text:"Wir machen also nicht mehr zwangsläufig **Nutzer â Modell â Antwort**, sondern **Nutzer â Modell â Tool â Modell â Tool â Modell â Antwort**."},{t:"p",text:"Und das kann über mehrere Dutzend Schritte weitergehen."},{t:"p",text:"Der Harness ist die Mechanik, die diese Schleife am Leben hält."},{t:"list",items:["Er reicht die Ergebnisse weiter.","Er bewahrt den Zustand.","Er kontrolliert die Zahl der Iterationen.","Er erkennt Fehler.","Er kann die KI auffordern, die Strategie zu ändern.","Und vor allem entscheidet er, wann es Zeit ist aufzuhören."]},{t:"p",text:"Denn ein Agent, der ewig nachdenkt, ist philosophisch faszinierend, wirtschaftlich aber ziemlich katastrophal."},{t:"h2",text:"Und wenn ein Modell nicht reicht?"},{t:"p",text:"Wir können noch weiter gehen."},{t:"p",text:"Warum für absolut jede Aufgabe dasselbe Modell verwenden?"},{t:"p",text:"Nehmen wir eine aufgezeichnete Besprechung. Wir müssen:"}
91,{t:"list",items:["eine Audiodatei verstehen;","die Sprecher unterscheiden;","ihre Worte transkribieren;","bestimmte Fehler korrigieren;","den fachlichen Kontext verstehen;","gegebenenfalls eine Zusammenfassung erzeugen."]},{t:"p",text:"Ein einziges riesiges Modell könnte theoretisch versuchen, alles zu machen. Aber das ist nicht zwangsläufig die beste Lösung."},{t:"p",text:"Bei SOCLE kombiniert unser Transkriptionssystem zum Beispiel mehrere Verarbeitungsschritte: Ein auf Spracherkennung spezialisierter Agent erstellt die Transkription, danach kann ein LLM-Agent eine kontextuelle Korrektur vornehmen und dabei Sprecher und fachliche Informationen berücksichtigen."},{t:"p",text:"Jede Technologie wird dort eingesetzt, wo sie sinnvoll ist."},{t:"p",text:"Genau das ist der Vorteil, in einem **Ãkosystem von Agenten** statt in einem einzigen Modell zu denken."},{t:"h2",text:"Multi-Agenten"},{t:"p",text:"Und weil wir es natürlich lieben, Dinge zu verkomplizieren, sobald sie funktionieren, können wir unserem Harness mehrere Agenten geben."},{t:"p",text:"Stellen Sie sich ein Team in einem Unternehmen vor. Sie haben:"},{t:"list",items:["eine Juristin;","einen Entwickler;","eine Vertrieblerin;","einen Buchhalter."]},{t:"p",text:"Sie könnten eine extrem kluge Person einstellen und von ihr verlangen, in allen vier Bereichen Expertin zu werden. Oder mehrere Spezialisten einsetzen und sie zusammenarbeiten lassen."},{t:"p",text:"In einem Multi-Agenten-System ist das Prinzip ähnlich. Ein Agent kann die Anfrage entgegennehmen und sie an einen spezialisierteren Agenten weiterreichen."},{t:"diagram",name:"multiAgent"},{t:"p",text:"Der Harness wird damit zu einer Art Dirigent."},{t:"list",items:["Wer arbeitet?","In welcher Reihenfolge?","Welche Informationen müssen von einem Agenten zum anderen weitergegeben werden?","Sollen sie parallel arbeiten?","Wer prüft das Ergebnis?"]},{t:"p",text:"Bei SOCLE nutzen wir insbesondere das Protokoll **A2A â Agent-to-Agent**, um diesen Austausch zwischen Agenten zu strukturieren."},{t:"p",text:"Das Ziel bleibt dasselbe: verhindern, dass jede neue Kombination bedeutet, das Produkt komplett neu zu bauen."},{t:"h2",text:"Vierte Aufgabe: das richtige Modell wählen"},{t:"p",text:"Und hier werden Sie verstehen, warum ich Ihnen im vorigen Kapitel erklärt habe, dass ein Modell letztlich ânur ein Algorithmusâ ist."},{t:"p",text:"Ihr Produkt muss nicht zwangsläufig mit GPT, Claude oder Mistral verheiratet sein, bis dass der Tod Sie scheidet."},{t:"p",text:"Der Harness kann eine Abstraktionsschicht zwischen Ihrer Anwendung und Ihren Modellen bilden. Stellen Sie sich vor:"},{t:"list",items:["ein kleines schnelles Modell, um eine Anfrage einzuordnen;","ein auf Code spezialisiertes Modell, um ein Programm zu analysieren;","ein stärkeres Modell für eine komplexe Aufgabe;","ein multimodales Modell, um ein Bild zu verstehen;","ein lokales Modell für bestimmte sensible Daten."]},{t:"p",text:"Ihr Nutzer wiederum muss überhaupt nicht wissen, dass er gerade vier verschiedene Modelle benutzt hat. Er will einfach, dass sein Problem gelöst wird."},{t:"p",text:"Und das ist uns bei SOCLE besonders wichtig: **wir glauben nicht, dass ein KI-Produkt um ein Modell herum gebaut werden sollte.** Es sollte um einen Bedarf herum gebaut werden."},{t:"p",text:"Die Modelle werden damit zu Ressourcen, die das System je nach Aufgabe auswählt."},{t:"h2",text:"Das stärkste Modell ist nicht immer das beste Produkt"},{t:"p",text:"Das ist vielleicht der wichtigste Gedanke dieses Artikels."},{t:"p",text:"Stellen wir uns zwei Unternehmen vor, die exakt dasselbe Modell nutzen."},{t:"h3",text:"Unternehmen A"},{t:"p",text:"Es schickt Ihre Frage direkt mit einem riesigen 15-seitigen Prompt an das LLM."},{t:"h3",text:"Unternehmen B"},{t:"p",text:"Sein Harness:"},{t:"list",items:["erkennt Ihre Absicht;","holt nur die notwendigen Dokumente;","wählt die richtigen Tools;","kontrolliert deren Berechtigungen;","nutzt für eine Teilaufgabe ein spezialisiertes Modell;","prüft das Ergebnis;","holt bei Bedarf eine menschliche Freigabe ein;","protokolliert alle Schritte."]},{t:"callout",label:"GLEICHES MODELL",text:"Zwei völlig unterschiedliche Produkte. Und potenziell zwei völlig unterschiedliche Zuverlässigkeitsniveaus."},{t:"p",text:"Auch deshalb wird es allmählich zu wenig, KI-Lösungen nur mit der Frage âwelches LLM nutzen die?â zu vergleichen."}
91,{t:"p",text:"Das ist, als würde man zwei Autos nur danach vergleichen, wie viel PS der Motor hat. Das zählt. Aber Sie vergessen alles drumherum."},{t:"h2",text:"Human-in-the-loop: manchmal soll die KI einfach fragen"},{t:"p",text:"Ein weiteres besonders wichtiges Element eines Harness: zu wissen, wann man **nicht allein handeln** sollte."},{t:"p",text:"Stellen Sie sich eine KI im juristischen Kontext vor. Sie kann:"},{t:"list",items:["ein Gespräch transkribieren;","die Sprecher identifizieren;","eine Unstimmigkeit melden;","eine Korrektur vorschlagen."]},{t:"p",text:"Aber eine Aussage ohne menschliche Freigabe endgültig zu verändern, wäre offensichtlich eine sehr schlechte Idee."},{t:"p",text:"Der Harness kann also Kontrollpunkte einführen: **KI â Vorschlag â menschliche Freigabe â weitere Verarbeitung**."},{t:"p",text:"Das nennt man **Human-in-the-loop**."},{t:"p",text:"Und anders als in manchen sehr futuristischen KI-Visionen ist das nicht zwangsläufig ein Automatisierungsmangel. Manchmal ist es genau das, was Automatisierung nutzbar macht."},{t:"p",text:"Bei einem unserer Kunden im juristischen Bereich nutzen wir genau diesen Ansatz: Verschiedene Verarbeitungsschritte können vom Nutzer vor der Freigabe geprüft und korrigiert werden."},{t:"callout",label:"DAS ZIEL IST NICHT, DEN MENSCHEN ZU ENTFERNEN",text:"Sondern ihn genau dort einzubinden, wo seine Entscheidung wirklich Wert schafft."},{t:"h2",text:"Fünfte Aufgabe: beobachten, was passiert"},{t:"p",text:"Das ist wahrscheinlich einer der unsexysten Aspekte von KI."},{t:"p",text:"Und doch wird er unverzichtbar, sobald Sie ein System in den Produktivbetrieb bringen wollen."},{t:"p",text:"Ihr Agent hat gerade eine schlechte Antwort produziert. Warum? War es:"},{t:"list",items:["das Modell?","der Prompt?","das vom RAG geholte Dokument?","eine schlechte Antwort eines Tools?","ein Routing-Problem?","ein vorheriger Schritt, der danebenlag?","eine Information im Memory?","ein anderer Agent?"]},{t:"p",text:"Wenn Ihr System nur aus **Frage â groÃe Blackbox â Antwort** besteht: viel Glück."},{t:"p",text:"Ein industrietauglicher Harness muss deshalb auch erlauben, den Ablauf der Verarbeitung nachzuvollziehen. Bei SOCLE arbeiten wir genau daran, die einzelnen Schritte beobachtbar zu machen."},{t:"list",items:["Welcher Agent wurde aufgerufen?","Welches Tool?","Welches Dokument?","Welches Modell?","Wie lange?","In welcher Reihenfolge?"]},{t:"p",text:"Das erlaubt zu verstehen, was Ihre KI wirklich tut. Aber auch, ihre Kosten zu messen."},{t:"p",text:"Denn eine KI, die Ihnen 3 Minuten Arbeit spart und dabei pro Anfrage 12 ⬠Rechenleistung verbraucht, ist vielleicht nicht das fantastische Digitalisierungsprojekt aus der PowerPoint-Präsentation."},{t:"h2",text:"Und was ist mit der Sicherheit?"},{t:"p",text:"Sobald Sie einer KI Werkzeuge geben, wird die Frage natürlich kritisch."},{t:"p",text:"Ein Chatbot, der eine Hauptstadt halluziniert, ist ärgerlich. Ein an Ihr IT-System angeschlossener Agent, der eine Aktion halluziniert, ist etwas problematischer."},{t:"p",text:"Der Harness muss also auch Regeln durchsetzen können:"},{t:"list",items:["welche Tools zugänglich sind;","welche Aktionen eine Freigabe brauchen;","welche Daten weitergegeben werden dürfen;","wie viele Aktionen ausgeführt werden dürfen;","welche Nutzer welche Rechte haben;","welche Ergebnisse geprüft werden müssen."]},{t:"p",text:"Je handlungsfähiger die KI wird, desto wichtiger wird diese Schicht."},{t:"p",text:"Die Sicherheit eines agentischen Systems kann also nicht allein darauf beruhen: âWir haben das Modell im Prompt höflich gebeten, keinen Unsinn zu machen.â"},{t:"p",text:"Das wäre praktisch. Aber lassen wir das lieber."},{t:"h2",text:"Wo sitzt die Intelligenz eigentlich?"},{t:"p",text:"Als ChatGPT auftauchte, haben wir die gesamte Intelligenz, die wir sahen, ganz selbstverständlich dem Modell zugeschrieben. Das war logisch."},{t:"p",text:"Aber je komplexer unsere Systeme werden, desto unschärfer wird die Grenze."},{t:"p",text:"Ein Teil der Leistung kommt vom Modell. Ein anderer kommt:"},{t:"list",items:["von der Qualität der Tools;","vom Kontext, den man ihm liefert;","vom Memory;","vom RAG;","vom Routing;","von der Orchestrierung;","von den Prüfschleifen;","von den anderen Modellen ringsum."]},{t:"p",text:"Das **KI-System** wird damit wichtiger als das bloÃe Modell. Und das ist wahrscheinlich die spannendste Entwicklung, die wir derzeit beobachten."},{t:"p",text:"Wir sind von âwelches Modell nutzen Sie?â übergegangen zu **âwelches System haben Sie um Ihre Modelle herum gebaut?â**"},{t:"h2",text:"Kurz gefasst"}
91,{t:"callout",label:"WENN SIE NUR EINES MITNEHMEN",text:"Das Modell erzeugt Intelligenz, der Harness macht daraus etwas Nützliches."},{t:"p",text:"Er bringt ihm:"},{t:"list",items:["Kontext;","Dokumente;","Memory;","Tools;","Regeln;","die Fähigkeit zu handeln;","andere Agenten;","Kontrollmechanismen;","Observability."]},{t:"p",text:"Und vor allem macht er aus einem simplen Modellaufruf ein echtes Produkt."},{t:"p",text:"Auch deshalb arbeiten wir bei SOCLE vor allem an dieser Schicht. Unser Ziel ist nicht, das nächste Allzweckmodell zu bauen: Andere Unternehmen geben dafür bereits einige Milliarden aus ;)"},{t:"p",text:"Unsere Arbeit besteht darin, Unternehmen zu ermöglichen, rund um diese Modelle nutzbare Systeme zu bauen: Agenten, RAG, MCP-kompatible Tools, Multi-Agenten-Ãkosysteme auf Basis von A2A, menschliche Kontrolle und Nachverfolgung der einzelnen Schritte."},{t:"p",text:"Das Modell wird damit zu einem austauschbaren Baustein innerhalb eines gröÃeren Systems."},{t:"p",text:"Und das führt uns ganz natürlich zum nächsten Kapitel. Denn dieses ganze schöne System â die Agenten, die Tools, die nacheinander aufgerufenen Modelle â muss irgendwo laufen."},{t:"p",text:"Spoiler: **Es verbraucht Beton, Strom und Silizium.**"}]},{slug:"infrastructure-datacenters-et-silicium",number:5,title:"Die Infrastruktur: von Giga-Rechenzentren bis zum Silizium in Ihrer Hosentasche",updated:"2026-08-10",author:"Benjamin",readingMinutes:11,metaDescription:"Die physische Schicht der KI: warum ein Server in Paris nicht genügt, um dem CLOUD Act zu entgehen, was Energie und Wasser eines KI-Rechenzentrums wirklich kosten, wohin die angekündigten Milliarden tatsächlich flieÃen und warum KI zunehmend lokal läuft.",lede:"Wenn von KI die Rede ist, stellen wir uns eine magische Wolke vor, die irgendwo im Netz schwebt. In Wirklichkeit sind es Stahl, Beton, Kupfer, hochreines Silizium, Megawatt an Strom und Millionen Liter Wasser. Steigen wir hinab in den Keller.",body:[{t:"p",text:"Wenn von KI die Rede ist, denken wir oft an etwas Abstraktes, an eine Art « magische Wolke », die im Netz schwebt und unsere Fragen beantwortet. In Wirklichkeit ist **KI von brutaler Materialität**. Sie besteht aus Stahl, Beton, Kupfer, hochreinem Silizium, Megawatt an Strom und Millionen Litern Wasser."},{t:"p",text:"In diesem Kapitel steigen wir hinab in den Keller der KI: dorthin, wo Physik, Geopolitik und Recht aufeinanderprallen."},{t:"h2",text:"Das Paradox der Cloud-Anbieter: Geografie schafft kein Recht"},{t:"p",text:"Wenn Sie Ihre Daten speichern oder Ihre Modelle bei einem der groÃen Cloud-Anbieter laufen lassen, lautet die erste Frage Ihres Sicherheitsverantwortlichen meist: *« Wo stehen die Server? »* Wenn die Antwort *« In Paris oder Frankfurt! »* lautet, denken Sie vermutlich: *« Gut, das ist in Europa, meine Daten sind durch die DSGVO geschützt. »*"},{t:"p",text:"**Und genau hier liegt die Falle.**"},{t:"p",text:"Man nennt das das **Paradox der digitalen Souveränität**: Der physische Standort eines Servers genügt nicht, um Ihre Daten zu schützen, denn **die Nationalität des Unternehmens**, dem das Rechenzentrum gehört, setzt sich über die Geografie hinweg."},{t:"list",items:["Wenn Sie **AWS (Amazon), Azure (Microsoft) oder Google Cloud** nutzen, sind diese Unternehmen amerikanisch â auch wenn Ihr physischer Server in Marseille oder Paris steht.","Sie unterliegen damit den extraterritorialen Gesetzen der Vereinigten Staaten, insbesondere dem **CLOUD Act** und **Section 702 des FISA**.","Im Klartext: Die Anordnung eines amerikanischen Richters oder eines Nachrichtendienstes kann Microsoft oder Amazon theoretisch zwingen, Zugriff auf die auf ihren Servern gehosteten Daten zu gewähren â **ganz gleich, ob der Server in Frankreich steht**."]},{t:"p",text:"Deshalb tobt der Kampf um die « souveränen Clouds ». Auf der einen Seite garantieren französische und europäische Anbieter (Scaleway, OVHcloud, Outscale, Hetzner) vollständigen Rechtsschutz gegenüber amerikanischem Recht, kämpfen aber darum, die nötige Rechenleistung bereitzustellen. Auf der anderen Seite investieren die amerikanischen Giganten Milliarden, um den Markt mit « souveränen » oder « vertrauenswürdigen » Angeboten zu beruhigen."},{t:"h2",text:"Die monströsen Kosten eines KI-Rechenzentrums"},{t:"p",text:"Ein Rechenzentrum für generative KI zu bauen hat **nichts** mit dem Bau eines klassischen Rechenzentrums für Websites zu tun. Ein herkömmlicher Server zieht einige Kilowatt pro Rack. Eine hochmoderne GPU-Farm für KI zieht **Megawatt** über ein einziges Gebäude hinweg."},{t:"h3",text:"â¡ Energie: der Gigawatt-Krieg"},{t:"p",text:"Der Strombedarf ist derart kolossal geworden, dass die Internationale Energieagentur schätzt, der Verbrauch der Rechenzentren könnte sich bis 2030 verdoppeln. Um diese Rechenfabriken zu versorgen, schlieÃen die Cloud-Giganten heute Verträge direkt mit Kernkraftwerken oder kaufen ganze Solarparks. **Der Zugang zu reichlic
91h vorhandener, stabiler und CO2-armer Energie ist zum wichtigsten Faktor geworden**, der darüber entscheidet, wo ein Rechenzentrum entsteht."},{t:"p",text:"Und genau deshalb ist Frankreich in dieser Frage ein durchaus ernstzunehmendes Land: Die Kernkraft liefert uns stabile, CO2-arme Energie, was uns zu einem sehr interessanten Standort für Rechenzentren macht."},{t:"callout",label:"WAS IST DER ENERGIEMIX?",text:"Der Energiemix ist die Verteilung der verschiedenen Primärenergiequellen, die ein Land nutzt, um seinen gesamten Bedarf zu decken: Strom, Wärme, Kraftstoffe. Es ist das « Rezept » eines Gebiets, das fossile Energien (Ãl, Erdgas, Kohle), Kernkraft und erneuerbare Energien (Solar, Wind, Wasser, Biomasse) kombiniert."},{t:"p",text:"Und Frankreich steht wirklich nicht schlecht da: Ãber **95 % unseres Stroms stammen aus CO2-armen Quellen**, davon rund zwei Drittel aus Kernkraft. Das macht uns zum Nettoexporteur von Strom und hilft unseren Nachbarn, ihre eigenen Emissionen zu senken. Vergleichen wir, über denselben Zeitraum:"},{t:"diagram",name:"energyMix"},{t:"p",text:"Zwei Dinge lassen sich aus dieser Grafik lesen. Erstens: Schweden ist noch besser als wir, allerdings bei deutlich geringerer Gesamterzeugung und vor allem stark abhängig von Wasserkraft. Zweitens, und das ist der Punkt, auf den es für ein Rechenzentrum ankommt: Deutschland und das Vereinigte Königreich haben massiv in Wind und Solar investiert, bleiben aber bei 19,9 % Kohle beziehungsweise 26,4 % Gas. Strom, der CO2-arm **und regelbar** ist, nachts und bei Windstille verfügbar, bleibt ein knappes Gut."},{t:"p",text:"Das ist einer der Gründe, warum Mistral einen so groÃen Vertrag mit Microsoft über Rechenleistung unterschrieben hat. Bei Microsoft fehlte Rechenkapazität, und damit ergab sich für ein Unternehmen wie Mistral die Gelegenheit, mehr zu werden als ein Modellbauer: ein Dienstleister. Die einen werden darin einen sehr klugen strategischen Schachzug sehen, die anderen einen « Verrat » an der Souveränität, weil damit amerikanischer Einfluss auf unserem Boden wächst. Was passiert, wenn der Kunde mit Monopolstellung etwas von einem verlangt?"},{t:"p",text:"Die Wirklichkeit ist komplexer. Wer sonst war bereit, in Frankreich oder in Europa so viel zu investieren? Wie schlägt man die Chance aus, wenigstens teilweise die Hand auf diesem Markt zu behalten? Ich überlege, einen Artikel über diese strategischen Fragen und meine persönliche Sicht darauf zu schreiben. Erinnern Sie mich ruhig daran, wenn Sie das Thema interessiert :)"},{t:"h3",text:"ð§ Wasser: das Kühlungsproblem"},{t:"p",text:"Ein weiteres Problem: Diese Chips werden heiÃ. **Sehr heiÃ.** Klassische Luftkühlung, also die groÃen Lüfter, genügt für Chips hoher Dichte nicht mehr. Rechenzentren stellen massiv auf **Flüssigkeitskühlung** um, bei der Kühlmittel direkt an den Prozessoren zirkulieren."},{t:"p",text:"Das erfordert allerdings komplexe Infrastruktur und mitunter beeindruckende Wassermengen für die Kühltürme. Die Umweltwirkung dieses Wassers zu steuern, ist für die Kommunen, die solche Zentren beherbergen, zu einem groÃen politischen Thema geworden."},{t:"p",text:"All das treibt die Cloud-Anbieter dazu, ihre Energieeffizienz und ihre Kühlsysteme zu verbessern â etwa mit der adiabatischen Kühlung im Rechenzentrum Paris 2 von Scaleway. Manche gehen so weit, ihren Kunden Werkzeuge zur Berechnung der Umweltwirkung bereitzustellen. Denn ja, KI verbraucht viel Energie und steht derzeit im Zentrum der Aufmerksamkeit: Unternehmen brauchen so viel Monitoring und Steuerung wie möglich â für ihre Nachhaltigkeitsstrategie, aber schlicht auch für ihre Ausgaben."},{t:"p",text:"Es geht eben nicht nur um Tokens ;)"},{t:"h2",text:"Die Silizium-Steuer: wohin flieÃt das Geld wirklich?"},{t:"p",text:"Wenn ein Cloud-Anbieter Milliarden für den Bau eines KI-Rechenzentrums ausgibt: Was kostet Ihrer Meinung nach am meisten? Die Mauern? Der Strom? Das Netzwerk?"},{t:"p",text:"**Nein. Es sind die Chips.**"},{t:"p",text:"In einem für KI im sehr groÃen MaÃstab optimierten Rechenzentrum kostet die Hardware (die Grafikkarten) **rund doppelt so viel wie das Gebäude selbst**. Für ein Campus-Projekt von 1 Gigawatt rechnen Sie mit etwa 10 Milliarden Dollar für Struktur und Infrastruktur â und **20 Milliarden Dollar allein dafür, die Racks mit Chips zu füllen**."},{t:"callout",label:"DAS SOLLTEN SIE SOFORT VOR AUGEN HABEN",text:"Wenn jemand â aus der Politik oder der Industrie â 100 Milliarden Investition in ein Rechenzentrum ankündigt, flieÃt der gröÃte Teil dieses Geldes in Wirklichkeit in den Kauf von Chips. Chips, die anders als das Gebäude veralten."},{t:"p",text:"Warum dieses Ungleichgewicht? Ganz einfach, weil der Markt von einem Quasi-Monopol beherrscht wird: **NVIDIA**. Das Unternehmen verkauft nicht bloà einen Chip zu Zehntausenden Dollar pro Stück, es verkauft die gesamte Architektur: die ultraschnelle Verbindung (*NVLink*) und die Softwareschicht (*CUDA*), auf der nahezu alle KI-Modelle der Welt aufsetzen."},{t:"p",text:"Diese Lage hat sogar eine neue Kategorie von Akteuren hervorgebracht: die **Neoclouds** (CoreWeave, Nebius, Lambda). Das sind keine allgemeinen Cloud-Anbieter, sondern Spezialisten mit einer einzigen Aufgabe: Zehntausende NVIDIA-GPUs kaufen und sie stundenweise an KI-Unternehmen vermieten."},{t:"p",text:"Ãber die Chips selbst spreche ich im nächsten Kapitel. Ein wenig Spannung hält Sie ja bei der Stange ;)"},{t:"h2",text:"Der groÃe Trend: hybride KI"},{t:"p",text:"Angesichts wahnwitziger Infrastrukturkosten, Latenzproblemen im Netz und Vertraulichkeitsfragen stellt sich eine Frage: **Sind wir dazu verdammt, alles in riesigen entfernten Rechenzentren laufen zu lassen?** Die Antwort lautet **nein**. Wir erleben eine Verlagerung hin zur **lokalen KI** (*on-device*)."},{t:"h3",text:"Die Stunde der Small Language Models"},{t:"p",text:"Die Ãra des « immer gröÃer » stöÃt an ihre wirtschaftlichen Grenzen. Man hat gemerkt, dass es kein riesiges Modell mit 700 Milliarden Parametern in de
91n USA braucht, um einen Tippfehler zu korrigieren oder eine berufliche E-Mail zusammenzufassen."},{t:"p",text:"Dank hochoptimierter, kompakter Modelle (**SLM**, *Small Language Models*, etwa die leichten Varianten von Mistral, Llama oder Phi) und dank spezialisierter Chips in unseren Geräten (**NPU**, *Neural Processing Units*) zieht die KI direkt in unsere Smartphones und Rechner ein: Copilot+ PCs, Apple Intelligence."},{t:"p",text:"Das Problem: Der Einsatz von SLM verlangt deutlich mehr Ingenieursarbeit, als einfach alles an ein groÃes Modell zu schicken. Deshalb ist die Praxis noch nicht sehr verbreitet."},{t:"h3",text:"Das hybride Modell: der richtige Kompromiss"},{t:"p",text:"Manche halten die Zukunft der Infrastruktur weder für 100 % Cloud noch für 100 % lokal, sondern für **hybrid**:"},{t:"list",items:["**Lokal, auf Ihrem Telefon oder PC**: für 80 % der alltäglichen Aufgaben (Autovervollständigung, Bildbearbeitung, Suche in eigenen Dokumenten). Das ist sofort da, kostet keine API-Gebühren, funktioniert offline, und Ihre Daten verlassen **nie** Ihr Gerät.","**In der Cloud**: für die 20 % komplexen Aufgaben, die tiefes Schlussfolgern, die Analyse von Terabytes an Daten oder aufwendige Videoerzeugung verlangen."]},{t:"p",text:"Heute scheint der Markt tatsächlich in diese Richtung zu gehen, mit einem geringeren Anteil für das Lokale. Und ein dritter Strang gewinnt zunehmend an Bedeutung: die **private Cloud / On-Premise**, also das Hosting auf Servern im Unternehmen selbst, für besonders sensible Vorgänge. Genau bei solchen Themen werden Technologien wie Socle AI mehr als ein Beschleuniger: ein notwendiger Schritt, denn die gesamte KI-Infrastruktur muss dann intern aufgebaut und so verzahnt werden, dass sie Wert liefert."},{t:"h2",text:"Cloud-Anbieter: eine Kompetenz, die nicht nur im Mauerwerk steckt"},{t:"p",text:"Bisher haben wir über Mauern, Chips und Energie gesprochen. Aber Server zum Zusammenspielen zu bringen und sie mit allen zugehörigen Softwareschichten zu betreiben, ist alles andere als ein Selbstläufer. Das ist eine präzise Kompetenz, die man nicht unterschätzen sollte: Gute DevOps, diese brummigen Ingenieure in dunklen Räumen, sind in Wahrheit die, ohne die gar nichts liefe."},{t:"quote",text:"Ein Rafale-Pilot macht Eindruck. Deutlich weniger, wenn seine Maschine nicht abhebt, weil niemand das Triebwerk eingebaut oder gewartet hat."},{t:"p",text:"Auch das ist die Arbeit eines Cloud-Anbieters: Werkzeuge und Dienste bereitzustellen und damit die Fähigkeit, mit diesen Hardware-Ressourcen umzugehen. Und jeder hat seine eigene Positionierung â von Outscale, dem Cloud-Anbieter von Dassault mit institutionellem Ruf, bis zu Scaleway, dem angesagten Anbieter, der bei KI-Themen schnell die Nase vorn hatte."},{t:"h2",text:"Kurz gefasst"},{t:"p",text:"Die Infrastruktur ist die physische Grenze der KI. Sie erinnert uns daran, dass ein einziger Klick auf *« Generieren »* eine weltweite Lieferkette auslöst: Chips, geätzt in Taiwan, verkauft von einem amerikanischen Unternehmen, eingebaut in ein wassergekühltes Rechenzentrum in Europa und gespeist von einem örtlichen Kraftwerk."},{t:"p",text:"Diese Schicht zu verstehen heiÃt, **die wahren Kosten, die wahren ökologischen Grenzen und die echten Souveränitätsfragen** der künstlichen Intelligenz zu verstehen. Und da am Ende alles auf die Chips zurückkommt, schauen wir uns nun genauer an, wer sie herzustellen versteht."}]},{slug:"les-puces-le-nerf-de-la-guerre",number:6,title:"Chips: der Nerv des Krieges",updated:"2026-08-10",author:"Benjamin",readingMinutes:22,metaDescription:"Halbleiter und die Frage der Souveränität: CPU, GPU, LPU, fortgeschrittene Nodes, ASML, TSMC, warum CUDA die Dominanz von NVIDIA erklärt, der Aufstieg chinesischer Chips und was Europa fehlt.",lede:"Wir bauen Rechenzentren in Frankreich und stellen amerikanische Chips hinein, um souverän zu sein.",body:[{t:"p",text:"Knüpfen wir dort an, wo wir im vorigen Kapitel aufgehört haben: Wir können Rechenzentren bauen. Bleibt die Frage, was wir hineinstellen."}
91,{t:"p",text:"Was sind das für Chips? Tatsächlich gehören jene, die KI zum Laufen bringen, zu den weitest entwickelten und komplexesten Objekten, die die Menschheit je herstellen konnte. Sie lesen diesen Artikel dank eines Chips, Ihr Telefon funktioniert dank eines Chips. Und für die Technikskeptiker: Ein guter Teil der medizinischen Geräte, die eingesetzt würden, wenn Ihnen etwas zustieÃe, arbeitet mit einem Chip. Das ist die Grundlage unserer modernen Technik."},{t:"h2",text:"Was ist ein elektronischer Chip?"},{t:"p",text:"**Elektronische Chips** (oder **Halbleiter**) sind die wesentlichen Bauteile moderner elektronischer Geräte. Sie werden aus Silizium hergestellt, einem Halbleitermaterial, und enthalten Millionen, teils Milliarden miniaturisierter Transistoren. Diese Transistoren werden zusammengesetzt, um präzise Funktionen auszuführen: Berechnungen, Datenspeicherung oder die Verwaltung von Peripheriegeräten."},{t:"image",src:"/images/articles/les-puces-a-quoi-servent.jpg",alt:"Schema der Einsatzgebiete elektronischer Chips: KI, Kommunikation, Gesundheit, Verteidigung, Haushaltsgeräte, Verkehr.",caption:"WOZU DIENEN ELEKTRONISCHE CHIPS?"},{t:"p",text:"Vereinfacht gesagt: **Ohne diese Chips können Sie sich von all Ihren elektronischen Geräten verabschieden** â Ihrer Spielkonsole, Ihrem Computer, einer Drohne, Ihrem Auto oder auch Ihrer Waschmaschine. Es gibt sie überall, in vielen Arten, mit je nac
91h Einsatz sehr unterschiedlichen Komplexitätsgraden. Hier konzentrieren wir uns auf die beiden derzeit bekanntesten: CPU und GPU."},{t:"image",src:"/images/articles/les-puces-types.png",alt:"Vergleich der Typen elektronischer Chips: CPU, GPU sowie die spezialisierten Chips ASIC, FPGA und NPU.",caption:"TYPEN ELEKTRONISCHER CHIPS"},{t:"h3",text:"Die CPU (Central Processing Unit)"},{t:"p",text:'Die CPU wird oft als das âGehirn" eines Computers beschrieben. Ihre Hauptfunktionen:'},{t:"list",items:["die Anweisungen von Software und Programmen ausführen,","die Berechnungen verwalten, die nötig sind, damit ein Computersystem läuft,","die verschiedenen Teile eines Computers koordinieren."]},{t:"p",text:"Strukturell ist die CPU in mehrere **Kerne** unterteilt, von denen jeder Anweisungen gleichzeitig verarbeiten kann. Sie enthält Recheneinheiten namens ALU (*Arithmetic Logic Unit*) für mathematische und logische Operationen sowie eine Steuereinheit, die die Datenflüsse orchestriert."},{t:"h3",text:"Die GPU (Graphics Processing Unit)"},{t:"p",text:"Die GPU ist auf massiv parallele Berechnungen spezialisiert, insbesondere auf jene, die für das Grafik-Rendering nötig sind. Ihre Hauptfunktionen:"},{t:"list",items:["die Berechnungen für die Darstellung von Bildern, Videos und Animationen verwalten,","die komplexen Berechnungen für Videospiele, Grafiksoftware und virtuelle Realität beschleunigen,","nicht-grafische Aufgaben verarbeiten, die paralleles Rechnen erfordern: künstliche Intelligenz, wissenschaftliche Simulation oder Kryptomining."]},{t:"p",text:"Ihre Struktur ist das Gegenteil der CPU: eine sehr groÃe Zahl von Kernen, einzeln weniger leistungsfähig als die eines klassischen Prozessors. Sie ist daher hervorragend darin, sehr viele kleine Aufgaben gleichzeitig auszuführen."},{t:"h3",text:"Die anderen Chiptypen"},{t:"list",items:["**ASIC** (*Application-Specific Integrated Circuit*): für eine einzige Aufgabe entworfen, etwa in Routern oder Bankkarten. Dazu zählen auch die **NPU** (*Neural Processing Units*), spezialisiert auf KI-Berechnungen, und die **LPU** (*Language Processing Units*), gedacht für den Einsatz von LLM.","**FPGA** (*Field-Programmable Gate Array*): ein Chip, der nach der Fertigung neu programmiert werden kann, für spezifische Zwecke."]},{t:"p",text:'Mit dem Aufkommen der LLM hat sich die Ãffentlichkeit stark auf GPU konzentriert, die zu âden Karten für KI" geworden sind (mit dem Riesen NVIDIA dahinter). Man darf jedoch nicht vergessen, dass **GPU historisch für Grafikverarbeitung entworfen wurden**. Seit Kurzem stellen neue Akteure Architekturen vor, die besser auf künstliche Intelligenz zugeschnitten sind: LPU, IPU, NPU. Eine davon lohnt den Umweg: **Groq** (nicht Elon Musks KI Grok, sondern Groq mit q ;) ). Ich komme weiter unten darauf zurück.'},{t:"p",text:"Sie verstehen also, dass es für ein Land unerlässlich ist, sich mit elektronischen Chips versorgen zu können. Ohne sie lassen sich unsere Fabriken, unsere Medizintechnik, unsere Waffen nicht betreiben. Dieses Material ist fast so wichtig wie **Energie oder Landwirtschaft**. Und diese Abhängigkeit kann indirekt unsere Industrien und sogar unsere politischen Entscheidungen beeinflussen, wie die Problematik rund um die ITAR-Regulierung gezeigt hat."},{t:"link",href:"https://en.wikipedia.org/wiki/International_Traffic_in_Arms_Regulations",label:"Die ITAR-Regulierung",note:"Wikipedia, auf Englisch"},{t:"image",src:"/images/articles/les-puces-ligne-production.png",alt:"Produktionskette eines Chips: Industrieanlagen und Rohstoffe versorgen die Foundries, die die von den Architekten entworfenen Chips fertigen.",caption:"PRODUKTIONSLINIE ELEKTRONISCHER CHIPS"},{t:"h2",text:"Woraus bestehen diese Chips?"},{t:"p",text:"So wie man Materialien braucht, um eine Windkraftanlage zu bauen, oder Uran für ein Kraftwerk, brauchen diese Chips ganz bestimmte Stoffe. Hier eine zwangsläufig unvollständige Liste, die aber das Wesentliche zeigt:"},{t:"list",items:['**Silizium**, das Grundmaterial der Transistoren. Auf 99,9999999 % gereinigt (die âelektronische Güteklasse"), wird es zu *Wafern* verarbeitet, jenen Scheiben, auf denen die Schaltungen geätzt werden.',"**Leitende Metalle**: Kupfer für die Verbindungen, Gold für kritische Kontakte, Wolfram, Aluminium, Nickel, Kobalt und Molybdän für bestimmte Legierungen und Schutzschichten.",'**Dotierstoffe**, die die Eigenschaften des Siliziums verändern: Phosphor und Arsen (N-Typ, die freie Elektronen hinzufügen), Bor (P-Typ, das âLöcher" erzeugt).',"**Isolatoren**: Siliziumdioxid und Hafniumoxid in modernen Prozessoren, um die Transistoren zu verbessern und zugleich den Verbrauch zu senken.","**Materialien zur Wärmeableitung**: Siliziumkarbid, Graphit und Graphen, Keramiken.","**Substrate und Gehäuse**: glasfaserverstärktes Epoxid (FR-4), Kupfer- und Aluminiumlegierungen, Kunststoffe und Polymere."]},{t:"image",src:"/images/articles/les-puces-composition.png",alt:"Schema der Zusammensetzung eines Chips und der wichtigsten Exportländer für jedes Material.",caption:"ZUSAMMENSETZUNG UND WICHTIGSTE LIEFERANTEN / EXPORTEURE"},{t:"p",text:"Was auffällt, wenn man sich die Exportländer dieser Stoffe ansieht, ist das **Ãbergewicht Chinas**. Mit besonderer Erwähnung von Indonesien, der DR Kongo, der Türkei und Peru, die bei bestimmten Materialien führen. Auch wenn diese Daten die globalen Exporte betreffen und damit weit mehr als nur Chips, versteht man schnell **die Bedeutung bestimmter Seewege**."},{t:"p",text:'Es gibt also Formen von âMonopolen" auf Materialien, die für den Chipentwurf nötig sind, was die Logistik verkompliziert und die Beziehungen zwischen Staaten belastet: Die Zolldiskussionen zwischen China und den Vereinigten Staaten illustrieren das permanent. Nebenbei bemerkt werden die Reserven mancher Länder nicht erschlossen, in Frankreich etwa, weil die Umweltauswirkungen des Bergbaus als zu groà oder zu teuer in der Minderung gelten.'},{t:"h2",text:"Die Bedeutung fortgeschrittener Nodes"},{t:"p",text:"Zwischen diesen Rohstoffen und dem fertigen Chip liegen mehrere Entwurfsschritte. Eine der als entscheidend dargestellten GröÃe
91n ist jedoch der Begriff der **fortgeschrittenen Nodes**. Stellen Sie sich das als das Aufbringen einer sehr dünnen Metallschicht in einer Schaltung vor, die den Strom leiten wird."},{t:"p",text:"Der Einsatz fortgeschrittener Nodes (die Prozesse mit 7 nm, 5 nm, 3 nm und bald 2 nm) hat groÃen Einfluss auf **Leistung**, **Energieverbrauch**, **Kosten** und **Entwurfskomplexität**. Es gibt andere, dickere Nodes: mittlere und ältere Nodes. Manche reichen völlig aus, um Ihre Waschmaschine zu betreiben. Alles hängt vom Bedarf und vom erwarteten Verbrauch ab."},{t:"image",src:"/images/articles/les-puces-noeuds-avances.png",alt:"Vergleich der Node-GröÃen: Dicke eines Haares (17 000 nm), ältere Nodes (22 nm), mittlere (7 nm) und fortgeschrittene (5 nm, 2 nm).",caption:"DIE VERSCHIEDENEN GRÃSSEN EINES FORTGESCHRITTENEN NODES"},{t:"p",text:"Nehmen wir ein weniger erfreuliches Beispiel. Im Ukrainekrieg sind Drohnen allgegenwärtig. Anfangs zu 100 % vom Menschen gesteuert, sieht man heute Drohnen, die trotz Störsendern zielen und ihre Bahn halten können. Um eine Drohne fliegen zu lassen, braucht es strategisch keine fortgeschrittenen Nodes. Um Bildverarbeitung oder Luftabwehrsysteme hineinzubringen, ist man mitten drin. Und den Energiebedarf dieser Aufgabe zu optimieren, bringt Flugzeit, ohne andere Komponenten anzutasten."},{t:"p",text:"Merken Sie sich: Ein kleinerer Node erlaubt es, mehr Transistoren auf demselben Raum unterzubringen, also mehr Leistung bei gleichen Bedingungen. Ich gehe nicht auf die Detailprobleme bei Wärmemanagement oder Leckströmen ein, aber halten Sie fest, dass ein feinerer Node mehr Architekturmöglichkeiten und bessere Effizienz bietet."},{t:"p",text:"Doch warum so sehr auf den Nodes beharren? Weil es **ein weltweites Monopol** auf die Maschinen gibt, die die feinsten Nodes ätzen können, jene, die für künstliche Intelligenz unverzichtbar sind. Und dieses Unternehmen ist europäisch: **ASML**."},{t:"link",href:"https://youtu.be/tgfVAZT5EeE",label:"Ein Video von Yvan Casta (Au CEO), das die Komplexität dieses Feldes zeigt und dabei sehr unterhaltsam ist ;)",note:"YouTube, auf Französisch"},{t:"h2",text:"Der Fall ASML"},{t:"p",text:"Bei der Chipherstellung gibt es einen Riesen, **TSMC**, in Taiwan. Doch hinter diesem Riesen steht ein Unternehmen, ohne das nichts davon möglich wäre: ASML. Es baut die Maschinen für die **EUV-Lithografie**, ein Verfahren mit extrem kurzen ultravioletten Wellenlängen, um Muster auf Siliziumwafer zu ätzen und so die Miniaturisierung der Schaltungen zu ermöglichen."},{t:"image",src:"/images/articles/les-puces-asml.png",alt:"Der Fall ASML: Unternehmen mit Sitz in den Niederlanden, Börsenwert von 271 Milliarden Euro, einziger Anbieter von Maschinen, die 2 nm erreichen, zu über 150 Millionen Euro pro Stück.",caption:"DER FALL ASML"},{t:"p",text:"Man muss wissen, dass **ASML jede Maschine für mehr als 150 Millionen Euro verkauft**. Es ist bei Weitem das Aushängeschild der niederländischen Industrie, und sein Chef ist, mit einem Anflug französischen Stolzes, Franzose: Christophe Fouquet. Seine Bedeutung ist in den Niederlanden so groÃ, dass sie die politische Debatte des Landes prägt."},{t:"link",href:"https://www.lecho.be/entreprises/semi-conducteurs/panique-au-gouvernement-neerlandais-asml-menace-de-quitter-le-pays/10531541.html",label:"Panik in der niederländischen Regierung: ASML droht mit Wegzug",note:"L'Ãcho, auf Französisch"},{t:"p",text:"Dieses Unternehmen ist eindeutig **ein Schlüssel für die europäische Soft Power**, und es wäre unerlässlich, es in jeder Strategie zu berücksichtigen, die darauf zielt, Chips der neuesten Generation bei uns zu fertigen."},{t:"h2",text:"Die Foundries"},{t:"p",text:"Die **Foundries** sind die Unternehmen, die auf die Fertigung der von den Architekten (Apple, NVIDIA und andere) entworfenen Chips spezialisiert sind. Sie beherrschen Fertigungsverfahren im Nanometerbereich. Uns interessieren hier die führenden Foundries, jene, die bis zu den feinsten Nodes hinunterkommen, die heute für neue Technologien unverzichtbar sind."},{t:"image",src:"/images/articles/les-puces-fonderies.png",alt:"Marktanteile der Halbleiter-Foundries: TSMC rund 59 %, Samsung rund 17 %, Intel weniger als 17 %.",caption:"HALBLEITER-FOUNDRIES"},{t:"p",text:"Es ist schwierig, perfekt verlässliche Statistiken zu genau diesem Segment zu bekommen, da die meisten Daten global sind. Doch die Beherrschung des Marktes durch drei Akteure, **TSMC, Samsung und Intel**, ist unbestreitbar, mit TSMC deutlich über dem Rest."},{t:"p",text:"Seit acht Jahren ein echtes geopolitisches Thema, mit dem Aufkommen von Krypto, dann Covid und nun KI, steht der Chipmarkt unter realer weltweiter Spannung. Und es gibt einen echten **Engpass** rund um Chips mit fortgeschrittenen Nodes, hauptsächlich in Taiwan. Taiwan nutzt dieses industrielle Instrument im Ãbrigen als Verteidigung gegenüber China."},{t:"list",items:["die **Vereinigten Staaten** wollen ihre Abhängigkeit von TSMC verringern, indem sie Produktionskapazitäten auf eigenem Boden aufbauen,","**Deutschland** hat eine Foundry mit einer Investition von 10 Milliarden Euro angestoÃen (5 von TSMC, 5 aus öffentlicher Förderung), Eröffnung 2027,","**Japan** hat **Rapidus** gegründet, unterstützt von der Regierung und acht groÃen japanischen
91Konzernen (Toyota, NTT, Sony, NEC, SoftBank, Denso, Kioxia und MUFG Bank), um das Land zurück in das Rennen um fortgeschrittene Halbleiter zu bringen. Und die sich ausrüstet bei⦠ASML!"]},{t:"callout",label:"EIN ECHTES SOUVERÃNITÃTSTHEMA",text:"Mindestens einen Chiphersteller im eigenen Land haben (Vereinigte Staaten, Deutschland) und bestenfalls ein nationales Unternehmen (Japan)."},{t:"h2",text:"Die Chiparchitekten"},{t:"p",text:"Ein **Chiparchitekt** (oder Architekt integrierter Schaltungen) ist derjenige, der die Gesamtstruktur des Halbleiters entwirft und plant. Er fertigt ihn nicht: Er zeichnet ihn und übergibt die Produktion dann einer Foundry."},{t:"h3",text:"CPU-Architekten"},{t:"image",src:"/images/articles/les-puces-architectes-cpu.png",alt:"Marktanteile der CPU-Architekten im Servermarkt: Intel 58 %, AMD 38 %, Apple 2 %, Qualcomm 0,2 %.",caption:"CPU-ARCHITEKTEN"},{t:"p",text:"Ich habe mich hier auf den Servermarkt konzentriert, aber es gibt eigene Märkte für Mobilgeräte und für Personal Computer. Bei Servern teilen sich **Intel (rund 58 %)** und **AMD (rund 38 %)** die Führung, weit vor Apple und Qualcomm."},{t:"link",href:"https://www.cpubenchmark.net/market_share.html",label:"Die CPU-Marktanteile",note:"cpubenchmark.net, auf Englisch"},{t:"h3",text:"GPU-Architekten"},{t:"image",src:"/images/articles/les-puces-architectes-gpu.png",alt:"Marktanteile der GPU-Architekten: NVIDIA 80 %, AMD 15 %, Intel 5 %.",caption:"GPU-ARCHITEKTEN"},{t:"p",text:"In diesem Markt besteht kein Zweifel an der Vorherrschaft von NVIDIA."},{t:"h2",text:"Aber warum eigentlich NVIDIA?"},{t:"p",text:'80 % des Marktes sind erdrückend. Und die Antwort, die einem spontan einfällt, lautet: âweil sie die besten Chips bauen". Das stimmt. Es reicht nicht. AMD kann sehr gute Chips bauen, Intel hat gewaltige Mittel, Google entwirft seit rund zehn Jahren eigene TPU. Wenn die Hardware allein genügte, wäre dieser Markt weit umkämpfter.'},{t:"p",text:"Der wahre Vorteil von NVIDIA liegt nicht im Silizium. Er liegt in der Software. Und er hat einen Namen: **CUDA**."},{t:"h3",text:"Die Wette auf fünfzehn Jahre"},{t:"p",text:"Zurück in die frühen 2000er. Damals kann eine GPU eines: Pixel anzeigen. Ein Forscher, der diese Rechenleistung für etwas anderes umlenken wollte, etwa um eine Flüssigkeit zu simulieren, musste seine Berechnung als Bild verkleiden. Buchstäblich: seine Gleichungen in Texturen und Dreiecke verwandeln, damit die Karte sie zu verarbeiten bereit war, und die Ergebnisse dann aus den Ausgabepixeln zurücklesen. Es war möglich. Es war grauenhaft. Fast niemand tat es."},{t:"p",text:"2006 stellt NVIDIA **CUDA** (*Compute Unified Device Architecture*) vor. Das Prinzip: fast normalen Code schreiben, in C, der direkt auf der GPU läuft. Schluss mit der Verkleidung, die Grafikkarte wird zum generischen Rechenbeschleuniger."},{t:"p",text:"Doch der eigentliche Geniestreich ist nicht technisch, sondern kaufmännisch: NVIDIA macht CUDA auf **allen** seinen Karten verfügbar. Auch auf der 200-Euro-GeForce des Gelegenheitsspielers, und nicht nur auf sündteurer Profi-Hardware. Von einem Tag auf den anderen besaà jeder Student in jedem Labor der Welt bereits zu Hause eine Maschine, die massiv parallel rechnen konnte. Das kostete sehr viel, sehr lange: Jahrelang fragten Analysten Jensen Huang, warum sein Unternehmen für Gamer-Grafikkarten so viel Geld in Softwareforschung verbrennt, für einen Markt, den es nicht gab."},{t:"h3",text:"2012: Der Markt existiert"},{t:"p",text:"In jenem Jahr pulverisieren drei Forscher, Alex Krizhevsky, Ilya Sutskever und Geoffrey Hinton, den Bilderkennungswettbewerb ImageNet mit einem neuronalen Netz namens **AlexNet**. Trainiert auf zwei GeForce GTX 580. Gamer-Karten. Mit CUDA."},{t:"p",text:"Das ist der Urknall des modernen Deep Learning, und er ereignet sich auf NVIDIA-Hardware, mit NVIDIA-Werkzeugen, weil NVIDIA als Einziger diese Werkzeuge sechs Jahre zuvor in die Hände der Forscher gelegt hatte."},{t:"h3",text:"Der Burggraben"},{t:"p",text:"Seither hat das Unternehmen nie aufgehört zu stapeln. Ãber CUDA: cuDNN (die Rechenbausteine neuronaler Netze), NCCL (damit Tausende GPU miteinander sprechen), TensorRT (um die Ausführung der Modelle zu beschleunigen). Und über allem **PyTorch**, das Framework, das fast alle KI-Forscher und -Ingenieure des Planeten verwenden und das, wenn man es um eine Matrixmultiplikation bittet, am Ende NVIDIA-Code aufruft."},{t:"p",text:"Das nennt man einen *Moat*, einen Burggraben: fast zwanzig Jahre Softw
91are, Millionen Codezeilen, Hunderttausende geschulte Entwickler, Dokumentation, Tutorials und Antworten auf Stack Overflow um drei Uhr nachts. Ein Wettbewerber kann morgen einen schnelleren und günstigeren Chip herausbringen: Wenn Ihr Code sechs Monate zur Portierung braucht und danach mangels Optimierung 30 % langsamer läuft, kaufen Sie ihn nicht. Genau an dieser Mauer scheitert AMD seit Jahren, dessen Pendant ROCm regelmäÃig als funktionsfähig, aber schmerzhaft beschrieben wird."},{t:"p",text:"Und NVIDIA hat den Graben weit über den Chip hinaus verbreitert. Mit dem Kauf von Mellanox um 2020 hat es sich das Netzwerk gesichert, das die Server verbindet. Heute verkauft es nicht mehr wirklich eine Karte: Es verkauft einen ganzen Schrank, GPU, Netzwerk, Software und Werkzeuge inklusive. Die Bindung liegt nicht mehr auf Komponentenebene, sondern auf Systemebene."},{t:"callout",label:"WAS MAN SICH MERKEN SOLLTE",text:"NVIDIA verkauft keinen Chip, sondern eine Plattform. Einen GPU-Konkurrenten zu entwerfen ist vielleicht 20 % des Problems. Die übrigen 80 % sind die Werkzeuge, die Bibliotheken und die Entwickler, die damit umgehen können. Jede Souveränitätsstrategie für KI-Chips, die diese Budgetzeile vergisst, ist tot, bevor sie begonnen hat."},{t:"h3",text:"Die Bresche"},{t:"p",text:"Immerhin eine gute Nachricht, und sie ist wesentlich für das Folgende: Der Graben wird von oben zugeschüttet. Heute schreibt ein Forscher fast nie CUDA von Hand, er schreibt PyTorch. PyTorch aber ist eine Abstraktionsschicht: Wenn sich jemand die Mühe macht, sie korrekt an andere Hardware anzubinden, ändert sich der Code des Nutzers nicht. Das ist eine enorme, undankbare und unsichtbare Arbeit. Aber es ist eine *endliche* Arbeit, während zwanzig Jahre Ãkosystem von Hand aufzuholen unendlich wäre."},{t:"p",text:"Durch diese Bresche kommen die neuen Anbieter. Und durch sie ist auch China gekommen."},{t:"h2",text:"Der Aufstieg neuer Chips"},{t:"p",text:"Die groÃen Techkonzerne wagen sich nun an eigene Chips, vor allem für KI: Meta mit seiner MTIA oder AWS mit seinen Trainium-Chips. Man darf nicht vergessen, dass GPU ursprünglich nicht für KI gedacht waren. Einer der Akteure, die früh auffielen, ist **Groq**, Entwickler von LPU zur Optimierung des LLM-Einsatzes. Um das Gewicht dieser Chipklasse zu ermessen: Groq hat 640 Millionen Dollar bei BlackRock, Cisco und Samsung eingesammelt."},{t:"p",text:"Insgesamt sind die Riesen, mit denen alle konkurrieren wollen: **TSMC** bei den Foundries, **NVIDIA** bei den GPU und **Intel** bei den CPU."},{t:"h2",text:"Der Aufstieg chinesischer Chips"},{t:"p",text:"Wenn Sie wissen wollen, was eine Souveränitätsstrategie bei Halbleitern konkret bringt, gibt es ein Freiluftlabor: China. Nur hat es sich nicht wirklich ausgesucht, dort hineinzugeraten."},{t:"p",text:"Ab Oktober 2022 verbieten die Vereinigten Staaten den Export der leistungsfähigsten KI-Chips nach China, der A100 und H100 von NVIDIA. Und jedes Mal, wenn NVIDIA eine gedrosselte Version entwirft, um im Rahmen zu bleiben (A800, H800, dann H20), zieht Washington die Schraube an. Das erklärte Ziel: mehrere Jahre V
91orsprung beim Rechnen behalten."},{t:"p",text:"Das Ergebnis ist mehrdeutiger. Ohne Lieferanten haben die chinesischen Unternehmen nicht aufgehört, KI zu betreiben: Sie waren gezwungen, chinesisch zu kaufen. Die Sanktionen haben der heimischen Industrie damit genau das beschert, was Europa am bittersten fehlt: **einen gefangenen, riesigen und zahlungsfähigen Binnenmarkt**."},{t:"h3",text:"Ãtzen ohne ASML"},{t:"p",text:"Erinnern Sie sich, was wir über ASML gesagt haben: ohne EUV-Lithografiemaschine kein fortgeschrittener Node. China hat dazu keinen Zugang, da die Niederlande diese Exporte auf amerikanischen Druck blockiert haben."},{t:"p",text:"Es hat trotzdem 7 nm produziert. Der Fertiger **SMIC** schafft das, indem er die Durchläufe mit den älteren DUV-Maschinen vervielfacht: Statt das feine Muster in einem Zug zu ätzen, wird es in mehrere aufeinanderfolgende Belichtungen zerlegt. Es funktioniert. Es ist langsamer, teurer und vor allem viel weniger zuverlässig. Die Ausbeuten der Ascend-Chips von Huawei wurden lange zwischen 20 und 40 % geschätzt, während eine Spitzen-Foundry bei 80â90 % liegt. Ãbersetzt: Von zehn geätzten Chips landen sechs bis acht im Müll."},{t:"p",text:"Also ja, man kann ohne ASML auskommen. Aber man bezahlt es mit Geld, Kapazität und Zeit, was nebenbei bestätigt, wie sehr dieses europäische Unternehmen ein strategisches Gut ist, das wir unterschätzen."},{t:"h3",text:"Die Antwort mit roher Gewalt"},{t:"p",text:"Da ein chinesischer Chip weniger wert ist als ein NVIDIA-Chip, hat Huawei eine bewusste Wahl getroffen: viel mehr davon einbauen. Sein 2025 vorgestelltes System CloudMatrix packt 384 Ascend-Beschleuniger in einen Schrank, wo das NVIDIA-Pendant 72 aufreiht. Ergebnis: Das chinesische System liefert mehr Rohleistung als sein amerikanischer Konkurrent. Es verbraucht auch etwa viermal so viel Strom. In Europa wäre das untragbar und ergäbe keinen Sinn, da ASML europäisch ist. In China ist es ein zugleich industrieller und politischer Wille, der ihnen diese Mittel verschafft; für sie ist es eine völlig rationale Abwägung."},{t:"callout",label:"EINE LEHRE FÃR UNS",text:"Rechenleistung ist ebenso ein Energie- wie ein Siliziumproblem. China, ohne ASML, kann nur durch Vervielfachung der Chips ausgleichen â zum Preis von etwa viermal so viel Strom. **Europa dagegen verfügt über beide Hebel zugleich**: ASML auf seinem Boden, also Zugang zur feinsten Ãtzung, und einen dekarbonisierten, steuerbaren Strommix auf französischer Seite, also die Mittel, das Rechnen zu speisen. Wir sind der einzige Verbund, der diese beiden Trümpfe vereint. Bleibt, sie nicht zu vergeuden: unsere Souveränität über ASML bewahren und den Rest der Wertschöpfungskette aufbauen."},{t:"h3",text:"Der eigentliche Engpass: der Speicher"},{t:"p",text:"Ein Detail, das zählt und fast immer vergessen wird: Was die chinesische Produktion von KI-Chips heute begrenzt, ist nicht mehr die Ãtzung, sondern der **HBM** (*High Bandwidth Memory*), jener ultraschnelle Speicher, der direkt neben dem Prozessor gestapelt wird und ohne den ein KI-Beschleuniger ein Motor ohne Kraftstoff ist. SMIC wäre in der Lage, genug für mehr als eine Million Chips pro Jahr zu liefern, während die chinesischen HBM-Kapazitäten die Produktion auf einige Hunderttausend begrenzen würden. Auch er steht seit Ende 2024 unter Embargo und wird von einem koreanisch-amerikanischen Trio beherrscht: SK hynix, Samsung und Micron."},{t:"h3",text:"Und der CUDA-Graben?"},{t:"p",text:"Huawei hat das oben beschriebene Problem genau erkannt. Gegen CUDA hat es **CANN** gebaut, seine eigene Softwareschicht, und **MindSpore**, sein Pendant zu PyTorch. Und vor allem hat es 2025 angekündigt, den Quellcode von CANN zu öffnen: Wenn man bei einem Ãkosystem hinterherhinkt, ist Open Source der einzige bekannte Hebel, um Entwickler anzuziehen, die man nicht bezahlen kann."},{t:"p",text:"Das Ergebnis zeigte sich im April 2026 mit **DeepSeek V4**, **nachtrainiert** auf Huawei-Ascend-Chips über CANN. Die Nuance ist wichtig: Das Vortraining, die mit Abstand schwerste Phase, ist nicht betroffen. Doch das Signal bleibt beachtlich: Eine ganze Etappe im Lebenszyklus eines Spitzenmodells fand auÃerhalb des NVIDIA-Ãkosystems statt. Der als unüberwindbar geltende Softwaregraben ist soeben angeschnitten worden. Es gibt also keine Zwangsläufigkeit, nur Eintrittskosten."},{t:"link",href:"https://www.tomshardware.com/tech-industry/artificial-intelligence/huawei-led-team-claims-it-post-trained-deepseeks-1-6-trillion-parameter-models-on-ascend-910c-chips",label:"DeepSeek V4 auf Ascend-Chips nachtrainiert",note:"Tom's Hardware, auf Englisch"},{t:"h3",text:"Die Wende"},{t:"p",text:"Unterdessen ist der Marktanteil von NVIDIA in China eingebrochen. Die H20-Saga fasst die Absurdität der Lage allein zusammen: ein Chip, gedrosselt zur Einhaltung amerikanischer Regeln, im April 2025 verboten (bei NVIDIA fast 4,5 Milliarden Dollar abgeschrieben), im Juli wieder erlaubt, dann von Peking gemieden, das seinen Unternehmen aus Sicherheitsgründen leise vom Kauf abriet. Verkauft wurde er nie wirklich."},{t:"p",text:"Seit Januar 2026 hat Washington die Tür mit einer Einzelfallprüfung der H200 wieder einen Spalt geöffnet, während der Kongress im Gegenteil zusperren will. Doch die bemerkenswerte Tatsache liegt anderswo: Es ist nicht mehr nur Amerika, das nicht verkaufen will, es ist inzwischen China, das nicht mehr kaufen will. Und Huawei ist nicht allein: Cambricon, Biren, Moore Threads, Hygon, ganz zu schweigen von den hauseigenen Chips von Alibaba und Baidu. Das Ãkosystem existiert nun über die gesamte Kette."},{t:"h3",text:"Was uns das sagt"},{t:"list",items:["**Die technologische Hürde ist überwindbar.** Nicht gratis, nicht schnell, aber überwindbar, einschlieÃlich der Softwarehürde, die lange als das eigentliche Schloss galt.","**Was das möglich gemacht hat, lässt sich auf drei Zutaten reduzieren**, und keine davon ist Genie: ein gefangener Binnenmarkt, eine über ein Jahrzehnt durchgehaltene Abstimmung zwischen Staat und Industrie und ein äuÃerer Zwang, der den Status quo verbot. Europa hat die dritte, zumindest potenziell. Ihm fehlen die ersten beiden.","**Der amerikanische Vorsprung ist real, aber keine Rente mehr.** Er beruht auf einem Software-Ãkosystem. Und ein Software-Ãkosystem lässt sich umgehen."]},{t:"p",text:'Wenn China es also unter Embargo schafft, lautet die eigentliche Frage nicht mehr âist Europa dazu fähig?", sondern âwas hindert uns daran?".'},{t:"h2",text:"Und die französische und europäische Industrie?"},{t:"image",src:"/images/articles/les-puces-acteurs-francais.jpg",alt:"Die französischen Halbleiterakteure: STMicroelectronics, Soitec, CEA-Leti und
91Kalray.",caption:"FRANZÃSISCHE AKTEURE"},{t:"p",text:"Insgesamt besitzt Frankreich, vor allem aber Europa, die Grundlage für alle soeben beschriebenen Schritte, doch es gibt Arbeit⦠viel Arbeit. Von ASML einmal abgesehen, haben wir Entwickler spezialisierter Chips wie **Kalray**, Hersteller wie **STMicroelectronics** (auch wenn der Firmensitz in der Schweiz liegt), Materiallieferanten wie **Soitec** und sogar Forschungszentren wie das **CEA-Leti** in Grenoble (vgl. das oben geteilte Video von Yvan Casta)."},{t:"list",items:["**STMicroelectronics**: französisch-italienischer Hersteller, spezialisiert auf Chips für Automobil, Industrieelektronik und IoT. Fertigt in ausgereiften Technologien (28 nm, 40 nm) in Crolles bei Grenoble auf 300-mm-Wafern. Wir sind damit gleichwohl weit von dem entfernt, was KI verlangt.","**Soitec**: mit Sitz in Bernin, Lieferant von Silicon-on-Insulator-Substraten (SOI), eingesetzt in Smartphones, 5G und Automobil. Arbeitet mit TSMC, Samsung und GlobalFoundries.","**CEA-Leti**: angewandtes Forschungszentrum in Grenoble, bekannt für Arbeiten zu 3D-Transistoren, EUV-Lithografie und heterogener Integration.","**Kalray**: Entwickler von Prozessoren für kritische Anwendungen mit seinen MPPA (*Massively Parallel Processor Array*). Wie NVIDIA fertigt Kalray seine Chips nicht selbst."]},{t:"p",text:"Insgesamt reicht unsere Expertise nicht so weit wie die unserer amerikanischen und chinesischen Pendants, die in rasendem Tempo lernen mussten. Doch genau deshalb haben wir noch Karten im Spiel."},{t:"p",text:"Einige Unternehmen sollten unsere Aufmerksamkeit wecken, zum Beispiel:"},{t:"list",items:["**VSora**: Sie entwerfen Hardwarebeschleuniger für KI-Inferenz in Rechenzentren. Das ist damit weit direkter mit NVIDIA oder AMD vergleichbar als SiPearl. Ganz aktuell: Im Juli 2026 hat Ardian Semiconductor eine Minderheitsbeteiligung an VSORA erworben, um dessen Vertriebsstrategie zu beschleunigen.","**SiPearl**: Chipentwickler, natürlich, mit seinem RHEA1 â einer Hochleistungs-CPU, keiner GPU (und von TSMC gefertigt).","**Axelera AI** und **Innatera**: zwei interessante niederländische Unternehmen. Man spürt die Nähe zu ASML."]},{t:"link",href:"https://www.ardian.com/news-insights/press-releases/ardian-semiconductor-invests-vsora-innovative-ai-inference-accelerator",label:"Ardian Semiconductor investiert in VSORA",note:"Pressemitteilung Ardian, Juli 2026, auf Englisch"},{t:"p",text:"Ein weiterer wichtiger europäischer Akteur darf nicht vergessen werden: **ARM**. Dieses britische Unternehmen ist auf den Entwurf von Prozessorarchitekturen spezialisiert, wurde aber **2016 von SoftBank (Japan) für 32 Milliarden Dollar gekauft**. Anders als Intel oder AMD stellt ARM keine Hardware her: Es entwirft und lizenziert. Seine Architektur wird heute vor allem in mobilen Formaten eingesetzt, was die Präsenz von Samsung, Qualcomm oder Apple unter seinen Kunden erklärt. Wenn Sie einen Mac mit M1- oder M2-Chip haben, herzlichen Glückwunsch: Sie sind auf einer ARM-Architektur unterwegs!"},{t:"p",text:"Um seine strategische Bedeutung zu ermessen: Die Ãbernahme von ARM durch NVIDIA für 66 Milliarden Dollar wurde von den Regulierern blockiert. Und die Energiefragen rund um Chips führen dazu, dass NVIDIA gleichwohl plant, für seine PCs auf diese Architektur zu setzen."},{t:"h2",text:"Was folgt daraus?"},{t:"p",text:"*Ich gebe Ihnen meine Sicht mit den Informationen, die mir vorliegen. Der Zweck dieses Artikels ist für mich vor allem, festzuhalten, was mir seit vielen Jahren im Kopf herumgeht. Aber ich lade Sie ein zu reagieren und Informationen beizusteuern, damit wir das Thema gemeinsam vertiefen können :)*"},{t:"callout",label:"DIE LEITLINIE",text:"Europa sollte nicht versuchen, die gesamte amerikanische oder asiatische Wertschöpfungskette nachzubauen. Es muss die Bausteine bestimmen, deren Know-how es unbedingt beherrschen muss, jene, bei denen es unverzichtbar werden kann, und jene, bei denen ein Lieferabriss ein strategisches Risiko darstellen würde."},{t:"p",text:"Wir haben gesehen, dass es eine Vielzahl von Akteuren braucht, um einen Chip herzustellen: den Architekten, die Foundry, mitunter Lizenzen. Chips sind überall, doch eines der strategischen Themen, das in den kommenden Jahren wohl am stärksten an Bedeutung gewinnt, ist das der **Chips für künstliche Intelligenz**. Die Frage lautet also: Welche langfristige Strategie sollten wir für unsere künftigen strategischen Bedürfnisse auf
91setzen?"},{t:"p",text:'Auf den ersten Blick erscheinen drei Strategien ânaheliegend":'},{t:"list",ordered:!0,items:["**Die deutsche Strategie**, ausländische Unternehmen ins eigene Land holen, mit TSMC. Sie erlaubt, vom Wissen bestehender Unternehmen zu profitieren, ist aber das gegenüber Entscheidungen Dritter anfälligste Modell und lässt uns von Lizenzfragen abhängig. Aber Achtung: Derzeit scheint von Nodes von höchstens 12 Nanometern die Rede zu sein, was von den zuvor erwähnten 2 nm weit entfernt bleibt.","**Die japanische Strategie**, eine Struktur von null im eigenen Land aufbauen, mit Rapidus. Der Vorteil: ein nationales Aushängeschild. Der Nachteil: der Preis, die Zeit und das Risiko, für eine Inbetriebnahme erst 2027, und das in einem Land mit starker Industriegeschichte.","**Die Strategie, einen bestehenden Akteur zu stärken**, über nationale oder europäische Hilfen. Sie ist vertretbar und bleibt möglich, doch die europäischen Mechanismen verlangen, das strategische Interesse der Investition genau zu begründen, und erschweren es vor allem, Mittel auf einen einzigen nationalen Akteur zu konzentrieren. Und ein Kandidat, den ich für möglich hielt, sitzt nicht mehr in einem EU-Land, was die Möglichkeiten weiter einschränkt."]},{t:"link",href:"https://digital-strategy.ec.europa.eu/en/news/commission-approves-eu5-billion-german-state-aid-measure-support-esmc-setting-new-semiconductor",label:"Die Kommission genehmigt 5 Milliarden deutsche Staatsbeihilfe für das ESMC-Werk",note:"Europäische Kommission, auf Englisch"},{t:"p",text:"Doch bevor man eine Strategie wählt, sollte man vielleicht definieren, was wir unter Souveränität verstehen."},{t:"callout",label:"WAS ICH UNTER SOUVERÃNITÃT VERSTEHE",text:"Souveränität bedeutet nicht, alles selbst zu produzieren. Sie bedeutet, **nie unfähig zu sein, einen kritischen Baustein zu produzieren, zu ersetzen oder zu umgehen**."},{t:"p",text:"Das ist eine wichtige Unterscheidung. Ein souveränes Europa muss nicht zwingend jeden Wafer auf seinem Gebiet fertigen, ebenso wenig wie es jede in einer Foundry eingesetzte Maschine allein bauen muss. Es muss aber die Abhängigkeiten erkennen können, deren Abriss seine Industrie, seine Verteidigung oder seine kritische Infrastruktur gefährden könnte, und über eine glaubwürdige Alternative verfügen, wenn das Risiko zu groà wird."},{t:"p",text:"Von dieser Definition ausgehend möchte ich einen Schritt zur Seite machen."},{t:"h3",text:"Einen Schritt zur Seite machen"},{t:"p",text:'Wie diejenigen, die mich kennen, ahnen dürften: Wenn ich Ihnen von diesen drei ânaheliegenden" Strategien erzähle, dann um von jener zu sprechen, die mir am klügsten erscheint: **einen Schritt zur Seite machen** gegenüber der japanischen Strategie. Gehen wir von einigen Feststellungen aus.'},{t:"list",items:["**Europa hat die intellektuellen Kapazitäten.** Ohne Chauvinismus: Es gibt viele europäische Ingenieure in Spitzenindustrien, und wir leiden besonders unter der Abwanderung. Sehen wir das nicht als Schicksal, sondern als Chance, wie es die Gründer von Mistral oder Kyutai erkannt haben. Im Chipbereich sei daran erinnert, dass der Cortex-A9 von ARM, der in den allerersten iPhones steckte, in Sophia-Antipolis entworfen wurde.","**Wir können bereits bestimmte Chiptypen produzieren**, dank der Unternehmen auf unserem Gebiet. Die zentrale Herausforderung betrifft die strategischen Technologien von morgen, deren Aushängeschild die KI ist.","**Die Strukturfeinheit ist nur eine Variable** unter jenen, die die Leistung eines Chips bestimmen."]},{t:"quote",text:"Betrachten Sie KI als eine Schraube, die Sie eindrehen wollen, um Ihr IKEA-Möbel zu montieren. Ihre GPU ist ein Hammer, dessen Leistung man zu verbessern versucht, während Sie eigentlich einen einfachen Schraubenzieher wollten."},{t:"p",text:'Das ist die Wette der derzeitigen Unternehmen, von Groq bei seiner Gründung weithin vermarktet: âEine spezialisierte Architektur kann einen Teil des Nachteils eines weniger fortgeschrittenen Ãtz-Nodes ausgleichen", ganz wie das Interesse an der ARM-Architektur.'},{t:"p",text:"Sie sehen also, worauf ich hinauswill. Ehrlich gesagt hätte ich mir gewünscht, dass Groq irgendwann selbst in die Produktion seiner Chips eingestiegen wäre und dass wir versucht hätten, sie in Europa zu fertigen. Dass das nicht geschehen ist, ist im Ãbrigen ein Grund, das zu prüfen, was ich für eine gute Idee halte: **ein neues Mistral für die Halbleiter der KI schaffen**."},{t:"image",src:"/images/articles/les-puces-pas-de-cote.png",alt:"Schema der vorgeschlagenen Strategie: Souveränität bei der KI anstreben, mit Fokus auf NPU und LPU und einem wettbewerbsfähigen Energieansatz.",caption:"EINEN SCHRITT ZUR SEITE MACHEN"},{t:"p",text:"Also **nicht versuchen, GPU nach Art von NVIDIA zu bauen**, jedenfalls nicht sofort. Wirklic
91h auf **für KI spezialisierte Architekturen** zielen, ob LPU, NPU oder andere dedizierte Architekturen. Und das aus zwei sehr pragmatischen Gründen: dem Bedarf (wir wollen keine Videospiele laufen lassen, sondern die KI der Zukunft bauen) und den Kosten (ein präzises Ziel senkt eine Rechnung, die ohnehin schwer genug ausfallen wird)."},{t:"p",text:"Eine Präzisierung, die sich direkt aus allem Gesagten ergibt: **Ein solches Unternehmen wäre kein Siliziumprojekt, es wäre ein Softwareprojekt.** Drei Hebel erscheinen mir entscheidend."},{t:"h3",text:"Hebel 1: Das Produkt ist nicht der Chip"},{t:"quote",text:"Das Produkt darf nicht der Chip sein. Das Produkt muss die Plattform sein."},{t:"p",text:"Der Chip ist nur die Hardware, auf der Folgendes läuft:"},{t:"list",items:["der Compiler;","die Kernels;","die Runtimes;","die Bibliotheken;","die Treiber;","PyTorch;","vLLM;","Triton;","die Profiling-Werkzeuge;","die Agenten-Frameworks;","die Cloud-Werkzeuge und so weiter."]},{t:"p",text:"Einer der Hauptgründe für den Rückstand von AMD gegenüber NVIDIA ist nicht allein das Silizium: Es ist der beträchtliche Vorsprung, den NVIDIA beim **Software-Ãkosystem** erlangt hat, insbesondere mit CUDA. Der Durchbruch von Huawei erklärt sich nicht nur aus seinen Chips, sondern daraus, dass es seine eigene Softwareschicht gebaut und dann geöffnet hat. Ein europäischer Akteur, der 90 % seines Budgets in die Hardware und 10 % in Compiler, Bibliotheken und die PyTorch-Integration steckte, würde genau den Fehler wiederholen, den andere bereits bezahlt haben. Die gute Nachricht ist, dass Europa auf diesem Feld eine echte Tradition hat. Und dass es unendlich viel weniger kostet als eine Foundry."},{t:"p",text:"Genau das ist das Problem, das AMD heute mit **ROCm** zu lösen versucht, das Runtimes, Compiler, Bibliotheken, Werkzeuge und die Integration mit PyTorch, JAX, vLLM oder SGLang bündelt. Und Huawei macht Ãhnliches rund um **Ascend**, **CANN** und das Open-Source-Ãkosystem."},{t:"h3",text:"Hebel 2: Es braucht einen ersten Kunden"},{t:"p",text:"Weniger technisch, aber ebenso entscheidend. Keines dieser Projekte ist allein auf Marktnachfrage gestartet. Huawei profitiert von einem riesigen chinesischen Markt und einer Industriepolitik, die die Bevorzugung nationaler Lösungen verstärkt, während Rapidus von einer direkten Zusage des Staates und groÃer japanischer Industriekonzerne profitiert. Die amerikanischen Fertiger wiederum haben die öffentliche Beschaffung und die Verteidigung."},{t:"p",text:"Ein europäischer KI-Chip muss nicht am ersten Tag die ganze Welt überzeugen: Er braucht, dass sich die Verwaltungen, die Forschungseinrichtungen und die souveränen Clouds des Kontinents zum Kauf verpflichten. Das klingt komplex, und doch sehen wir bereits, wie Staaten zunehmend versuchen, von Microsoft zu Open-Source-Lösungen auf Linux-Basis zu wechseln. Es ist wohl der wirksamste und zugleich günstigste politische Hebel, über den wir verfügen."},{t:"quote",text:"Ein Teil der mit europäischem Steuergeld finanzierten Rechenkapazität muss auf europäischen Beschleunigern verfügbar sein."},{t:"h3",text:"Hebel 3: Was uns noch fehlt"},{t:"p",text:"Wir haben auf unserem Gebiet Cloud-Anbieter, die sich bei KI positionieren (Scaleway, OVH), und ein LLM-Aushängeschild in Frankreich (Mistral), das die Herausforderung verstanden hat und sich auch im Rechenzentrumsbereich positioniert hat, daher der bekannte Vertrag mit Microsoft. Uns fehlen also Akteure, um das Bild zu vervollständigen: ein Unternehmen, das LPU und NPU architektonisch entwerfen **und deren Software-Ãkosystem beherrschen** kann, sowie europäische Kapazitäten, die diese Architekturen fertigen, montieren und integrieren können, wenn es strategisch nötig ist."},{t:"p",text:"Und man sollte diesen Anspruch nicht auf den Wafer allein verkürzen. Für moderne KI-Beschleuniger sind **Packaging**, **Verbindungen** und **Speicher** zu bestimmenden Leistungsfaktoren geworden. Architekturen auf Basis von *Chiplets* erlauben es gerade, bestimmte Funktionen zu entkoppeln und mehrere Komponenten in einem einzigen Package zusammenzuführen. Europäische Souveränität kann sich also auch hier entscheiden: Wir müssen vielleicht nicht sofort jede Ãtzgeneration beherrschen, wenn wir Architektur, Packaging, Verbindung und Software beherrschen, die dem Endsystem seinen Wert geben."},{t:"h3",text:"Ein roter Faden: die energetische Kohärenz"},{t:"p",text:"Ein letzter Aspekt durchzieht diese drei Hebel, bei ARM bereits angedeutet: die **Energie**. Wir brauchen in
91Europa eine kohärente Strategie zwischen unserer Industrie und unseren regulatorischen Zielen. Die Europäische Union bringt mehrere Regelwerke zu den ökologischen und gesellschaftlichen Auswirkungen von Unternehmen und ihren Lieferanten auf den Weg (CSRD und CS3D). Das Paradox: Die meisten Unternehmen rüsten sich mit KI-Werkzeugen aus, um ihre Entwicklung zu verbessern oder gar diesen Vorgaben zu genügen, obwohl eben diese Werkzeuge selbst sehr energiehungrig sind. Einen Akteur zu schaffen, dessen Grundnorm das Streben nach einem guten **Verhältnis von Leistung zu Verbrauch** und die Einhaltung europäischer Sozialstandards ist, wäre eine politische Botschaft der Kohärenz."},{t:"p",text:"Angesichts der Komplexität dieser Industrie sind politischer Wille und die Zusammenarbeit mit privaten Akteuren zwingend, wie die Investitionen rund um Rapidus in Japan zeigen. Diese Industrie könnte zur Reindustrialisierung des europäischen Kontinents beitragen und zugleich unsere Souveränität in diesem Feld sichern."},{t:"callout",label:"WAS WIR ANSTREBEN MÃSSEN",text:"Wir müssen nicht zwingend ein neues NVIDIA bauen. Wir müssen **die europäische Fähigkeit aufbauen, nicht mehr ausschlieÃlich von NVIDIA abzuhängen** â mit dem Ziel, langfristig mit ihm zu konkurrieren."},{t:"callout",label:"EIN WORT ZU DEN QUELLEN",text:"Das China-Thema bewegt sich sehr schnell: Ãtzausbeuten, Exportstatus der NVIDIA-Chips, tatsächlich angekündigte Kapazitäten. Die hier genannten Zahlen sind jene, die mir bei Veröffentlichung vorlagen, und ich werde sie laufend aktualisieren. Wenn Sie Besseres haben, schreiben Sie mir."},{t:"h2",text:"Anhänge"},{t:"p",text:"*Was folgt, ist zum Verständnis des Artikels nicht nötig: Es ist die Detailebene darunter, mit den Quellen, für alle, die tiefer graben wollen. Die drei Anhänge greifen bereits gestreifte Passagen auf und vertiefen sie.*"},{t:"h3",text:"Anhang 1 â Die Zusammensetzung eines Chips"},{t:"p",text:'**Silizium.** Es ist das Grundmaterial der Transistoren, aus denen die integrierten Schaltungen von CPU und GPU bestehen. Es ist ein *Halbleiter*: Je nach Bedingungen leitet oder isoliert es den Strom, genau das, was man zum Bau eines Transistors braucht. Es wird auf âelektronische Güteklasse" gereinigt (99,9999999 % Reinheit) und dann zu *Wafern* verarbeitet, jenen Scheiben, auf denen die Schaltungen im Nanometerbereich geätzt werden.'},{t:"image",src:"/images/articles/les-puces-annexe-silicium.webp",maxHeight:"420px",alt:"Weltweite Siliziumproduktion 2023, in Tausend Tonnen: China 6 600, Russland 620, Brasilien 390, Norwegen 340, dann Island, Kasachstan, Frankreich, Malaysia, Bhutan, Deutschland, Indien und Spanien unter 130.",caption:"SILIZIUMPRODUKTION (2023)"},{t:"p",text:"**Die Metalle, für die Leitfähigkeit.** Sie sorgen für den Stromfluss in den Schaltungen und Verbindungen."},{t:"p",text:"**Kupfer (Cu)** wird für die Verbindungen zwischen den Schichten der integrierten Schaltung verwendet: hohe Leitfähigkeit und gute Wärmeableitung."},{t:"image",src:"/images/articles/les-puces-annexe-cuivre.webp",maxHeight:"420px",alt:"Weltweite Produktion von raffiniertem Kupfer 2023, nach Ländern: China 44,4 %, Chile 7,4 %, Japan 5,6 %, Russland 3,7 %, Vereinigte Staaten 3,3 %, andere 28,6 %.",caption:"RAFFINIERTES KUPFER (2023)"},{t:"p",text:"**Aluminium (Al)** diente früher den Verbindungen; in modernen Prozessoren wurde es durch Kupfer ersetzt, wird aber weiterhin in bestimmten Bauteilen eingesetzt."},{t:"image",src:"/images/articles/les-puces-annexe-aluminium.webp",maxHeight:"420px",alt:"Weltweite Produktion von Hüttenaluminium 2023, in Tausend Tonnen: China 41 000, Indien 4 100, Russland 3 800, Kanada 3 000, Vereinigte Arabische Emirate 2 700, dann Bahrain, Australien, Norwegen, Malaysia, Vereinigte Staaten und Island.",caption:"HÃTTENALUMINIUM (2023)"},{t:"p",text:"**Gold (Au)** ist kritischen Verbindungen vorbehalten, etwa den sehr feinen Drähten, die den Chip mit seinem Gehäuse verbinden (*bond wires*). Es ist sehr korrosionsbeständig."},{t:"image",src:"/images/articles/les-puces-annexe-or.webp",maxHeight:"420px",alt:"Weltweite Goldproduktion 2023, in Tonnen: China 370, Australien 310, Russland 310, Kanada 200, Vereinigte Staaten 170, dann Kasachstan, Mexiko, Indonesien, Südafrika, Usbekistan und Peru.",caption:"GOLDPRODUKTION (2023)"},{t:"p",text:"**Wolfram (W)** kommt in bestimmten Verbindungsschichten zum Einsatz, wegen seiner mechanischen Festigkeit und seiner Hochtemperaturbeständigkeit. [Materialdatenblatt, MineralInfo](https://www.mineralinfo.fr/sites/default/files/2023-01/Fiche_W_230106.pdf)"},{t:"image",src:"/images/articles/les-puces-annexe-tungstene.webp",maxHeight:"420px",alt:"Weltweite Wolfram-Bergwerksproduktion 2020 (78,4 kt): China 84,2 %, Vietnam 5,7 %, Russland 3,1 %, Bolivien 1,7 %, Ãsterreich 1,1 %, Ruanda 1,1 %, dann Portugal, Spanien und Nordkorea. Konzentrationsindex HHI von 0,73.",caption:"WOLFRAM: 84 % IN CHINA (BRGM / USGS)"},{t:"p",text:"**Nickel (Ni)**, **Kobalt (Co)** und **Molybdän (Mo)** kommen in bestimmten Legierungen oder Schutzschichten der Transistoren vor. [Stopp der Nickelerz-Exporte (französisches Schatzamt)](https://www.tresor.economie.gouv.fr/Articles/2019/11/04/annonce-de-l-arret-des-exportations-de-minerai-de-nickel) · [Molybdän (L'Ãlémentarium)](https://lelementarium.fr/element-fiche/molybdene/)"},{t:"image",src:"/images/articles/les-puces-annexe-nickel.webp",maxHeight:"420px",alt:"Weltweite Nickelproduktion 2023, in Tonnen: Indonesien 1 800 000, Philippinen 400 000, Frankreich 230 000, Russland 200 000, Kanada 180 000, Australien 160 000, China 110 000, Brasilien 89 000, Vereinigte Staaten 17 000.",caption:"NICKEL (2023)"},{t:"image",src:"/images/articles/les-puces-annexe-cobalt.webp",maxHeight:"420px",alt:"Weltweite Kobaltreserven 2023, in Tonnen: DR Kongo 6 000 000, Australien 1 700 000, Indonesien 500 000, Kuba 500 000, Philippinen 260 000, Russland 250 000, Kanada 230 000, dann Madagaskar, Türkei, Vereinigte Staaten und Papua-Neuguinea.",caption:"KOBALTRESERVEN (2023)"},{t:"image",src:"/images/articles/les-puces-annexe-molybdene.webp",maxHeight:"420px",alt:"Weltweite Molybdän-Bergwerksproduktion 2023, in Tonnen: China 90 000, Vereinigte Staaten 52 000, Chile 44 100, Peru 33 500, Mexiko 16 500, Armenien 11 900, Ru
91ssland 10 800, dann Iran, Japan und Kasachstan.",caption:"MOLYBDÃN (2023)"},{t:"p",text:"**Die Dotierstoffe.** Sie verändern die Eigenschaften des Siliziums, um daraus einen Transistor zu machen. **Phosphor (P)** und **Arsen (As)** sind Dotierstoffe vom N-Typ: Sie fügen freie Elektronen hinzu, die den Strom leiten. [Arsenproduktion (Statista)](https://www.statista.com/statistics/264961/production-of-arsenic/)"},{t:"image",src:"/images/articles/les-puces-annexe-arsenic.webp",maxHeight:"420px",alt:"Weltweite Arsenproduktion 2023, in Tonnen: Peru 27 000, China 24 000, Marokko 8 000, Belgien 1 000, Russland 200, Japan 40.",caption:"ARSENPRODUKTION (2023)"},{t:"p",text:'**Bor (B)** ist ein Dotierstoff vom P-Typ: Es erzeugt âLöcher", die die Leitung durch das Fehlen von Elektronen erleichtern. [Wichtigste Bor-Produktionsländer (Statista)](https://fr.statista.com/statistiques/565294/principaux-pays-producteurs-de-bore/)'},{t:"image",src:"/images/articles/les-puces-annexe-bore.webp",maxHeight:"420px",alt:"Weltweite Borproduktion 2023, in Tausend Tonnen: Türkei 2 200, Chile 360, China 200, Peru 200, Bolivien 170, Argentinien 130, Russland 80, Deutschland 60.",caption:"BOR: DIE TÃRKEI DOMINIERT DEN MARKT (2023)"},{t:"p",text:"**Galliumarsenid (GaAs)** wird in spezialisierten Bauteilen eingesetzt, für bessere Geschwindigkeit und Effizienz. [Materialdatenblatt (Metoree)](https://fr.metoree.com/categories/6887/)"},{t:"p",text:"**Die Isolatoren.** Sie trennen die Schichten und Teile der Schaltung. **Siliziumdioxid (SiOâ)** ist der wichtigste Isolator integrierter Schaltungen: Es schützt die Transistoren und verhindert Kurzschlüsse. **Hafniumoxid**, in modernen Prozessoren eingesetzt, verbessert die Transistorleistung und senkt zugleich den Verbrauch. [Materialdatenblatt (Metoree)](https://fr.metoree.com/categories/6581/)"},{t:"p",text:"**Die Wärmeableitung.** Ohne sie überhitzt der Chip. **Siliziumkarbid (SiC)** wird wegen seiner überlegenen thermischen und elektronischen Eigenschaften in bestimmten Bauteilen verwendet. [Materialdatenblatt (L'Ãlémentarium)](https://lelementarium.fr/product/carbure-de-silicium/)"},{t:"image",src:"/images/articles/les-puces-annexe-carbure-silicium.webp",maxHeight:"420px",alt:"Weltweite Produktion von Siliziumkarbid 2023, in Tausend Tonnen: China 450, Norwegen 80, Japan 60, Mexiko 45, Brasilien 40, Vereinigte Staaten 40, Deutschland 35, Venezuela 30, Frankreich 20, Indien 5.",caption:"SILIZIUMKARBID (2023)"},{t:"p",text:"**Graphit** und **Graphen** werden in bestimmten Chips eingesetzt, um Wärme wirksam abzuführen; **Keramiken** in Substraten und Gehäusen, um zu isolieren und Wärme abzuleiten. [Wichtigste Graphit-Produktionsländer (Statista)](https://fr.statista.com/statistiques/570417/principaux-pays-producteurs-de-graphite-dans-le-monde/) · besondere Erwähnung: [Franzosen bald Europameister beim Graphen (Les Ãchos)](https://www.lesechos.fr/partenaires/bpifrance/des-francais-bientot-champions-deurope-de-production-de-graphene-1975143)"},{t:"image",src:"/images/articles/les-puces-annexe-graphite.webp",maxHeight:"420px",alt:"Weltweite Graphitproduktion 2023, in Tausend Tonnen: China 1 230, Madagaskar 100, Mosambik 96, Brasilien 73, Südkorea 27, Russland 16, Indien 12, Nordkorea 8, Norwegen 7, Tansania 6.",caption:"GRAPHIT (2023)"},{t:"p",text:"**Die Substrate und Gehäuse.** Der Chip wird auf ein Substrat montiert und dann geschützt: **glasfaserverstärktes Epoxid (FR-4)**, um den Chip zu tragen, **Kupfer- und Aluminiumlegierungen** für Gehäuse und Kühlkörper, **Kunststoffe und Polymere**, um empfindliche Bauteile zu isolieren und zu kapseln."},{t:"h3",text:"Anhang 2 â Fortgeschrittene Nodes im Detail"},{t:"p",text:"**Transistordichte.** Fortgeschrittene Nodes erlauben es, mehr Transistoren auf einer gegebenen Fläche unterzubringen. Mehr Transistoren bedeutet mehr Funktionseinheiten (Rechenkerne, parallele Verarbeitungseinheiten, integrierter Speicher) und damit bessere Leistung â oder, bei gleicher Transistorzahl, einen kleineren Chip, was kompakten Geräten zugutekommt. Im Gegenzug werden Transistoren, je kleiner sie sind, empfindlicher gegenüber physikalischen Phänomenen wie dem **Leckstrom** und der Streuung elektrischer Kennwerte. Und die höhere Dichte erschwert die Wärmeableitung."},{t:"p",text:"**Leistung und Verbrauch.** Kleinere Transistoren verkürzen die Strompfade, was die Taktfrequenz verbessert; Entwurfsfortschritte (**FinFET**, **GAA**) erlauben eine bessere Stromführung und geringere Latenz. Energetisch sinkt die Versorgungsspannung und damit der Verbrauch â wesentlich für Mobilgeräte, Rechenzentren und eingebettete Systeme. Die Kehrseite: Diese Spannungsabsenkung verringert den Betriebsspielraum der Transistoren und macht die Chips empfindlicher gegenüber Umgebungsschwankungen (Wärme, elektrisches Rauschen)."},{t:"p",text:"**Neue Architekturen.** Fortgeschrittene Nodes eröffnen Entwürfe, die zuvor auÃer Reichweite lagen:"},{t:"list",items:["**3D-Stapelung** (*3D stacking*): vertikale Integration der Schaltungen, wie bei Architekturen auf *Chiplet*-Basis oder dem 3D V-Cache.","**Speicherintegration**: mehr Speicher direkt auf dem Chip, wie in modernen GPU.","**KI und heterogenes Rechnen**: Hybride Architekturen (CPU + GPU + KI-Beschleuniger) nutzen fortgeschrittene Nodes, um die Leistung zu maximieren."]},{t:"h3",text:"Anhang 3 â Die französischen und europäischen Akteure"},{t:"list",items:["**STMicroelectronics** â *Halbleiterhersteller*, französisch-italienisch, Sitz in Genf, aber mit starker Präsenz in Frankreich. Einer der europäischen Marktführer bei Entwurf und Fertigung von Chips, spezialisiert auf Automobil, Industrieelektronik, IoT und integrierte Lösungen. Fertigt in ausgereiften Technologien (28 nm, 40 nm), die auf diese Branchen zugeschnitten sind, insbesondere in **Crolles** bei Grenoble auf 300-mm-Wafern.","**Soitec** â *Materiallieferant*, mit Sitz in Bernin bei Grenoble. Spezialisiert auf **Silicon-on-Insulator-Substrate (SOI)** und andere fortschrittliche Materialien, eingesetzt für Smartphones, 5G, Automobil und eingebettete Systeme. Seine Substrate verbessern die Leistung und senken den Verbrauch der Chips. Es arbeitet mit TSMC, Samsung und GlobalFoundries zusammen.","**CEA-Leti** â *angewandtes Forschungszentrum* in Grenoble. Spezialisiert auf Halbleiterinnovation, bekannt für Arbeiten zu 3D-Transistoren, EUV-Lithografie und heterogener Integration. Arbeitet in Partnerschaft mit STMicroelectronics, Soitec und internationalen Akteuren und beschleunigt die Innovation, die die europäische Industrie wettbewerbsfähig hält.","**Kalray** â *Entwickler spezialisierter Prozessoren*, in Montbonnot-Saint-Martin bei Grenoble. Entwirft Prozessoren für kritische und leistungsstarke Anwendungen: die **MPPA** (
91*Massively Parallel Processor Array*), eine DPU (*Data Processing Unit*), eingesetzt in autonomen Systemen, Rechenzentren und künstlicher Intelligenz. Wie NVIDIA fertigt Kalray seine Chips nicht selbst."]}]}],gS={fr:Af,en:mS,pt:pS,de:hS},Ls=Af;function $u(e){const t=gS[e]||Ls;if(t===Ls)return Ls;const n=new Set(t.map(i=>i.slug)),s=Ls.filter(i=>!n.has(i.slug));return s.length?[...t,...s].sort((i,r)=>i.number-r.number):t}function fS(e,t){return $u(t).find(s=>s.slug===e)||Ls.find(s=>s.slug===e)||null}const xm=["#18C8EC","#A78BFA","#34D399","#FBBF24","#FB7185"],vS=e=>xm[(e-1)%xm.length],wf=({article:e,variant:t="hero"})=>{const{t:n}=U(),s=vS(e.number),i=t==="hero";return e.image?a.jsx("img",{src:e.image,alt:e.title,className:i?"w-full rounded-xl":"w-full h-full object-cover",style:i?{border:"1px solid var(--color-border)"}:void 0}):a.jsxs("div",{className:`relative overflow-hidden flex flex-col justify-center ${i?"rounded-xl px-8 py-10 sm:px-10 sm:py-12":"w-full h-full px-5"}`,style:{border:i?"1px solid var(--color-border)":"none",backgroundColor:"var(--color-bg-secondary)",backgroundImage:`radial-gradient(120% 120% at 12% 0%, ${s}22 0%, transparent 60%), 92 radial-gradient(90% 90% at 100% 100%, ${s}14 0%, transparent 55%)`},children:[a.jsx("div",{"aria-hidden":"true",className:"absolute inset-0",style:{backgroundImage:"radial-gradient(currentColor 1px, transparent 1px)",backgroundSize:"22px 22px",color:s,opacity:.09}}),a.jsx("span",{"aria-hidden":"true",className:"absolute",style:{top:12,left:12,width:16,height:16,borderTop:`2px solid ${s}`,borderLeft:`2px solid ${s}`,opacity:.7}}),a.jsx("span",{"aria-hidden":"true",className:"absolute",style:{bottom:12,right:12,width:16,height:16,borderBottom:`2px solid ${s}`,borderRight:`2px solid ${s}`,opacity:.7}}),a.jsx("span",{"aria-hidden":"true",className:"absolute font-bold leading-none select-none",style:{right:i?"4%":"6%",top:"50%",transform:"translateY(-50%)",fontSize:i?"9rem":"5.5rem",color:s,opacity:.13,fontFamily:"'Space Mono', monospace"},children:String(e.number).padStart(2,"0")}),a.jsxs("div",{className:"relative",children:[a.jsxs("span",{className:"hud-text",style:{color:s,fontSize:i?"11px":"9px"},children:[n("article.label")," #",e.number]}),i&&a.jsx("p",{className:"mt-3 text-2xl sm:text-3xl font-bold leading-tight max-w-2xl",style:{color:"var(--color-text)"},children:e.title}),a.jsx("div",{className:"mt-4",style:{height:"2px",width:i?"120px":"64px",background:`linear-gradient(90deg, ${s} 0%, transparent 100%)`}})]})]})};function $i(e){const[t,n,s]=e.split("-");return`${s}/${n}/${t}`}function ym(e){const[t,n,s]=e.split("/");return new Date(`${s}-${n}-${t}`)}const bS=()=>{const[e,t]=w.useState("All"),{t:n,language:s}=U(),i=["cvExtraction","nvidiaInception","hubFranceIA","epitechSummit","dynamicAgentInterface","distantMcp","asrAgent","aiPulse"],r={cvExtraction:{date:"08/05/2026",category:"Usecases",image:"https://img.youtube.com/vi/kTxXlUctDQQ/hqdefault.jpg",link:"https://www.youtube.com/watch?v=kTxXlUctDQQ&list=PLwIDywna210UAK3bT6BVa90Fzg4_vin2D&index=1&t=2s",type:"video"},nvidiaInception:{date:"26/03/2026",category:"News",image:"/images/now/nvidia-inception.png"},hubFranceIA:{date:"19/03/2026",category:"News",image:"/images/now/hub-france-ia.png",imageFit:"contain",link:"https://lnkd.in/eBTN35RG"},epitechSummit:{date:"02/02/2026",category:"News",image:"/images/now/epitech-summit.png"},dynamicAgentInterface:{date:"03/01/2026",category:"Product",image:"/images/now/dynamic-agent-interface.jpg"},distantMcp:{date:"28/12/2025",category:"Product",image:"/images/now/distant-mcp.jpg"},asrAgent:{date:"20/12/2025",category:"Product",image:"/images/now/asr-agent.jpg"},aiPulse:{date:"04/12/2025",category:"News",image:"/images/now/ai-pulse.jpg"}},o=i.map(h=>({...r[h],title:n(`nowPage.updates.${h}.title`),description:n(`nowPage.updates.${h}.description`)})),l=kl(s).map(h=>({date:$i(h.updated),category:"Battlecards",title:hi(h),description:h.positioning.lead,image:h.image,link:be(s,`/battle-cards/${h.slug}`)})),u=$u(s).map(h=>
92({date:$i(h.updated),category:"Articles",title:h.title,description:h.lede,image:h.image,article:h,rank:h.number,link:be(s,`/articles/${h.slug}`)})),c=[...o,...l,...u].sort((h,v)=>{const x=ym(v.date)-ym(h.date);return x!==0?x:(v.rank||0)-(h.rank||0)}),d=["All","Articles","Usecases","Product","News","Battlecards"],m={All:n("nowPage.categories.all"),Usecases:n("nowPage.categories.usecases"),Product:n("nowPage.categories.product"),News:n("nowPage.categories.news"),Battlecards:n("nowPage.categories.battlecards"),Articles:n("nowPage.categories.articles")},p=e==="All"?c:c.filter(h=>h.category===e);return a.jsx("div",{className:"min-h-screen bg-bg-dark pt-32 pb-20",children:a.jsxs("div",{className:"container mx-auto px-6 max-w-6xl",children:[a.jsxs(A.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.6},className:"mb-12",children:[a.jsx("h1",{className:"text-6xl md:text-7xl font-bold text-white mb-4",children:a.jsx(re,{children:n("nowPage.title")})}),a.jsx("p",{className:"text-text-secondary text-lg",children:n("nowPage.subtitle")})]}),a.jsx(A.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.6,delay:.1},className:"mb-8 flex gap-4 flex-wrap",children:d.map(h=>a.jsx("button",{onClick:()=>t(h),className:`px-4 py-2 rounded-lg transition-all duration-300 ${e===h?"bg-white text-black font-semibold":"glass text-white hover:text-neon-blue hover:border-white/50"}`,children:m[h]},h))}),a.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:p.map((h,v)=>{var g;const x=(g=h.link)==null?void 0:g.startsWith("http"),I=h.link?A.a:A.div,b=h.link?{href:h.link,...x?{target:"_blank",rel:"noopener noreferrer"}:{}}:{};return a.jsxs(I,{...b,initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5,delay:v*.1},className:"glass-strong rounded-xl overflow-hidden border border-white/10 hover:border-white/30 transition-all duration-300 cursor-pointer group flex flex-col",children:[a.jsx("div",{className:"w-full h-48 flex items-center justify-center overflow-hidden relative",style:{background:"var(--color-bg-secondary)"},children:h.image?a.jsxs(a.Fragment,{children:[a.jsx("img",{src:h.image,alt:h.title,className:`group-hover:scale-105 transition-transform duration-300 ${h.imageFit==="contain"?"h-32 w-auto object-contain":"w-full h-full object-cover"}`,onError:f=>{f.target.style.display="none"}}),h.type==="video"&&a.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-black/20",children:a.jsx("div",{className:"w-14 h-14 rounded-full bg-red-600 flex items-center justify-center group-hover:scale-110 transition-transform duration-300 shadow-lg",children:a.jsx("svg",{className:"w-6 h-6 text-white ml-1",fill:"currentColor",viewBox:"0 0 24 24",children:a.jsx("path",{d:"M8 5v14l11-7z"})})})})]}):h.article?a.jsx(wf,{article:h.article,variant:"card"}):a.jsx("div",{className:"w-full h-full flex items-center justify-center",children:a.jsx("div",{className:"w-20 h-20 rounded-full flex items-center justify-center",style:{border:"2px solid var(--color-border)"},children:a.jsx("svg",{className:"w-10 h-10",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",style:{color:"var(--color-text-muted)"},children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M19 20H5a2 2 0 01-2-2V6a2 2 0 012-2h10a2 2 0 012 2v1m2 13a2 2 0 01-2-2V7m2 13a2 2 0 002-2V9a2 2 0 00-2-2h-2m-4-3H9M7 16h6M7 8h6v4H7V8z"})})})})}),a.jsxs("div",{className:"p-6 flex-1 flex flex-col",children:[a.jsxs("div",{className:"mb-3",children:[a.jsx("div",{className:"text-sm font-medium mb-2",style:{color:"var(--color-text-muted)"},children:h.date}),a.jsx("h3",{className:"text-xl md:text-2xl font-bold mb-2 group-hover:text-neon-blue transition-colors",style:{color:"var(--color-text)"},children:h.title})]}),a.jsx("p",{className:"leading-relaxed mb-4 flex-1",style:{color:"var(--color-text-muted)"},children:h.description}),a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("span",{className:"inline-block px-3 py-1 text-xs font-mono tracking-wider",style:{background:"var(--color-border)",color:"var(--color-accent)"},children:["[",(m[h.category]||h.category).toUpperCase(),"]"]}),h.link&&a.jsxs("span",{className:"text-xs font-mono flex items-center gap-1 transition-colors group-hover:text-neon-blue",style:{color:"var(--color-text-muted)"},children:[n("nowPage.readMore"),a.jsx("svg",{className:"w-3 h-3 group-hover:translate-x-0.5 group-hover:-translate-y-0.5 transition-transform",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})})]})]})]})]},v)})}),p.length===0&&a.jsx(A.div,{initial:{opacity:0}
92,animate:{opacity:1},className:"text-center py-20",children:a.jsx("p",{className:"text-text-secondary text-lg",children:n("nowPage.noUpdates")})}),a.jsxs(A.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.6,delay:.5},className:"mt-20 pt-16 border-t border-glass-border",children:[a.jsx("h2",{className:"text-4xl md:text-5xl font-bold text-white mb-4",children:n("nowPage.customerStory")}),a.jsx("p",{className:"text-text-secondary text-lg mb-8",children:n("nowPage.customerStorySubtitle")}),a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[a.jsxs(A.a,{href:"https://www.linkedin.com/pulse/utiliser-de-lia-dans-le-domaine-legal-benjamin-de-almeida-x886e/?trackingId=92xb3yxCSSynbZ7OlBDr6w%3D%3D",target:"_blank",rel:"noopener noreferrer",initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5,delay:.6},className:"glass-strong rounded-xl overflow-hidden border border-white/10 hover:border-white/30 transition-all duration-300 cursor-pointer group flex flex-col",children:[a.jsx("div",{className:"w-full h-48 bg-black flex items-center justify-center overflow-hidden relative",children:a.jsx("img",{src:"/images/now/transcription-legal.png",alt:"Using a transcription editor in the legal domain",className:"w-full h-full object-cover group-hover:scale-105 transition-transform duration-300"})}),a.jsxs("div",{className:"p-6 flex-1 flex flex-col",children:[a.jsxs("div",{className:"mb-3",children:[a.jsx("div",{className:"text-sm text-text-secondary font-medium mb-2",children:n("nowPage.customerStory")}),a.jsx("h3",{className:"text-xl md:text-2xl font-bold text-white mb-2 group-hover:text-neon-blue transition-colors",children:n("nowPage.customerStories.legal.title")})]}),a.jsx("p",{className:"text-text-secondary leading-relaxed mb-4 flex-1",children:n("nowPage.customerStories.legal.description")}),a.jsxs("div",{className:"flex items-center gap-2 text-white hover:text-neon-blue transition-colors text-sm",children:[n("nowPage.readMore"),a.jsx("svg",{className:"w-4 h-4 group-hover:translate-x-1 group-hover:-translate-y-1 transition-transform",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})})]})]})]}),a.jsxs(A.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5,delay:.7},className:"glass-strong rounded-xl overflow-hidden border border-white/10 hover:border-white/30 transition-all duration-300 cursor-pointer group flex flex-col",children:[a.jsx("div",{className:"w-full h-48 bg-black flex items-center justify-center overflow-hidden relative",children:a.jsx("div",{className:"w-full h-full bg-black flex items-center justify-center",children:a.jsx("div",{className:"w-24 h-24 rounded-full border-2 border-white/20 flex items-center justify-center",children:a.jsx("svg",{className:"w-12 h-12 text-white/30",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"})})})})}),a.jsxs("div",{className:"p-6 flex-1 flex flex-col",children:[a.jsxs("div",{className:"mb-3",children:[a.jsx("div",{className:"text-sm text-text-secondary font-medium mb-2",children:n("nowPage.customerStory")}),a.jsx("h3",{className:"text-xl md:text-2xl font-bold text-white mb-2 group-hover:text-neon-blue transition-colors",children:n("nowPage.comingSoon")})]}),a.jsx("p",{className:"text-text-secondary leading-relaxed mb-4 flex-1",children:n("nowPage.comingSoonDescription")})]})]})]})]})]})})},xS=()=>{const{t:e}=U();return a.jsx("div",{className:"min-h-screen bg-bg-dark pt-32 pb-20",children:a.jsxs("div",{className:"container mx-auto px-6 max-w-5xl",children:[a.jsxs(A.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.6},className:"text-center mb-16",children:[a.jsx("h1",{className:"text-5xl md:text-6xl font-bold text-white mb-4",children:a.jsx(re,{children:e("contactPage.title")})}),a.jsx("p",{className:"text-text-secondary text-lg md:text-xl max-w-2xl mx-auto",children:e("contactPage.subtitle")})]}),a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 mb-12",children:[a.jsxs(A.div,{initial:{opacity:0,y:20}
92,animate:{opacity:1,y:0},transition:{duration:.6,delay:.1},className:"glass-strong rounded-xl p-8 border border-white/10 hover:border-white/30 transition-all duration-300",children:[a.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[a.jsx("div",{className:"w-10 h-10 rounded-full bg-white/10 flex items-center justify-center",children:a.jsx("svg",{className:"w-5 h-5 text-white",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"})})}),a.jsx("h2",{className:"text-2xl font-bold text-white",children:e("contactPage.sales.title")})]}),a.jsx("p",{className:"text-text-secondary mb-6 leading-relaxed",children:e("contactPage.sales.description")}),a.jsxs("a",{href:"mailto:[email protected]",className:"inline-flex items-center gap-2 px-6 py-3 rounded-lg bg-bg-darker hover:bg-bg-darker/80 text-white font-medium transition-all duration-300 group",children:[e("contactPage.sales.cta"),a.jsx("svg",{className:"w-4 h-4 group-hover:translate-x-1 transition-transform",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})]})]}),a.jsxs(A.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.6,delay:.2},className:"glass-strong rounded-xl p-8 border border-white/10 hover:border-white/30 transition-all duration-300",children:[a.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[a.jsx("div",{className:"w-10 h-10 rounded-full bg-white/10 flex items-center justify-center",children:a.jsx("svg",{className:"w-5 h-5 text-white",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})})}),a.jsx("h2",{className:"text-2xl font-bold text-white",children:e("contactPage.support.title")})]}),a.jsx("p",{className:"text-text-secondary mb-6 leading-relaxed",children:e("contactPage.support.description")}),a.jsxs("div",{className:"flex flex-col sm:flex-row gap-3",children:[a.jsxs("a",{href:"https://app.socle.ai/documentation",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center justify-center gap-2 px-6 py-3 rounded-lg bg-bg-darker hover:bg-bg-darker/80 text-white font-medium transition-all duration-300 group",children:[e("contactPage.support.docsCta"),a.jsx("svg",{className:"w-4 h-4 group-hover:translate-x-1 transition-transform",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})]}),a.jsxs("a",{href:"https://discord.gg/socle-ai",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center justify-center gap-2 px-6 py-3 rounded-lg bg-bg-darker hover:bg-bg-darker/80 text-white font-medium transition-all duration-300 group",children:[e("contactPage.support.discordCta"),a.jsx("svg",{className:"w-4 h-4 group-hover:translate-x-1 transition-transform",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})]})]})]})]}),a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[a.jsxs(A.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.6,delay:.3},className:"glass rounded-xl p-6",children:[a.jsx("h3",{className:"text-xl font-bold text-white mb-3",children:e("contactPage.community.title")}),a.jsx("p",{className:"text-text-secondary mb-4 leading-relaxed",children:e("contactPage.community.description")}),a.jsxs("a",{href:"https://discord.gg/socle-ai",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 text-white hover:text-neon-blue transition-colors group",children:[e("contactPage.community.cta"),a.jsx("svg",{className:"w-4 h-4 group-hover:translate-x-1 group-hover:-translate-y-1 transition-transform",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})})]})]}),a.jsxs(A.div,{initial:{opacity:0,y:20}
92,animate:{opacity:1,y:0},transition:{duration:.6,delay:.4},className:"glass rounded-xl p-6",children:[a.jsx("h3",{className:"text-xl font-bold text-white mb-3",children:e("contactPage.social.title")}),a.jsx("p",{className:"text-text-secondary mb-4 leading-relaxed",children:e("contactPage.community.description")}),a.jsxs("div",{className:"flex flex-col gap-3",children:[a.jsxs("a",{href:"https://x.com/socleai",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 text-white hover:text-neon-blue transition-colors group",children:[a.jsx("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 24 24",children:a.jsx("path",{d:"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"})}),e("contactPage.social.x"),a.jsx("svg",{className:"w-4 h-4 group-hover:translate-x-1 group-hover:-translate-y-1 transition-transform",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})})]}),a.jsxs("a",{href:"https://www.linkedin.com/company/socle-ai",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 text-white hover:text-neon-blue transition-colors group",children:[a.jsx("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 24 24",children:a.jsx("path",{d:"M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"})}),e("contactPage.social.linkedin"),a.jsx("svg",{className:"w-4 h-4 group-hover:translate-x-1 group-hover:-translate-y-1 transition-transform",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})})]})]})]})]})]})})},yS=()=>{const{t:e}=U(),t=e("cgu.sections");return a.jsx(A.main,{initial:{opacity:0}
92,animate:{opacity:1},transition:{duration:.4},className:"min-h-screen pt-28 pb-20 px-6",children:a.jsxs("div",{className:"container mx-auto max-w-3xl",children:[a.jsxs(A.div,{initial:{opacity:0,y:24},animate:{opacity:1,y:0},transition:{duration:.6},className:"mb-12",children:[a.jsxs("span",{className:"hud-text",style:{fontSize:"10px"},children:[a.jsx("span",{className:"hud-gold",children:"LEGAL"}),a.jsx("span",{className:"hud-sep mx-1",children:"//"}),e("cgu.title").toUpperCase()]}),a.jsx("h1",{className:"text-4xl sm:text-5xl font-bold mt-4 mb-2 leading-tight",style:{color:"var(--color-text)"},children:e("cgu.title")}),a.jsx("p",{className:"font-mono text-sm",style:{color:"var(--color-accent)"},children:e("cgu.subtitle")}),a.jsxs("div",{className:"mt-4 mb-8 pb-6 flex items-center gap-3",style:{borderBottom:"1px solid var(--color-border)"},children:[a.jsx("span",{className:"font-mono text-xs tracking-widest",style:{color:"var(--color-text-muted)"},children:e("cgu.lastUpdated")}),a.jsx("span",{className:"inline-block h-px flex-1",style:{background:"var(--color-border)"}})]}),a.jsx("p",{className:"text-base leading-relaxed",style:{color:"var(--color-text-muted)"},children:e("cgu.intro")})]}),a.jsx("div",{className:"space-y-10",children:t.map((n,s)=>a.jsxs(A.section,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.5,delay:.1+s*.05},children:[a.jsxs("div",{className:"flex items-start gap-3 mb-3",children:[a.jsx("div",{className:"shrink-0 mt-1",style:{width:"3px",height:"20px",background:"var(--color-accent)"}}),a.jsx("h2",{className:"text-lg font-bold font-mono tracking-wide",style:{color:"var(--color-text)"},children:n.title})]}),a.jsx("div",{className:"pl-6 space-y-3",children:n.content.map((i,r)=>{const o=i.startsWith("â");return a.jsx("p",{className:`text-sm leading-relaxed ${o?"pl-3":""}`,style:{color:"var(--color-text-muted)",borderLeft:o?"1px solid var(--color-border)":"none"},children:i},r)})})]},s))}),a.jsx(A.div,{initial:{opacity:0}
92,animate:{opacity:1},transition:{delay:.8},className:"mt-16 pt-8",style:{borderTop:"1px solid var(--color-border)"},children:a.jsxs("a",{href:"#",className:"font-mono text-xs tracking-widest uppercase transition-colors duration-150",style:{color:"var(--color-text-muted)"},onMouseEnter:n=>n.currentTarget.style.color="var(--color-accent)",onMouseLeave:n=>n.currentTarget.style.color="var(--color-text-muted)",children:["â ",e("cgu.subtitle")]})})]})})},AS=({label:e})=>a.jsx("span",{className:"font-mono text-[10px] tracking-widest px-2 py-1 border",style:{color:"var(--color-accent)",borderColor:"var(--color-border-strong)",background:"var(--color-bg-secondary)"},children:e}),wS=({text:e})=>a.jsxs("li",{className:"flex items-start gap-2.5 text-sm",style:{color:"var(--color-text-muted)"},children:[a.jsx("span",{className:"shrink-0 mt-1.5",style:{width:"5px",height:"5px",background:"var(--color-accent)",display:"block"}}),e]}),SS=({value:e,label:t,sub:n})=>a.jsxs("div",{className:"flex flex-col gap-1 p-4 bracket-panel",style:{background:"var(--color-bg-secondary)",border:"1px solid var(--color-border)"},children:[a.jsx("span",{className:"font-mono font-bold text-2xl leading-none",style:{color:"var(--color-gold)"},children:e}),a.jsx("span",{className:"text-xs font-semibold",style:{color:"var(--color-text)"},children:t}),a.jsx("span",{className:"font-mono text-[10px]",style:{color:"var(--color-text-muted)"},children:n})]}),IS=({section:e,index:t})=>a.jsxs(A.section,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.55,delay:.1+t*.07},className:"pt-10",style:{borderTop:"1px solid var(--color-border)"},children:[a.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[a.jsx("div",{style:{width:"16px",height:"1px",background:"var(--color-accent)",opacity:.6}}),a.jsx("span",{className:"hud-text hud-accent",style:{fontSize:"10px"},children:e.label})]}),a.jsx("h2",{className:"text-2xl sm:text-3xl font-bold mb-4 leading-snug",style:{color:"var(--color-text)"},children:e.title}),a.jsx("p",{className:"text-sm leading-relaxed mb-5",style:{color:"var(--color-text-muted)"},children:e.body}),a.jsx("div",{className:"p-4 mb-6 text-sm leading-relaxed border-l-2",style:{background:"var(--color-bg-secondary)",borderLeftColor:"var(--color-gold)",color:"var(--color-text)"},children:e.highlight}),e.certs&&a.jsx("div",{className:"flex flex-wrap gap-2 mb-4",children:e.certs.map(n=>a.jsx(AS,{label:n},n))}
92),e.items&&a.jsx("ul",{className:"space-y-2.5 mb-4",children:e.items.map((n,s)=>a.jsx(wS,{text:n},s))}),e.stats&&a.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-4 gap-3 mb-4",children:e.stats.map((n,s)=>a.jsx(SS,{...n},s))}),e.cta&&a.jsxs(A.a,{href:e.cta.href,whileHover:{scale:1.03},whileTap:{scale:.97},className:"btn-outline inline-block px-6 py-3 mt-2 text-xs",children:[e.cta.label," â"]})]}),kS=()=>{const{t:e}=U(),t=e("privacy");return a.jsx(A.main,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.4},className:"min-h-screen pt-28 pb-24 px-6",children:a.jsxs("div",{className:"container mx-auto max-w-3xl",children:[a.jsxs(A.div,{initial:{opacity:0,y:24},animate:{opacity:1,y:0},transition:{duration:.6},className:"mb-12",children:[a.jsxs("span",{className:"hud-text",style:{fontSize:"10px"},children:[a.jsx("span",{className:"hud-gold",children:"SOCLE AI"}),a.jsx("span",{className:"hud-sep mx-1",children:"//"}),t.badge]}),a.jsx("h1",{className:"text-4xl sm:text-5xl font-bold mt-4 mb-2 leading-tight",style:{color:"var(--color-text)"},children:t.title}),a.jsx("p",{className:"font-mono text-sm mb-6",style:{color:"var(--color-accent)"},children:t.subtitle}),a.jsx("div",{className:"mb-8",style:{height:"2px",background:"linear-gradient(90deg, var(--color-accent) 0%, var(--color-gold) 50%, transparent 100%)",opacity:.4}}),a.jsx("p",{className:"text-base leading-relaxed",style:{color:"var(--color-text-muted)"},children:t.intro})]}),a.jsx("div",{className:"space-y-0",children:t.sections.map((n,s)=>a.jsx(IS,{section:n,index:s},n.id))}),a.jsx(A.div,{initial:{opacity:0}
92,animate:{opacity:1},transition:{delay:.9},className:"mt-16 pt-8",style:{borderTop:"1px solid var(--color-border)"},children:a.jsx("a",{href:"#",className:"font-mono text-xs tracking-widest uppercase transition-colors duration-150",style:{color:"var(--color-text-muted)"},onMouseEnter:n=>n.currentTarget.style.color="var(--color-accent)",onMouseLeave:n=>n.currentTarget.style.color="var(--color-text-muted)",children:"â Socle AI"})})]})})},po={hidden:{opacity:0,y:20},visible:e=>({opacity:1,y:0,transition:{duration:.55,delay:e*.08,ease:[.22,1,.36,1]}})},qS=()=>{const{t:e}=U(),t=e("about");return a.jsx(A.main,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.4},className:"min-h-screen pt-28 pb-24 px-6",children:a.jsxs("div",{className:"container mx-auto max-w-4xl",children:[a.jsxs(A.div,{initial:{opacity:0,y:24},animate:{opacity:1,y:0},transition:{duration:.6},className:"mb-16",children:[a.jsxs("span",{className:"hud-text",style:{fontSize:"10px"},children:[a.jsx("span",{className:"hud-gold",children:"SOCLE AI"}),a.jsx("span",{className:"hud-sep mx-1",children:"//"}),t.badge]}),a.jsx("h1",{className:"text-4xl sm:text-5xl font-bold mt-4 mb-2 leading-tight",style:{color:"var(--color-text)"},children:t.title}),a.jsx("p",{className:"font-mono text-sm",style:{color:"var(--color-accent)"},children:t.subtitle}),a.jsx("div",{className:"mt-5",style:{height:"2px",background:"linear-gradient(90deg, var(--color-accent) 0%, var(--color-gold) 50%, transparent 100%)",opacity:.4}})]}),t.team.map((n,s)=>a.jsxs("div",{className:"mb-20",children:[a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-[280px_1fr] gap-10 mb-12",children:[a.jsxs(A.div,{custom:0,variants:po,initial:"hidden",animate:"visible",className:"flex flex-col items-center md:items-start gap-5",children:[a.jsxs("div",{className:"relative bracket-panel",style:{width:"220px",flexShrink:0},children:[a.jsx("img",{src:n.photo,alt:n.name,className:"w-full object-cover",style:{aspectRatio:"1 / 1",objectPosition:"center top",filter:"grayscale(15%)"}}),a.jsx("div",{className:"absolute inset-0 pointer-events-none",style:{background:"linear-gradient(180deg, transparent 70%, var(--color-bg) 100%)"}})]}),a.jsxs("div",{children:[a.jsx("h2",{className:"text-xl font-bold leading-tight mb-1",style:{color:"var(--color-text)"},children:n.name}),a.jsx("p",{className:"font-mono text-xs tracking-widest",style:{color:"var(--color-accent)"},children:n.role})]}),a.jsx("div",{className:"flex flex-wrap gap-1.5",children:n.tags.map(i=>a.jsx("span",{className:"font-mono text-[10px] tracking-wide px-2 py-0.5 border",style:{color:"var(--color-text-muted)",borderColor:"var(--color-border)",background:"var(--color-bg-secondary)"},children:i},i))})]}),a.jsxs("div",{className:"flex flex-col gap-7",children:[n.sections.map((i,r)=>a.jsxs(A.div,{custom:r+1,variants:po,initial:"hidden",animate:"visible",children:[a.jsxs("div",{className:"flex items-start gap-3 mb-2",children:[a.jsx("div",{className:"shrink-0 mt-1.5",style:{width:"3px",height:"16px",background:"var(--color-accent)"}}),a.jsx("h3",{className:"text-base font-bold leading-snug",style:{color:"var(--color-text)"},children:i.title})]}),a.jsx("p",{className:"text-sm leading-relaxed pl-6",style:{color:"var(--color-text-muted)"},children:i.body})]},r)),a.jsxs(A.blockquote,{custom:n.sections.length+1,variants:po,initial:"hidden",animate:"visible",className:"mt-2 p-5 border-l-2",style:{borderLeftColor:"var(--color-gold)",background:"var(--color-bg-secondary)"},children:[a.jsxs("p",{className:"text-base font-semibold italic leading-relaxed",style:{color:"var(--color-text)"},children:['"',n.quote,'"']}),a.jsxs("footer",{className:"mt-2 font-mono text-xs",style:{color:"var(--color-text-muted)"},children:["â ",n.name]})]})]})]}),s<t.team.length-1&&a.jsx("div",{style:{height:"1px",background:"var(--color-border)"}})]},s)),a.jsx(A.div,{initial:{opacity:0}
92,animate:{opacity:1},transition:{delay:.8},className:"pt-8",style:{borderTop:"1px solid var(--color-border)"},children:a.jsx("a",{href:"#",className:"font-mono text-xs tracking-widest uppercase transition-colors duration-150",style:{color:"var(--color-text-muted)"},onMouseEnter:n=>n.currentTarget.style.color="var(--color-accent)",onMouseLeave:n=>n.currentTarget.style.color="var(--color-text-muted)",children:"â Socle AI"})})]})})},ho={hidden:{opacity:0,y:20},visible:e=>({opacity:1,y:0,transition:{duration:.5,delay:e*.08,ease:[.22,1,.36,1]}})},Ya=({data:e})=>e?a.jsx(A.main,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.4},className:"min-h-screen pt-28 pb-24 px-6",children:a.jsxs("div",{className:"container mx-auto max-w-4xl",children:[a.jsxs(A.div,{initial:{opacity:0,y:24},animate:{opacity:1,y:0},transition:{duration:.6},className:"mb-16",children:[a.jsx("p",{className:"font-mono text-xs mb-3 tracking-widest",style:{color:"var(--color-accent)"},children:e.tagline}),a.jsxs("span",{className:"hud-text",style:{fontSize:"10px"},children:[a.jsx("span",{className:"hud-gold",children:"SOCLE AI"}),a.jsx("span",{className:"hud-sep mx-1",children:"//"}),e.badge]}),a.jsx("h1",{className:"text-4xl sm:text-5xl font-bold mt-4 mb-2 leading-tight",style:{color:"var(--color-text)"},children:a.jsx(re,{children:e.title})}),a.jsx("p",{className:"font-mono text-sm",style:{color:"var(--color-accent)"}
92,children:e.subtitle}),a.jsx("div",{className:"mt-5",style:{height:"2px",background:"linear-gradient(90deg, var(--color-accent) 0%, var(--color-gold) 50%, transparent 100%)",opacity:.4}})]}),a.jsx(A.p,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,delay:.1},className:"text-lg leading-relaxed mb-16",style:{color:"var(--color-text-muted)"},children:e.intro}),a.jsx(go,{title:e.challenges.title,delay:.15,children:a.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-4",children:e.challenges.items.map((t,n)=>a.jsxs(A.div,{custom:n,initial:"hidden",whileInView:"visible",viewport:{once:!0},variants:ho,className:"glass rounded-xl p-5",children:[a.jsx("div",{className:"w-1.5 h-1.5 mb-3",style:{background:"var(--color-gold)"}}),a.jsx("h3",{className:"font-bold text-sm mb-2",style:{color:"var(--color-text)"},children:t.title}),a.jsx("p",{className:"text-sm leading-relaxed",style:{color:"var(--color-text-muted)"},children:t.body})]},n))})}),a.jsx(go,{title:e.usecases.title,delay:.1,accent:!0,children:a.jsx("div",{className:"space-y-4",children:e.usecases.items.map((t,n)=>a.jsxs(A.div,{custom:n,initial:"hidden",whileInView:"visible",viewport:{once:!0},variants:ho,className:"glass rounded-xl p-6 flex gap-5 items-start",children:[a.jsxs("span",{className:"font-mono text-xs font-bold shrink-0 pt-0.5",style:{color:"var(--color-accent)"},children:["0",n+1]}),a.jsxs("div",{children:[a.jsx("h3",{className:"font-bold mb-1",style:{color:"var(--color-text)"},children:t.title}),a.jsx("p",{className:"text-sm leading-relaxed",style:{color:"var(--color-text-muted)"},children:t.body})]})]},n))})}),a.jsx(go,{title:e.advantages.title,delay:.1,children:a.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-4",children:e.advantages.items.map((t,n)=>a.jsxs(A.div,{custom:n,initial:"hidden",whileInView:"visible",viewport:{once:!0},variants:ho,className:"glass rounded-xl p-5 bracket-panel",children:[a.jsx("p",{className:"font-mono text-xs font-bold mb-2 tracking-wide",style:{color:"var(--color-accent)"},children:t.label}),a.jsx("p",{className:"text-sm leading-relaxed",style:{color:"var(--color-text-muted)"},children:t.desc})]},n))})}),e.customerStory&&a.jsxs(A.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:"mb-16 glass rounded-xl p-8 relative",children:[a.jsx("span",{className:"absolute top-5 left-6 text-5xl leading-none font-serif opacity-20",style:{color:"var(--color-gold)"},"aria-hidden":"true",children:'"'}),a.jsx("p",{className:"text-base leading-relaxed italic pl-4 mb-4",style:{color:"var(--color-text)"},children:e.customerStory.quote}),a.jsxs("p",{className:"font-mono text-xs pl-4",style:{color:"var(--color-text-muted)"},children:["â ",e.customerStory.role]})]}),a.jsx(A.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5},className:"text-center",children:a.jsxs("a",{href:"#contact",className:"btn-primary inline-block px-8 py-3 text-sm",children:[e.cta," â"]})})]})}):null,go=({title:e,children:t,delay:n=0,accent:s=!1})=>a.jsxs(A.section,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:n},className:"mb-14",children:[a.jsx("h2",{className:"text-xl font-bold mb-6 font-mono tracking-wide",style:{color:s?"var(--color-accent)":"var(--color-text)"},children:e}),t]}),Am="var(--color-text-muted)",wm="var(--color-gold-text)",ES="var(--color-gold)",CS=({color:e,size:t=10,glow:n})=>a.jsx("span",{style:{display:"inline-block",width:t,height:t,borderRadius:"50%",background:e,boxShadow:n?`0 0 10px ${e}`:void 0}}),Sm=({color:e})=>a.jsx("span",{style:{display:"block",width:1,height:26,background:e,opacity:.45}}),jS=({label:e,color:t})=>a.jsx("span",{className:"text-sm",style:{color:t},children:e}),zS=({color:e})=>a.jsxs("svg",{width:"132",height:"74",viewBox:"0 0 132 74",fill:"none","aria-hidden":!0,children:[a.jsxs("g",{stroke:e,strokeWidth:"1",opacity:"0.45",children:[a.jsx("path",{d:"M66 0 V10"}),a.jsx("path",{d:"M66 10 L22 30"}),a.jsx("path",{d:"M66 10 V30"}),a.jsx("path",{d:"M66 10 L110 30"}),a.jsx("path",{d:"M22 44 L66 64"}),a.jsx("path",{d:"M66 44 V64"}),a.jsx("path",{d:"M110 44 L66 64"}),a.jsx("path",{d:"M66 64 V74"})]}),a.jsxs("g",{fill:e,children:[a.jsx("circle",{cx:"22",cy:"37",r:"5"}),a.jsx("circle",{cx:"66",cy:"37",r:"5"}),a.jsx("circle",{cx:"110",cy:"37",r:"5"})]})]}),Im=({caption:e,head:t,chain:n,outcome:s,fan:i,color:r,lineColor:o,highlight:l})=>a.jsxs("div",{className:`glass rounded-xl px-5 py-8 flex-1 flex flex-col items-center text-center ${l?"bracket-panel bracket-panel-gold":""}`,style:{border:l?void 0:"1px solid var(--color-border)"},children:[a.jsx("p",{className:"hud-text mb-6",style:{fontSize:"9px",color:r},children:e}),a.jsx(CS,{color:o,size:i?12:14,glow:l}),a.jsx("span",{className:"font-mono text-xs font-bold tracking-[0.14em] uppercase mt-3",style:{color:"var(--color-text)"},children:t}),i?a.jsx("div",{className:"mt-3 mb-1",children:a.jsx(zS,{color:o})}):a.jsx(Sm,{color:o}),n.map(u=>a.jsxs("div",{className:"flex flex-col items-center",children:[a.jsx(jS,{label:u,color:r}),a.jsx(Sm,{color:o})]},u)),a.jsx("span",{style:{color:o,opacity:.7,lineHeight:1},children:"â¼"}),a.jsx("span",{className:"font-mono text-xs font-bold tracking-[0.14em] uppercase mt-4 px-4 py-2 rounded-md",style:{color:"var(--color-text)",border:`1px solid ${o}`,background:l?"color-mix(in srgb, var(--color-gold) 6%, transparent)":"transparent"},children:s})]}),NS=({duel:e,opponent:t})=>a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[a.jsxs(A.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5},className:"flex flex-col",children:[a.jsx("p",{className:"hud-text mb-2 text-center",style:{fontSize:"9px"},children:t.toUpperCase()}),a.jsx(Im,{caption:e.competitor.caption,head:e.competitor.head,chain:e.competitor.chain,outcome:e.competitor.outcome,color:Am,lineColor:Am})]}),a.jsxs(A.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,delay:.1},className:"flex flex-col",children:[a.jsx("p",{className:"hud-text mb-2 text-center",style:{fontSize:"9px",color:wm},children:"SOCLE AI"}),a.jsx(Im,{caption:e.socle.caption,head:e.socle.head,chain:e.socle.chain,outcome:e.socle.outcome,fan:!0,color:wm,lineColor:ES,highlight:!0})]})]}),a.jsx(A.p,{initial:{opacity:0}
92,whileInView:{opacity:1},viewport:{once:!0},transition:{duration:.6,delay:.2},className:"text-center text-base sm:text-lg font-medium mt-8 max-w-2xl mx-auto",style:{color:"var(--color-text)"},children:e.note})]}),Sf="data-managed-meta";function If(e,t){let n=document.head.querySelector(e);return n||(n=t(),n.setAttribute(Sf,""),document.head.appendChild(n)),n}function ut(e,t,n){if(!n)return;If(`meta[${e}="${t}"]`,()=>{const i=document.createElement("meta");return i.setAttribute(e,t),i}).setAttribute("content",n)}function fo(e,t,n={}){const s=Object.entries(n).map(([r,o])=>`[${r}="${o}"]`).join("");If(`link[rel="${e}"]${s}`,()=>{const r=document.createElement("link");r.setAttribute("rel",e);for(const[o,l]of Object.entries(n))r.setAttribute(o,l);return r}).setAttribute("href",t)}function PS(){document.head.querySelectorAll(`link[rel="alternate"][${Sf}]`).forEach(e=>e.remove())}function Yu({title:e,description:t,path:n,lang:s,image:i,type:r="website"}){if(e&&(document.title=e),s&&document.documentElement.setAttribute("lang",dm[s]||s),t&&(ut("name","description",t),ut("property","og:description",t),ut("name","twitter:description",t)),e&&(ut("property","og:title",e),ut("name","twitter:title",e)),ut("property","og:type",r),n&&s){const o=lo(s,n);fo("canonical",o),ut("property","og:url",o),PS();for(const l of Qi)fo("alternate",lo(l,n),{hreflang:dm[l]});fo("alternate",lo(Ke,n),{hreflang:"x-default"}),ut("property","og:locale",w0[s])}if(i){const o=i.startsWith("http")?i:ff+i;ut("property","og:image",o),ut("name","twitter:image",o)}}const Ja={hidden:{opacity:0,y:20},visible:e=>({opacity:1,y:0,transition:{duration:.5,delay:e*.06,ease:[.22,1,.36,1]}})},Pt="var(--color-text-muted)",Ze="var(--color-gold-text)",qs="var(--color-gold)",TS=({src:e,alt:t})=>{const[n,s]=w.useState(!1);return!e||n?null:a.jsx(A.img,{src:e,alt:t,onError:()=>s(!0),initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.6,delay:.1},className:"w-full rounded-xl mb-10",style:{border:"1px solid var(--color-border)"}})},un=({label:e,title:t,children:n,tone:s="neutral",delay:i=0})=>a.jsxs(A.section,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:i},className:"mb-16",children:[a.jsxs("div",{className:"flex items-baseline gap-3 mb-1",children:[a.jsx("span",{className:"hud-text",style:{fontSize:"9px",color:s==="ours"?Ze:"var(--color-accent)"},children:e}),a.jsx("span",{className:"flex-1",style:{height:"1px",background:"var(--color-border)"}})]}),a.jsx("h2",{className:"text-2xl sm:text-3xl font-bold mb-6",style:{color:s==="ours"?Ze:"var(--color-text)"},children:t}),n]}),MS=({slug:e})=>{const{t,language:n}=U(),s=dS(e,n),i=(s==null?void 0:s.tone)==="complementary",r=(s==null?void 0:s.tone)==="parallel",o=!i&&!r,l=i||r;return w.useEffect(()=>{if(!s)return;Yu({title:`${hi(s)}, ${t("battleCard.metaTitleSuffix")} | Socle AI`,description:s.metaDescription,path:`/battle-cards/${s.slug}`,lang:n,image:s.image});const u=document.createElement("script");return u.type="application/ld+json",u.text=JSON.stringify({"@context":"https://schema.org","@type":"FAQPage",mainEntity:s.objections.map(c=>({"@type":"Question",name:c.objection,acceptedAnswer:{"@type":"Answer",text:c.response}}))}),document.head.appendChild(u),()=>document.head.removeChild(u)},[s]),s?a.jsx(A.main,{initial:{opacity:0}
92,animate:{opacity:1},transition:{duration:.4},className:"min-h-screen pt-28 pb-24 px-6",children:a.jsxs("div",{className:"container mx-auto max-w-4xl",children:[a.jsx("a",{href:`${be(n,"/")}#now`,className:"hud-text inline-block mb-8 transition-colors duration-150",style:{color:"var(--color-text-muted)"},onMouseEnter:u=>u.currentTarget.style.color=Ze,onMouseLeave:u=>u.currentTarget.style.color="var(--color-text-muted)",children:t("battleCard.backToNews")}),a.jsxs(A.div,{initial:{opacity:0,y:24},animate:{opacity:1,y:0},transition:{duration:.6},className:"mb-10",children:[a.jsxs("span",{className:"hud-text",style:{fontSize:"10px"},children:[a.jsx("span",{className:"hud-gold",children:"SOCLE AI"}),a.jsx("span",{className:"hud-sep",children:"//"}),t("battleCard.hudLabel"),a.jsx("span",{className:"hud-sep",children:"//"}),t("battleCard.updatedPrefix")," ",$i(s.updated)]}),a.jsx("h1",{className:"text-4xl sm:text-5xl font-bold mt-4 mb-4 leading-tight",style:{color:"var(--color-text)"},children:a.jsx(re,{children:hi(s)})}),a.jsx("p",{className:"text-lg leading-relaxed max-w-2xl",style:{color:"var(--color-text-muted)"},children:s.positioning.lead})]}),a.jsx(TS,{src:s.image,alt:hi(s)}),a.jsxs(A.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.6,delay:.15},className:"grid grid-cols-1 sm:grid-cols-[1fr_auto_1fr] gap-3 sm:gap-4 items-stretch mb-6",children:[a.jsxs("div",{className:`glass rounded-xl p-6 flex flex-col justify-center ${i?"bracket-panel":""}`,children:[a.jsx("p",{className:"hud-text mb-2",style:{fontSize:"9px",color:i?"var(--color-accent)":void 0},children:s.competitorLabel||t(i?"battleCard.complementaryLabel":"battleCard.alternativeLabel")}),a.jsx("p",{className:"text-xl font-bold mb-1",style:{color:"var(--color-text)"},children:s.opponent}),a.jsx("p",{className:"text-sm",style:{color:Pt},children:s.positioning.competitorRole})]}),a.jsx("div",{className:"flex items-center justify-center py-1 sm:py-0",children:a.jsx("span",{className:"font-mono font-bold text-sm px-3 py-1",style:{color:"var(--color-accent)",border:"1px solid var(--color-border-strong)"},children:i?"+":"VS"})}),a.jsxs("div",{className:"glass bracket-panel bracket-panel-gold rounded-xl p-6 flex flex-col justify-center",children:[a.jsx("p",{className:"hud-text mb-2",style:{fontSize:"9px",color:Ze},children:t("battleCard.ourApproach")}),a.jsx("p",{className:"text-xl font-bold mb-1",style:{color:"var(--color-text)"},children:"Socle AI"}),a.jsx("p",{className:"text-sm",style:{color:Ze},children:s.positioning.socleRole})]})]}),a.jsx(A.div,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,delay:.25},className:s.synergy?"mb-6 pl-5":"mb-16 pl-5",style:{borderLeft:`3px solid ${qs}`},children:a.jsx("p",{className:"text-lg sm:text-xl leading-relaxed font-medium",style:{color:"var(--color-text)"},children:s.positioning.summary})}),s.synergy&&a.jsxs(A.div,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,delay:.3},className:"glass bracket-panel rounded-xl p-6 mb-16",children:[a.jsx("p",{className:"hud-text mb-2",style:{fontSize:"9px",color:"var(--color-accent)"},children:t("battleCard.goodToKnow")}),a.jsx("p",{className:"text-sm leading-relaxed",style:{color:"var(--color-text)"},children:s.synergy})]}),s.duel&&a.jsx(un,{label:s.duel.label,title:s.duel.title,children:a.jsx(NS,{duel:s.duel,opponent:s.opponent})}),s.comparisonTable&&a.jsx(un,{label:t("battleCard.tableLabel"),title:t("battleCard.tableTitle"),children:a.jsx("div",{className:"glass rounded-xl overflow-x-auto",children:a.jsxs("table",{className:"w-full border-collapse",style:{minWidth:"540px"},children:[a.jsx("thead",{children:a.jsxs("tr",{children:[a.jsx("th",{className:"text-left hud-text font-normal px-5 py-3",style:{fontSize:"9px",borderBottom:"1px solid var(--color-border)"},children:t("battleCard.criterion")}),a.jsx("th",{className:"text-left hud-text font-normal px-5 py-3",style:{fontSize:"9px",borderBottom:"1px solid var(--color-border)"},children:s.opponent.toUpperCase()}),a.jsx("th",{className:"text-left hud-text font-normal px-5 py-3",style:{fontSize:"9px",color:Ze,borderBottom:`1px solid ${qs}`},children:"SOCLE AI"})]})}),a.jsx("tbody",{children:s.comparisonTable.map((u,c)=>a.jsxs("tr",{children:[a.jsx("td",{className:"px-5 py-3 text-sm font-medium align-top",style:{color:"var(--color-text)",borderBottom:"1px solid var(--color-border)"},children:u.dimension}),a.jsx("td",{className:"px-5 py-3 text-sm align-top",style:{color:Pt,borderBottom:"1px solid var(--color-border)"},children:u.competitor}),a.jsxs("td",{className:"px-5 py-3 text-sm font-medium align-top",style:{color:"var(--color-text)",borderBottom:"1px solid var(--color-border)"},children:[o&&a.jsx("span",{style:{color:Ze},children:"⸠"}),u.socle]}
92)]},c))})]})})}),s.stackComparison&&a.jsx(un,{label:t("battleCard.stackLabel"),title:t("battleCard.stackTitle"),children:a.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4 items-start",children:[a.jsxs("div",{className:"glass rounded-xl p-6",children:[a.jsx("p",{className:"hud-text mb-4",style:{fontSize:"9px"},children:s.stackComparison.competitor.label}),a.jsx("ul",{className:"space-y-1.5 mb-4",children:s.stackComparison.competitor.items.map((u,c)=>a.jsxs("li",{className:"text-sm",style:{color:Pt},children:[c>0&&a.jsx("span",{style:{opacity:.5},children:"+ "}),u]},c))}),a.jsxs("p",{className:"font-mono text-xs font-bold pt-3",style:{borderTop:"1px solid var(--color-border)",color:Pt},children:["= ",s.stackComparison.competitor.result]})]}),a.jsxs("div",{className:"glass bracket-panel bracket-panel-gold rounded-xl p-6",children:[a.jsx("p",{className:"hud-text mb-4",style:{fontSize:"9px",color:Ze},children:s.stackComparison.socle.label}),a.jsx("ul",{className:"space-y-1.5 mb-4",children:s.stackComparison.socle.items.map((u,c)=>a.jsxs("li",{className:"text-sm font-medium",style:{color:"var(--color-text)"},children:[c>0&&a.jsx("span",{style:{opacity:.5},children:"+ "}),u]},c))}),a.jsxs("p",{className:"font-mono text-xs font-bold pt-3",style:{borderTop:`1px solid ${qs}`,color:Ze},children:["= ",s.stackComparison.socle.result]})]})]})}),a.jsx(un,{label:t(l?"battleCard.scopeLabel":"battleCard.limitsLabel"),title:s.weaknessesTitle||`${t("battleCard.limitsTitlePrefix")} ${s.opponent}`,children:a.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:s.weaknesses.map((u,c)=>a.jsxs(A.div,{custom:c,initial:"hidden",whileInView:"visible",viewport:{once:!0},variants:Ja,className:"glass rounded-xl p-5",style:{borderLeft:`2px solid ${Pt}`},children:[a.jsx("h3",{className:"font-bold text-sm mb-2",style:{color:"var(--color-text)"},children:u.title}),a.jsx("p",{className:"text-sm leading-relaxed",style:{color:Pt},children:u.body})]},c))})}
92),a.jsx(un,{label:t(i?"battleCard.complementarityLabel":"battleCard.strengthsLabel"),title:s.strengthsTitle||t("battleCard.strengthsTitle"),tone:"ours",children:a.jsx("div",{className:"space-y-4",children:s.strengths.map((u,c)=>a.jsxs(A.div,{custom:c,initial:"hidden",whileInView:"visible",viewport:{once:!0},variants:Ja,className:"glass rounded-xl p-6 flex gap-5 items-start",style:{borderLeft:`2px solid ${qs}`},children:[a.jsxs("span",{className:"font-mono text-xs font-bold shrink-0 pt-0.5",style:{color:Ze},children:["0",c+1]}),a.jsxs("div",{children:[a.jsx("h3",{className:"font-bold mb-1",style:{color:"var(--color-text)"},children:u.title}),a.jsx("p",{className:"text-sm leading-relaxed",style:{color:"var(--color-text-muted)"},children:u.body})]})]},c))})}),a.jsx(un,{label:t("battleCard.questionsLabel"),title:t("battleCard.questionsTitle"),children:a.jsx("div",{className:"glass rounded-xl",children:s.killerQuestions.map((u,c)=>a.jsxs(A.div,{custom:c,initial:"hidden",whileInView:"visible",viewport:{once:!0},variants:Ja,className:"p-5 flex gap-4 items-start",style:{borderTop:c>0?"1px solid var(--color-border)":void 0},children:[a.jsxs("span",{className:"font-mono text-xs font-bold shrink-0 pt-0.5",style:{color:"var(--color-accent)"},children:["Q",c+1]}),a.jsx("p",{className:"text-sm leading-relaxed italic",style:{color:"var(--color-text)"},children:u})]},c))})}),a.jsx(un,{label:t("battleCard.faqLabel"),title:t("battleCard.faqTitle"),children:a.jsx("div",{className:"space-y-5",children:s.objections.map((u,c)=>a.jsxs(A.div,{custom:c,initial:"hidden",whileInView:"visible",viewport:{once:!0},variants:Ja,className:"glass rounded-xl overflow-hidden",children:[a.jsxs("div",{className:"p-5",style:{borderLeft:`3px solid ${Pt}`},children:[a.jsx("p",{className:"hud-text mb-1.5",style:{fontSize:"9px"},children:t("battleCard.objection")}),a.jsxs("p",{className:"text-sm italic",style:{color:Pt},children:["« ",u.objection," »"]})]}),a.jsxs("div",{className:"p-5",style:{borderLeft:`3px solid ${qs}`,borderTop:"1px solid var(--color-border)"},children:[a.jsx("p",{className:"hud-text mb-1.5",style:{fontSize:"9px",color:Ze},children:t("battleCard.ourAnswer")}),a.jsx("p",{className:"text-sm leading-relaxed",style:{color:"var(--color-text)"},children:u.response})]})]},c))})}),a.jsxs(A.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5},className:"glass bracket-panel rounded-xl p-8 text-center",children:[a.jsx("p",{className:"text-xl font-bold mb-2",style:{color:"var(--color-text)"},children:t("battleCard.ctaTitle")}),a.jsx("p",{className:"text-sm mb-6 max-w-lg mx-auto",style:{color:"var(--color-text-muted)"},children:t("battleCard.ctaBody")}),a.jsxs("div",{className:"flex flex-wrap gap-4 justify-center",children:[a.jsx("a",{href:"https://app.socle.ai",target:"_blank",rel:"noopener noreferrer",className:"btn-primary inline-block px-8 py-3 text-sm",children:t("battleCard.ctaTry")}),a.jsx("a",{href:`${be(n,"/")}#contact`,className:"btn-outline inline-block px-8 py-3 text-sm",children:t("battleCard.ctaExpert")})]})]})]})}):a.jsx("main",{className:"min-h-screen flex items-center justify-center pt-28 pb-24 px-6 text-center",children:a.jsxs("div",{children:[a.jsx("p",{className:"hud-text mb-4",children:t("battleCard.notFound")}),a.jsx("a",{href:`${be(n,"/")}#now`,className:"btn-outline inline-block px-6 py-2.5 text-sm",children:t("battleCard.notFoundCta")})]})})},LS=({src:e,alt:t,caption:n,pixelated:s,onClose:i})=>{const r=w.useRef(null),{t:o}=U();return w.useEffect(()=>{var c;const l=d=>{d.key==="Escape"&&i()};document.addEventListener("keydown",l);const{overflow:u}=document.body.style;return document.body.style.overflow="hidden",(c=r.current)==null||c.focus(),()=>{document.removeEventListener("keydown",l),document.body.style.overflow=u}},[i]),Kh.createPortal(a.jsxs(A.div,{ref:r,role:"dialog","aria-modal":"true","aria-label":n||t,tabIndex:-1,onClick:i,initial:{opacity:0}
92,animate:{opacity:1},exit:{opacity:0},transition:{duration:.18},className:"fixed inset-0 flex flex-col items-center justify-center p-4 sm:p-8 outline-none",style:{zIndex:100,background:"rgba(3, 7, 18, 0.94)",backdropFilter:"blur(6px)",cursor:"zoom-out"},children:[a.jsx(A.img,{src:e,alt:t,initial:{scale:.97},animate:{scale:1},exit:{scale:.97},transition:{duration:.18},className:"rounded-lg",style:{maxWidth:"100%",maxHeight:n?"86vh":"92vh",objectFit:"contain",...s?{imageRendering:"pixelated"}:{}}}),n&&a.jsx("span",{className:"hud-text mt-4 text-center",style:{fontSize:"9px",maxWidth:"60rem"},children:n}),a.jsx("span",{className:"mt-2 font-mono",style:{fontSize:"10px",color:"var(--color-text-muted)"},children:o("article.lightboxClose")})]}),document.body)},Es={name:"Benjamin De Almeida",linkedin:"https://www.linkedin.com/in/benjamin-de-almeida-3a43078a/",photo:"/images/benjamin-ai-pulse.jpg"},DS=()=>{const{t:e}=U();return a.jsxs("figure",{className:"glass bracket-panel rounded-xl p-6 mt-12 flex flex-col items-center text-center",children:[a.jsx("figcaption",{className:"hud-text",style:{fontSize:"10px"},children:e("article.writtenBy")}),a.jsx("a",{href:Es.linkedin,target:"_blank",rel:"noopener noreferrer",className:"mt-2 text-lg font-bold transition-colors hover:opacity-80",style:{color:"var(--color-text)"},children:Es.name}),a.jsx("a",{href:Es.linkedin,target:"_blank",rel:"noopener noreferrer",className:"hud-text mt-1 transition-opacity hover:opacity-80",style:{fontSize:"10px",color:"var(--color-accent)"},children:"LinkedIn â"}),a.jsx("img",{src:Es.photo,alt:Es.name,loading:"lazy",width:"96",height:"96",className:"mt-5 rounded-full object-cover",style:{width:"96px",height:"96px",border:"2px solid var(--color-border-strong)"}})]})},ql="#34D399",El="#18C8EC",Cl="#FB7185",km="#A78BFA",OS="#FBBF24",qm={fr:{familyTitle:"LES FAMILLES DE MODÃLES D'IA",machineLearning:"MACHINE LEARNING",evolutionary:"Calcul évolutionnaire",deepLearning:"DEEP LEARNING",llmHere:"â votre ChatGPT est ici",symbolic:"IA SYMBOLIQUE",symbolicBody:"Systèmes experts, moteurs de règles, résolution de graphes (A*)⦠Déterministe et entièrement explicable.",familyCaption:"UN LLM N'EST QU'UNE BRANCHE PARMI D'AUTRES",mlTitle:"Machine Learning",mlTypes:[{title:"Supervisé",sub:"apprendre avec un professeur"},{title:"Non supervisé",sub:"trouver les structures par soi-même"},{title:"Par renforcement",sub:"apprendre par essai-erreur"}],mlCaption:"TROIS FAÃONS D'APPRENDRE à PARTIR DE DONNÃES",encDecTitle:"L'ARCHITECTURE D'ORIGINE (2017)",sourceSentence:"Phrase source",encoder:"ENCODEUR",understanding:"compréhension",meaning:"Sens de la phrase",decoder:"DÃCODEUR",generation:"génération",translation:"Traduction",encDecCaption:"AUJOURD'HUI, LES LLM NE GARDENT QUE LE DÃCODEUR"},en:{familyTitle:"THE FAMILIES OF AI MODELS",machineLearning:"MACHINE LEARNING",evolutionary:"Evolutionary computation",deepLearning:"DEEP LEARNING",llmHere:"â your ChatGPT is here",symbolic:"SYMBOLIC AI",symbolicBody:"Expert systems, rule engines, graph solving (A*)⦠Deterministic and fully explainable.",familyCaption:"AN LLM IS JUST ONE BRANCH AMONG OTHERS",mlTitle:"Machine Learning",mlTypes:[{title:"Supervised",sub:"learning with a teacher"},{title:"Unsupervised",sub:"finding the structures on its own"},{title:"Reinforcement",sub:"learning by trial and error"}],mlCaption:"THREE WAYS OF LEARNING FROM DATA",encDecTitle:"THE ORIGINAL ARCHITECTURE (2017)",sourceSentence:"Source sentence",encoder:"ENCODER",understanding:"understanding",meaning:"Meaning of the sentence",decoder:"DECODER",generation:"generation",translation:"Translation",encDecCaption:"TODAY, LLMS KEEP ONLY THE DECODER"},pt:{familyTitle:"AS FAMÃLIAS DE MODELOS DE IA",machineLearning:"MACHINE LEARNING",evolutionary:"Computação evolutiva",deepLearning:"DEEP LEARNING",llmHere:"â o seu ChatGPT está aqui",symbolic:"IA SIMBÃLICA",symbolicBody:"Sistemas especialistas, motores de regras, resolução de grafos (A*)⦠DeterminÃstica e totalmente explicável.",familyCaption:"UM LLM à APENAS UM RAMO ENTRE OUTROS",mlTitle:"Machine Learning",mlTypes:[{title:"Supervisionado",sub:"aprender com um professor"},{title:"Não supervisionado",sub:"encontrar as estruturas sozinho"},{title:"Por reforço",sub:"aprender por tentativa e erro"}],mlCaption:"TRÃS MANEIRAS DE APRENDER A PARTIR DE DADOS",encDecTitle:"A ARQUITETURA ORIGINAL (2017)",sourceSentence:"Frase de origem",encoder:"ENCODER",understanding:"compreensão",meaning:"Sentido da frase",decoder:"DECODER",generation:"geração",translation:"Tradução",encDecCaption:"HOJE, OS LLMS FICAM Sà COM O DECODER"}},Ju=()=>{const{language:e}=U();return qm[e]||qm.fr},RS=()=>{const e=Ju();return a.jsxs("figure",{className:"my-10",children:[a.jsxs("div",{className:"glass rounded-xl p-5 sm:p-6",children:[a.jsx("p",{className:"hud-text mb-5",style:{fontSize:"9px"},children:e.familyTitle}),a.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[a.jsxs("div",{className:"rounded-xl p-4",style:{border:`1.5px solid ${ql}`},children:[a.jsx("p",{className:"font-mono mb-3",style:{fontSize:"10px",color:ql},children:e.machineLearning}),a.jsxs("div",{className:"flex flex-col gap-3",children:[a.jsx("div",{className:"rounded-lg px-3 py-2 text-xs",style:{border:`1.5px solid ${OS}`,color:"var(--color-text-muted)"},children:e.evolutionary}),a.jsxs("div",{className:"rounded-lg p-3",style:{border:`1.5px solid ${El}`},children:[a.jsx("p",{className:"font-mono mb-2.5",style:{fontSize:"10px",color:El},children:e.deepLearning}),a.jsxs("div",{className:"rounded-lg px-3 py-2",style:{border:`1.5px solid ${Cl}`},children:[a.jsx("p",{className:"text-sm font-bold",style:{color:"var(--color-text)"},children:"LLM"}),a.jsx("p",{className:"font-mono mt-0.5",style:{fontSize:"10px",color:Cl},children:e.llmHere})]})]})]})]}),a.jsxs("div",{className:"rounded-xl p-4 flex flex-col",style:{border:`1.5px solid ${km}`},children:[a.jsx("p",{className:"font-mono mb-3",style:{fontSize:"10px",color:km},children:e.symbolic}),a.jsx("p",{className:"text-xs leading-relaxed",style:{color:"var(--color-text-muted)"},children:e.symbolicBody})]})]})]}),a.jsx("figcaption",{className:"hud-text mt-3",style:{fontSize:"9px"},children:e.familyCaption})]})},US=()=>{const e=Ju();return a.jsxs("figure",{className:"my-10",children:[a.jsxs("div",{className:"glass rounded-xl p-5 sm:p-6",children:[a.jsx("div",{className:"rounded-lg px-4 py-2.5 text-center mb-1",style:{border:`1.5px solid ${ql}`},children:a.jsx("span",{className:"font-mono text-sm font-bold",style:{color:"var(--color-text)"},children:e.mlTitle})}),a.jsx("div",{className:"flex justify-center","aria-hidden":"true",children:a.jsx("span",{style:{width:"1px",height:"18px",background:"var(--color-border-strong)"}})}),a.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-3",children:e.mlTypes.map(t=>a.jsxs("div",{className:"rounded-lg px-4 py-3 text-center",style:{border:"1px solid var(--color-border-strong)"},children:[a.jsx("p",{className:"text-sm font-bold mb-1",style:{color:"var(--color-text)"},children:t.title}),a.jsx("p",{className:"text-xs leading-snug",style:{color:"var(--color-text-muted)"},children:t.sub})]},t.title))})]}),a.jsx("figcaption",{className:"hud-text mt-3",style:{fontSize:"9px"},children:e.mlCaption})]})},GS=()=>{const e=Ju(),t=[{label:e.sourceSentence,hue:"var(--color-border-strong)"},{label:e.encoder,hue:El,note:e.understanding},{label:e.meaning,hue:"var(--color-border-strong)"},{label:e.decoder,hue:Cl,note:e.generation},{label:e.translation,hue:"var(--color-border-strong)"}];return a.jsxs("figure",{className:"my-10",children:[a.jsxs("div",{className:"glass rounded-xl p-5 sm:p-6 overflow-x-auto",children:[a.jsx("p",{className:"hud-text mb-5",style:{fontSize:"9px"},children:e.encDecTitle}),a.jsx("div",{className:"flex items-center gap-2 flex-wrap",style:{minWidth:"520px"},children:t.map((n,s,i)=>a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsxs("div",{className:"rounded-lg px-3 py-2 text-center",style:{border:`1.5px solid ${n.hue}`},children:[a.jsx("p",{className:"text-xs font-medium whitespace-nowrap",style:{color:"var(--color-text)"},children:n.label}),n.note&&a.jsx("p",{className:"font-mono",style:{fontSize:"9px",color:n.hue},children:n.note})]}),s<i.length-1&&a.jsx("span",{style:{color:"var(--color-text-muted)"},"aria-hidden":"true",children:"â"})]},n.label))})]}),a.jsx("figcaption",{className:"hud-text mt-3",style:{fontSize:"9px"},children:e.encDecCaption})]})},vo=[{key:"nuclear",hue:"#8B5CF6"},{key:"hydro",hue:"#0891B2"},{key:"windSolar",hue:"#D97706"},{key:"biomass",hue:"#059669"},{key:"gas",hue:"#94A3B8"},{key:"other",hue:"#475569"}],FS=[{key:"se",lowCarbon:99,nuclear:25.6,hydro:41.8,windSolar:25.4,biomass:5.8,gas:.1,other:1.3},{key:"fr",lowCarbon:95,nuclear:67.4,hydro:11.3,windSolar:15.6,biomass:1,gas:3.5,other:1.2},{key:"uk",lowCarbon:62,nuclear:11,hydro:1.8,windSolar:37.6,biomass:11.6,gas:26.4,other:11.6},{key:"de",lowCarbon:58,nuclear:0,hydro:4.3,windSolar:49.2,biomass:4.4,gas:15.8,other:26.3},{key:"us",lowCarbon:43,nuclear:17,hydro:6.2,windSolar:16.9,biomass:1,gas:39.1,other:19.8}],Em={fr:{title:"D'Oà VIENT L'ÃLECTRICITÃ, PAR PAYS",sources:{nuclear:"Nucléaire",hydro:"Hydraulique",windSolar:"Ãolien & solaire",biomass:"Biomasse",gas:"Gaz",other:"Charbon, fioul & imports"},countries:{se:"Suède",fr:"France",uk:"Royaume-Uni",de:"Allemagne",us:"Ãtats-Unis"},lowCarbon:"bas carbone",caption:"PART BAS CARBONE : 95 % EN FRANCE, 43 % AUX ÃTATS-UNIS",note:"Production d'électricité de juin 2025 à mai 2026 (mai 2025 à avril 2026 pour les Ãtats-Unis). Le dernier segment regroupe le charbon, le fioul, les imports nets et les sources non précisées.",source:"Source : Low Carbon Power"},en:{title:"WHERE ELECTRICITY COMES FROM, BY COUNTRY",sources:{nuclear:"Nuclear",hydro:"Hydro",windSolar:"Wind & solar",biomass:"Biomass",gas:"Gas",other:"Coal, oil & imports"},countries:{se:"Sweden",fr:"France",uk:"United Kingdom",de:"Germany",us:"United States"},lowCarbon:"low carbon",caption:"LOW-CARBON SHARE: 95% IN FRANCE, 43% IN THE UNITED STATES",note:"Electricity generation from June 2025 to May 2026 (May 2025 to April 2026 for the United States). The last segment groups coal, oil, net imports and unspecified sources.",source:"Source: Low Carbon Power"},pt:{title:"DE ONDE VEM A ELETRICIDADE, POR PAÃS",sources:{nuclear:"Nuclear",hydro:"Hidráulica",windSolar:"Eólica e solar",biomass:"Biomassa",gas:"Gás",other:"Carvão, fuelóleo e importações"},countries:{se:"Suécia",fr:"França",uk:"Reino Unido",de:"Alemanha",us:"Estados Unidos"},lowCarbon:"baixo carbono",caption:"QUOTA DE BAIXO CARBONO: 95 % EM FRANÃA, 43 % NOS ESTADOS UNIDOS",note:"Produção de eletricidade de junho de 2025 a maio de 2026 (maio de 2025 a abril de 2026 nos Estados Unidos). O último segmento agrupa carvão, fuelóleo, importações lÃquidas e fontes não especificadas.",source:"Fonte: Low Carbon Power"},de:{title:"WOHER DER STROM KOMMT, NACH LAND",sources:{nuclear:"Kernkraft",hydro:"Wasserkraft",windSolar:"Wind & Solar",biomass:"Biomasse",gas:"Gas",other:"Kohle, Ãl & Importe"},countries:{se:"Schweden",fr:"Frankreich",uk:"Vereinigtes Königreich",de:"Deutschland",us:"USA"},lowCarbon:"CO2-arm",caption:"CO2-ARMER ANTEIL: 95 % IN FRANKREICH, 43 % IN DEN USA",note:"Stromerzeugung von Juni 2025 bis Mai 2026 (Mai 2025 bis April 2026 für die USA). Das letzte Segment fasst Kohle, Ãl, Nettoimporte und nicht spezifizierte Quellen zusammen.",source:"Quelle: L
92ow Carbon Power"}},VS="https://lowcarbonpower.org/fr/region/France",BS=80,Cm=e=>`${e.toFixed(1).replace(/\.0$/,"").replace(".",",")} %`,HS=()=>{const{language:e}=U(),t=Em[e]||Em.fr;return a.jsxs("figure",{className:"my-10",children:[a.jsxs("div",{className:"glass rounded-xl p-5 sm:p-6",children:[a.jsx("p",{className:"hud-text mb-5",style:{fontSize:"9px"},children:t.title}),a.jsx("ul",{className:"flex flex-wrap gap-x-4 gap-y-2 mb-6 list-none p-0",children:vo.map(n=>a.jsxs("li",{className:"flex items-center gap-2",children:[a.jsx("span",{"aria-hidden":"true",className:"shrink-0 rounded-sm",style:{width:10,height:10,background:n.hue}}),a.jsx("span",{style:{fontSize:"11px",color:"var(--color-text-muted)"},children:t.sources[n.key]})]},n.key))}),a.jsx("div",{className:"flex flex-col gap-4",children:FS.map(n=>a.jsxs("div",{className:"flex flex-col gap-1.5",children:[a.jsxs("div",{className:"flex items-baseline justify-between gap-3",children:[a.jsx("span",{className:"text-sm font-medium",style:{color:"var(--color-text)"},children:t.countries[n.key]}),a.jsxs("span",{className:"font-mono shrink-0",style:{fontSize:"11px"},children:[a.jsxs("span",{style:{color:n.lowCarbon<BS?"var(--color-alert-text)":"var(--color-text)",fontWeight:700},children:[n.lowCarbon," %"]}),a.jsxs("span",{style:{color:"var(--color-text-muted)"},children:[" ",t.lowCarbon]})]})]}),a.jsx("div",{className:"flex overflow-hidden",style:{gap:"2px",height:"18px"},role:"img","aria-label":`${t.countries[n.key]} : ${vo.filter(s=>n[s.key]>0).map(s=>`${t.sources[s.key]} ${Cm(n[s.key])}`).join(", ")}`,children:vo.filter(s=>n[s.key]>0).map((s,i,r)=>a.jsx("span",{title:`${t.sources[s.key]} · ${Cm(n[s.key])}`,style:{flexGrow:n[s.key],flexBasis:0,background:s.hue,borderTopLeftRadius:i===0?4:0,borderBottomLeftRadius:i===0?4:0,borderTopRightRadius:i===r.length-1?4:0,borderBottomRightRadius:i===r.length-1?4:0}},s.key))})]},n.key))}),a.jsxs("p",{className:"mt-6 leading-relaxed",style:{fontSize:"10px",color:"var(--color-text-muted)"},children:[t.note," ",a.jsx("a",{href:VS,target:"_blank",rel:"noopener noreferrer",className:"underline decoration-dotted underline-offset-2",style:{color:"var(--color-accent)"},children:t.source})]})]}),a.jsx("figcaption",{className:"hud-text mt-3",style:{fontSize:"9px"},children:t.caption})]})},St="#18C8EC",wn="#FBBF24",jm={fr:{vsTitle:"MODÃLE SEUL VS MODÃLE + HARNESS",alone:"MODÃLE SEUL",withHarness:"AVEC HARNESS",user:"Utilisateur",app:"Application",model:"Modèle",answer:"Réponse",harnessParts:["Contexte","Mémoire","RAG / Documents","Outils","Règles","Orchestration"],vsCaption:"MÃME MODÃLE, DEUX PRODUITS TOTALEMENT DIFFÃRENTS",ctxTitle:"LE HARNESS CHOISIT LE BON CONTEXTE",sources:"TOUTES LES SOURCES",sourceItems:["CRM","PDF","E-mails","Historique","Web","Base interne","Règles métier"],selection:"Sélection du contexte",useful:"CONTEXTE UTILE",usefulItems:["Extraits pertinents","Historique utile","Instructions"],ctxCaption:"ON NE DONNE PAS TOUT AU MODÃLE, ON LUI DONNE CE DONT IL A BESOIN",loopTitle:"LA BOUCLE AGENTIQUE",loopSteps:["Observer","Décider","Agir","Observer le résultat"],loopTools:"Outils",loopBack:"Et on recommence â le Harness maintient la boucle, conserve lâétat, compte les itérations et décide quand sâarrêter.",loopCaption:"UTILISATEUR â MODÃLE â OUTIL â MODÃLE â OUTIL â ⦠â RÃPONSE",multiTitle:"UN ÃCOSYSTÃME MULTI-AGENT",routing:"Harness / Routing",agents:[{name:"Agent texte",engine:"LLM"},{name:"Agent audio",engine:"ASR"},{name:"Agent vision",engine:"VLM"}],a2a:"A2A",shared:["RAG","MCP","Outils"],finalAnswer:"Réponse finale",multiCaption:"LE HARNESS DEVIENT CHEF DâORCHESTRE"},en:{vsTitle:"MODEL ALONE VS MODEL + HARNESS",alone:"MODEL ALONE",withHarness:"WITH A HARNESS",user:"User",app:"Application",model:"Model",answer:"Answer",harnessParts:["Context","Memory","RAG / Documents","Tools","Rules","Orchestration"],vsCaption:"SAME MODEL, TWO COMPLETELY DIFFERENT PRODUCTS",ctxTitle:"THE HARNESS PICKS THE RIGHT CONTEXT",sources:"EVERY SOURCE",sourceItems:["CRM","PDF","Emails","History","Web","Internal database","Business rules"],selection:"Context selection",useful:"USEFUL CONTEXT",usefulItems:["Relevant excerpts","Useful history","Instru
92ctions"],ctxCaption:"YOU DO NOT GIVE THE MODEL EVERYTHING, YOU GIVE IT WHAT IT NEEDS",loopTitle:"THE AGENTIC LOOP",loopSteps:["Observe","Decide","Act","Observe the result"],loopTools:"Tools",loopBack:"And round it goes â the harness keeps the loop alive, holds the state, counts the iterations and decides when to stop.",loopCaption:"USER â MODEL â TOOL â MODEL â TOOL â ⦠â ANSWER",multiTitle:"A MULTI-AGENT ECOSYSTEM",routing:"Harness / routing",agents:[{name:"Text agent",engine:"LLM"},{name:"Audio agent",engine:"ASR"},{name:"Vision agent",engine:"VLM"}],a2a:"A2A",shared:["RAG","MCP","Tools"],finalAnswer:"Final answer",multiCaption:"THE HARNESS BECOMES THE CONDUCTOR"},pt:{vsTitle:"MODELO SOZINHO VS MODELO + HARNESS",alone:"MODELO SOZINHO",withHarness:"COM HARNESS",user:"Usuário",app:"Aplicação",model:"Modelo",answer:"Resposta",harnessParts:["Contexto","Memória","RAG / Documentos","Ferramentas","Regras","Orquestração"],vsCaption:"MESMO MODELO, DOIS PRODUTOS COMPLETAMENTE DIFERENTES",ctxTitle:"O HARNESS ESCOLHE O CONTEXTO CERTO",sources:"TODAS AS FONTES",sourceItems:["CRM","PDF","E-mails","Histórico","Web","Base interna","Regras de negócio"],selection:"Seleção do contexto",useful:"CONTEXTO ÃTIL",usefulItems:["Trechos relevantes","Histórico útil","Instruções"],ctxCaption:"NÃO SE Dà TUDO AO MODELO, DÃ-SE O QUE ELE PRECISA",loopTitle:"O CICLO AGÃNTICO",loopSteps:["Observar","Decidir","Agir","Observar o resultado"],loopTools:"Ferramentas",loopBack:"E recomeça â o harness mantém o ciclo, guarda o estado, conta as iterações e decide quando parar.",loopCaption:"USUÃRIO â MODELO â FERRAMENTA â MODELO â FERRAMENTA â ⦠â RESPOSTA",multiTitle:"UM ECOSSISTEMA MULTI-AGENTE",routing:"Harness / roteamento",agents:[{name:"Agente de texto",engine:"LLM"},{name:"Agente de áudio",engine:"ASR"},{name:"Agente de visão",engine:"VLM"}],a2a:"A2A",shared:["RAG","MCP","Ferramentas"],finalAnswer:"Resposta final",multiCaption:"O HARNESS VIRA O MAESTRO"},de:{vsTitle:"MODELL ALLEIN VS MODELL + HARNESS",alone:"MODELL ALLEIN",withHarness:"MIT HARNESS",user:"Nutzer",app:"Anwendung",model:"Modell",answer:"Antwort",harnessParts:["Kontext","Memory","RAG / Dokumente","Tools","Regeln","Orchestrierung"],vsCaption:"GLEICHES MODELL, ZWEI VÃLLIG UNTERSCHIEDLICHE PRODUKTE",ctxTitle:"DER HARNESS WÃHLT DEN RICHTIGEN KONTEXT",sources:"ALLE QUELLEN",sourceItems:["CRM","PDF","E-Mails","Verlauf","Web","Interne Datenbank","Fachregeln"],selection:"Kontextauswahl",useful:"NÃTZLICHER KONTEXT",usefulItems:["Relevante Auszüge","Nützlicher Verlauf","Anweisungen"],ctxCaption:"MAN GIBT DEM MODELL NICHT ALLES, SONDERN DAS, WAS ES BRAUCHT",loopTitle:"DIE AGENTISCHE SCHLEIFE",loopSteps:["Beobachten","Entscheiden","Handeln","Ergebnis beobachten"],loopTools:"Tools",loopBack:"Und wieder von vorn â der Harness hält die Schleife am Leben, bewahrt den Zustand, zählt die Iterationen und entscheidet, wann Schluss ist.",loopCaption:"NUTZER â MODELL â TOOL â MODELL â TOOL â ⦠â ANTWORT",multiTitle:"EIN MULTI-AGENTEN-ÃKOSYSTEM",routing:"Harness / Routing",agents:[{name:"Text-Agent",engine:"LLM"},{name:"Audio-Agent",engine:"ASR"},{name:"Vision-Agent",engine:"VLM"}],a2a:"A2A",shared:["RAG","MCP","Tools"],finalAnswer:"Endgültige Antwort",multiCaption:"DER HARNESS WIRD ZUM DIRIGENTEN"}},Ar=()=>{const{language:e}=U();return jm[e]||jm.fr},tt=({children:e,hue:t="var(--color-border-strong)",bold:n})=>a.jsx("div",{className:"rounded-lg px-3 py-2 text-center",style:{border:`1.5px solid ${t}`},children:a.jsx("span",{className:`text-xs ${n?"font-bold":"font-medium"}`,style:{color:"var(--color-text)"},children:e})}),st=()=>a.jsx("div",{className:"flex justify-center","aria-hidden":"true",children:a.jsx("span",{style:{width:"1px",height:"16px",background:"var(--color-border-strong)"}})}),WS=()=>{const e=Ar();return a.jsxs("figure",{className:"my-10",children:[a.jsxs("div",{className:"glass rounded-xl p-5 sm:p-6",children:[a.jsx("p",{className:"hud-text mb-5",style:{fontSize:"9px"},children:e.vsTitle}),a.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-5",children:[a.jsxs("div",{children:[a.jsx("p",{className:"font-mono mb-3",style:{fontSize:"10px",color:"var(--color-text-muted)"},children:e.alone}),a.jsx(tt,{children:e.user}),a.jsx(st,{}),a.jsx(tt,{children:e.model}),a.jsx(st,{}),a.jsx(tt,{children:e.answer})]}),a.jsxs("div",{children:[a.jsx("p",{className:"font-mono mb-3",style:{fontSize:"10px",color:St},children:e.withHarness}),a.jsx(tt,{children:e.user}),a.jsx(st,{}),a.jsx(tt,{children:e.app}),a.jsx(st,{}),a.jsxs("div",{className:"rounded-xl p-3",style:{border:`1.5px solid ${St}`},children:[a.jsx("p",{className:"font-mono mb-2.5 text-center",style:{fontSize:"10px",color:St},children:"HARNESS"}),a.jsx("div",{className:"grid grid-cols-2 gap-1.5",children:e.harnessParts.map(t=>a.jsx("span",{className:"rounded px-2 py-1 text-center",style:{fontSize:"10px",border:"1px solid var(--color-border)",color:"var(--color-text-muted)"},children:t},t))})]}),a.jsx(st,{}),a.jsx(tt,{children:e.model}),a.jsx(st,{}),a.jsx(tt,{children:e.answer})]})]})]}),a.jsx("figcaption",{className:"hud-text mt-3",style:{fontSize:"9px"},children:e.vsCaption})]})},KS=()=>{const e=Ar();return a.jsxs("figure",{className:"my-10",children:[a.jsxs("div",{className:"glass rounded-xl p-5 sm:p-6",children:[a.jsx("p",{className:"hud-text mb-5",style:{fontSize:"9px"},children:e.ctxTitle}),a.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-[1fr_auto_1fr] gap-4 items-center",children:[a.jsxs("div",{children:[a.jsx("p",{className:"font-mono mb-2.5",style:{fontSize:"10px",color:"var(--color-text-muted)"},children:e.sources}),a.jsx("div",{className:"flex flex-wrap gap-1.5",children:e.sourceItems.map(t=>a.jsx("span",{className:"rounded px-2 py-1",style:{fontSize:"10px",border:"1px solid var(--color-border)",color:"var(--color-text-muted)"},children:t},t))})]}),a.jsxs("div",{className:"rounded-lg px-4 py-3 text-center",style:{border:`1.5px solid ${St}`},children:[a.jsx("p",{className:"font-mono",style:{fontSize:"10px",color:St},children:"HARNESS"}),a.jsx("p",{className:"text-xs mt-1",style:{color:"var(--color-text)"},children:e.selection})]}),a.jsxs("div",{children:[a.jsx("p",{className:"font-mono mb-2.5",style:{fontSize:"10px",color:wn},children:e.useful}),a.jsx("div",{className:"flex flex-col gap-1.5",children:e.usefulItems.map(t=>a.jsx("span",{className:"rounded px-2 py-1",style:{fontSize:"10px",border:`1px solid ${wn}`,color:"var(--color-text)"},children:t},t))})]})]}),a.jsx(st,{}),a.jsxs("div",{className:"flex justify-center gap-2",children:[a.jsx(tt,{children:e.model}),a.jsx("span",{style:{color:"var(--color-text-muted)"},"aria-hidden":"true",children:"â"}),a.jsx(tt,{children:e.answer})]})]}),a.jsx("figcaption",{className:"hud-text mt-3",style:{fontSize:"9px"},children:e.ctxCaption})]})},_S=()=>{const e=Ar();return a.jsxs("figure",{className:"my-10",children:[a.jsxs("div",{className:"glass rounded-xl p-5 sm:p-6",children:[a.jsx("p",{className:"hud-text mb-5",style:{fontSize:"9px"},children:e.loopTitle}),a.jsx("div",{className:"overflow-x-auto",children:a.jsx("div",{className:"flex items-center gap-2 flex-wrap",style:{minWidth:"480px"},children:e.loopSteps.map((t,n,s)=>a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsxs("div",{className:"rounded-lg px-3 py-2",style:{border:`1.5px solid ${n===2?wn:St}`},children:[a.jsx("span",{className:"text-xs font-medium whitespace-nowrap",style:{color:"var(--color-text)"},children:t}),n===2&&a.jsxs("span",{className:"font-mono block",style:{fontSize:"9px",color:wn},children:["â ",e.loopTools]})]}),n<s.length-1&&a.jsx("span",{style:{color:"var(--color-text-muted)"},"aria-hidden":"true",children:"â"})]},t))})}),a.jsxs("div",{className:"mt-4 rounded-lg px-3 py-2.5 flex gap-3 items-start",style:{border:"1px dashed var(--color-border-strong)"},children:[a.jsx("span",{className:"font-mono shrink-0",style:{fontSize:"13px",color:St},"aria-hidden":"true",children:"â»"}),a.jsx("span",{className:"text-xs leading-relaxed",style:{color:"var(--color-text-muted)"},children:e.loopBack})]})]}),a.jsx("figcaption",{className:"hud-text mt-3",style:{fontSize:"9px"},children:e.loopCaption})]})},QS=()=>{const e=Ar();return a.jsxs("figure",{className:"my-10",children:[a.jsxs("div",{className:"glass rounded-xl p-5 sm:p-6",children:[a.jsx("p",{className:"hud-text mb-5",style:{fontSize:"9px"},children:e.multiTitle}),a.jsx(tt,{children:e.user}),a.jsx(st,{}),a.jsx("div",{className:"rounded-lg px-3 py-2 text-center",style:{border:`1.5px solid ${St}`},children:a.jsx("span",{className:"text-xs font-bold",style:{color:St},children:e.routing})}),a.jsx(st,{}),a.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-3",children:e.agents.map((t,n)=>a.jsxs("div",{className:"relative",children:[a.jsxs("div",{className:"rounded-lg px-3 py-2.5 text-center h-full",style:{border:"1.5px solid var(--color-border-strong)"},children:[a.jsx("p",{className:"text-xs font-medium",style:{color:"var(--color-text)"},children:t.name}),a.jsx("p",{className:"font-mono mt-1",style:{fontSize:"10px",color:wn},children:t.engine})]}),n<e.agents.length-1&&a.jsx("span",{"aria-hidden":"true",className:"hidden sm:block absolute font-mono",style:{fontSize:"9px",color:wn,right:"-0.85rem",top:"50%",transform:"translate(50%, -50%)"},children:"â"})]},t.name))}),a.jsxs("p",{className:"font-mono text-center mt-2",style:{fontSize:"9px",color:wn},children:["â ",e.a2a]}),a.jsx(st,{}),a.jsx("div",{className:"flex flex-wrap justify-center gap-2",children:e.shared.map(t=>a.jsx("span",{className:"rounded px-2.5 py-1.5",style:{fontSize:"11px",border:"1px solid var(--color-border)",color:"var(--color-text-muted)"},children:t},t))}),a.jsx(st,{}),a.jsx(tt,{bold:!0,children:e.finalAnswer})]}),a.jsx("figcaption",{className:"hud-text mt-3",style:{fontSize:"9px"},children:e.multiCaption})]})},jl="#18C8EC",gi="#FBBF24",Cs="#34D399",zm={fr:{mcpTitle:"CE QUE MCP BRANCHE, ET CE QUâIL NE DÃCIDE PAS",user:"Utilisateur",agent:"Agent IA",toolsLabel:"Outils exposés",tools:["Fichiers","GitHub","CRM"],mcpNote:"MCP standardise la prise. Ce sont lâapplication hôte et les permissions qui décident ce qui est branché dessus.",mcpCaption:"UN PROTOCOLE DâINTERCONNEXION, PAS UN PASSE-PARTOUT",genTitle:"UN ALGORITHME GÃNÃTIQUE DANS LE DONJON",genSteps:[{label:"Cerveau initial",sub:"celui construit par le joueur"},{label:"Population",sub:"plusieurs variantes"},{label:"Combats simulés",sub:"on les fait sâaffronter"},{label:"Ãvaluation",sub:"la fonction de fitness"},{label:"Sélection",sub:"on garde les meilleurs"},{label:"Croisement · mutation",sub:"on mélange, on perturbe"}],genBack:"Nouvelle génération â et on recommence.",genCaption:"DU PUR DARWINISME INFORMATIQUE",harnessTitle:"Oà SE DÃPLACE LA VALEUR",model:"Modèle",modelSub:"décision, raisonnement",harness:"HARNESS",harnessParts:["Outils","Ãtat","Mémoire","Permissions","Vérifications","Observabilité"],world:"Le monde",worldSub:"fichiers, APIs, CRM, autres agents",harnessCaption:"LE MODÃLE DÃCIDE, LE HARNESS ENCADRE, LES OUTILS AGISSENT"}},Zu=()=>{const{language:e}=U();return zm[e]||zm.fr},fa=({color:e="var(--color-border-strong)"})=>a.jsx("div",{className:"flex justify-center","aria-hidden":"true",children:a.jsx("span",{style:{width:"1px",height:"16px",background:e}})}),Yi=({label:e,sub:t,hue:n="var(--color-border-strong)",bold:s})=>a.jsxs("div",{className:"rounded-lg px-4 py-2.5 text-center",style:{border:`1.5px solid ${n}`},children:[a.jsx("p",{className:`text-xs ${s?"font-bold":"font-medium"}`,style:{color:"var(--color-text)"},children:e}),t&&a.jsx("p",{className:"text-xs mt-0.5",style:{color:"var(--color-text-muted)"},children:t})]}),$S=()=>{const e=Zu();return a.jsxs("figure",{className:"my-10",children:[a.jsxs("div",{className:"glass rounded-xl p-5 sm:p-6",children:[a.jsx("p",{className:"hud-text mb-5",style:{fontSize:"9px"},children:e.mcpTitle}),a.jsxs("div",{className:"max-w-sm mx-auto",children:[a.jsx(Yi,{label:e.user}),a.jsx(fa,{}),a.jsx(Yi,{label:e.agent,hue:jl,bold:!0}),a.jsx(fa,{color:gi}),a.jsx("p",{className:"font-mono text-center mb-2",style:{fontSize:"10px",color:gi},children:e.toolsLabel}),a.jsx("div",{className:"grid grid-cols-3 gap-2",children:e.tools.map(t=>a.jsx("span",{className:"rounded-lg px-2 py-2 text-center text-xs",style:{border:`1px solid ${gi}`,color:"var(--color-text)"},children:t},t))})]}),a.jsx("p",{className:"text-xs leading-relaxed mt-5 pt-4 text-center",style:{borderTop:"1px solid var(--color-border)",color:"var(--color-text-muted)"},children:e.mcpNote})]}),a.jsx("figcaption",{className:"hud-text mt-3",style:{fontSize:"9px"},children:e.mcpCaption})]})},YS=()=>{const e=Zu();return a.jsxs("figure",{className:"my-10",children:[a.jsxs("div",{className:"glass rounded-xl p-5 sm:p-6",children:[a.jsx("p",{className:"hud-text mb-5",style:{fontSize:"9px"},children:e.genTitle}),a.jsxs("div",{className:"max-w-md mx-auto",children:[e.genSteps.map((t,n)=>a.jsxs("div",{children:[n>0&&a.jsx(fa,{color:Cs}),a.jsxs("div",{className:"rounded-lg px-4 py-2.5 flex items-baseline gap-3",style:{border:`1.5px solid ${n===0?"var(--color-border-strong)":Cs}`},children:[a.jsx("span",{className:"font-mono shrink-0",style:{fontSize:"10px",color:Cs},children:String(n+1).padStart(2,"0")}),a.jsxs("span",{className:"min-w-0",children:[a.jsx("span",{className:"text-xs font-medium block",style:{color:"var(--color-text)"},children:t.label}),a.jsx("span",{className:"text-xs",style:{color:"var(--color-text-muted)"},children:t.sub})]})]})]},t.label)),a.jsxs("div",{className:"mt-4 rounded-lg px-4 py-2.5 flex gap-3 items-center",style:{border:`1px dashed ${Cs}`},children:[a.jsx("span",{className:"font-mono shrink-0",style:{fontSize:"13px",color:Cs},"aria-hidden":"true",children:"â»"}),a.jsx("span",{className:"text-xs",style:{color:"var(--color-text-muted)"},children:e.genBack})]})]})]}),a.jsx("figcaption",{className:"hud-text mt-3",style:{fontSize:"9px"},children:e.genCaption})]})},JS=()=>{const e=Zu();return a.jsxs("figure",{className:"my-10",children:[a.jsxs("div",{className:"glass rounded-xl p-5 sm:p-6",children:[a.jsx("p",{className:"hud-text mb-5",style:{fontSize:"9px"},children:e.harnessTitle}),a.jsxs("div",{className:"max-w-md mx-auto",children:[a.jsx(Yi,{label:e.model,sub:e.modelSub}),a.jsx(fa,{}),a.jsxs("div",{className:"rounded-xl p-4",style:{border:`1.5px solid ${jl}`,background:"color-mix(in srgb, var(--color-accent) 5%, transparent)"},children:[a.jsx("p",{className:"font-mono text-center mb-3",style:{fontSize:"10px",letterSpacing:"0.18em",color:jl},children:e.harness}),a.jsx("div",{className:"grid grid-cols-2 gap-1.5",children:e.harnessParts.map(t=>a.jsx("span",{className:"rounded px-2 py-1 text-center",style:{fontSize:"10px",border:"1px solid var(--color-border)",color:"var(--color-text-muted)"},children:t},t))})]}),a.jsx(fa,{}),a.jsx(Yi,{label:e.world,sub:e.worldSub,hue:gi,bold:!0})]})]}),a.jsx("figcaption",{className:"hud-text mt-3",style:{fontSize:"9px"},children:e.harnessCaption})]})},ZS={modelFamily:RS,mlTypes:US,encoderDecoder:GS,energyMix:HS,modelVsHarness:WS,contextSelection:KS,agenticLoop:_S,multiAgent:QS,mcpTools:$S,geneticLoop:YS,harnessStack:JS},XS=/(\\.|\*\*[^*]+\*\*|\*[^*]+\*|\[[^\]]+\]\([^)]+\))/g;function Ln(e){return e.split(XS).map((t,n)=>{if(t.length===2&&t.startsWith("\\"))return t[1];if(t.startsWith("**")&&t.endsWith("**"))return a.jsx("strong",{style:{color:"var(--color-text)"},children:t.slice(2,-2)},n);if(t.startsWith("[")){const[,s,i]=t.match(/\[([^\]]+)\]\(([^)]+)\)/);return a.jsx("a",{href:i,target:"_blank",rel:"noopener noreferrer",className:"underline decoration-dotted underline-offset-2 hover:text-neon-blue transition-colors",style:{color:"var(--color-accent)"},children:s},n)}return t.startsWith("*")&&t.endsWith("*")?a.jsx("em",{children:t.slice(1,-1)},n):t})}const eI=({src:e,alt:t,caption:n,maxHeight:s,height:i,pixelated:r,credit:o})=>{const[l,u]=w.useState(!1),[c,d]=w.useState(!1);if(l)return null;const m=!!s||!!i;return a.jsxs("figure",{className:"my-10",children:[a.jsx("button",{type:"button",onClick:()=>d(!0),"aria-label":n||t,className:`block p-0 border-0 bg-transparent ${m?"mx-auto":"w-full"}`,style:{cursor:"zoom-in"},children:a.jsx("img",{src:e,alt:t,loading:"lazy",onError:()=>u(!0),className:`rounded-xl ${m?"mx-au
92to":"w-full"}`,style:{border:"1px solid var(--color-border)",...m?{maxHeight:s,width:"auto",maxWidth:"100%"}:{},...i?{height:i,width:"auto",maxWidth:"100%"}:{},...r?{imageRendering:"pixelated"}:{}}})}),a.jsx(Cn,{children:c&&a.jsx(LS,{src:e,alt:t,caption:n,pixelated:r,onClose:()=>d(!1)})}),(n||o)&&a.jsxs("figcaption",{className:"mt-3",style:{textAlign:m?"center":"left"},children:[n&&a.jsx("span",{className:"hud-text block",style:{fontSize:"9px"},children:n}),o&&a.jsxs("span",{className:"block mt-1",style:{fontSize:"11px",color:"var(--color-text-muted)"},children:[o.author," ·"," ",a.jsx("a",{href:o.href,target:"_blank",rel:"noopener noreferrer license",className:"underline decoration-dotted underline-offset-2",children:o.license})]})]})]})},tI=({src:e,poster:t,caption:n,note:s,maxHeight:i})=>{const[r,o]=w.useState(!1);return r?null:a.jsxs("figure",{className:"my-10",children:[a.jsx("video",{src:e,poster:t,onError:()=>o(!0),controls:!0,muted:!0,loop:!0,playsInline:!0,preload:"metadata",className:"rounded-xl w-full mx-auto",style:{border:"1px solid var(--color-border)",...i?{maxHeight:i,width:"auto"}:{}}}),(n||s)&&a.jsxs("figcaption",{className:"mt-3",children:[n&&a.jsx("span",{className:"hud-text block",style:{fontSize:"9px"},children:n}),s&&a.jsx("span",{className:"block mt-1",style:{fontSize:"11px",color:"var(--color-text-muted)"},children:Ln(s)})]})]})},nI=({block:e})=>{const{t}=U();switch(e.t){case"h2":return a.jsx("h2",{className:"text-2xl sm:text-3xl font-bold mt-14 mb-5 scroll-mt-24",style:{color:"var(--color-text)"},children:e.text});case"h3":return a.jsx("h3",{className:"text-lg sm:text-xl font-bold mt-10 mb-4",style:{color:"var(--color-text)"},children:e.text});case"list":return a.jsx("ul",{className:"mb-6 flex flex-col gap-3",children:e.items.map((n,s)=>a.jsxs("li",{className:"flex gap-3.5",children:[a.jsx("span",{className:"font-mono shrink-0 pt-0.5",style:{fontSize:"11px",color:"var(--color-accent)"},"aria-hidden":"true",children:e.ordered?String(s+1).padStart(2,"0"):"â¸"}),a.jsx("span",{className:"text-base leading-[1.7]",style:{color:"var(--color-text-muted)"},children:Ln(n)})]},s))});case"quote":return a.jsxs("blockquote",{className:"my-8 pl-5 italic text-lg leading-relaxed",style:{borderLeft:"3px solid var(--color-accent)",color:"var(--color-text)"},children:["« ",e.text," »"]});case"callout":return a.jsxs("aside",{className:"glass bracket-panel rounded-xl p-6 my-8",children:[e.label&&a.jsx("p",{className:"hud-text mb-2",style:{fontSize:"9px",color:"var(--color-accent)"},children:e.label}),a.jsx("p",{className:"text-sm leading-relaxed",style:{color:"var(--color-text-muted)"},children:Ln(e.text)})]});case"link":return a.jsxs("a",{href:e.href,target:"_blank",rel:"noopener noreferrer",className:"glass rounded-xl p-4 my-8 flex items-center gap-4 group",style:{borderLeft:"3px solid var(--color-gold)"},children:[a.jsx("span",{className:"text-lg shrink-0","aria-hidden":"true",children:"â¶"}),a.jsxs("span",{className:"min-w-0",children:[a.jsx("span",{className:"block font-medium text-sm group-hover:text-neon-blue transition-colors",style:{color:"var(--color-text)"},children:e.label}),e.note&&a.jsx("span",{className:"block text-xs mt-0.5",style:{color:"var(--color-text-muted)"},children:e.note})]})]});case"video":return a.jsx(tI,{src:e.src,poster:e.poster,caption:e.caption,note:e.note,maxHeight:e.maxHeight});case"image":return a.jsx(eI,{src:e.src,alt:e.alt,caption:e.caption,maxHeight:e.maxHeight,height:e.height,pixelated:e.pixelated,credit:e.credit});case"dialog":return a.jsx("div",{className:"my-8 flex flex-col gap-3",children:e.turns.map((n,s)=>a.jsxs("div",{className:"glass rounded-xl px-5 py-3.5",style:{borderLeft:`3px solid ${n.who==="ia"?"var(--color-gold)":"var(--color-accent)"}`,marginLeft:n.who==="ia"?"2rem":0,marginRight:n.who==="ia"?0:"2rem"},children:[a.jsx("p",{className:"hud-text mb-1",style:{fontSize:"9px",color:n.who==="ia"?"var(--color-gold-text)":"var(--color-accent)"},children:n.who==="ia"?t("article.dialogAi"):t("article.dialogYou")}),a.jsx("p",{className:"text-sm leading-relaxed",style:{color:"var(--color-text)"},children:Ln(n.text)})]},s))});case"code":return a.jsxs("figure",{className:"my-8",children:[a.jsx("pre",{className:"glass rounded-xl p-5 overflow-x-auto",style:{border:"1px solid var(--color-border)"},children:a.jsx("code",{className:"font-mono text-xs sm:text-sm leading-relaxed",style:{color:"var(--color-text)"},children:e.text})}),e.caption&&a.jsx("figcaption",{className:"hud-text mt-3",style:{fontSize:"9px"},children:e.caption})]});case"diagram":{const n=ZS[e.name];return n?a.jsx(n,{}):null}case"table":return a.jsxs("figure",{className:"my-8",children:[a.jsx("div",{className:"glass rounded-xl overflow-x-auto",children:a.jsxs("table",{className:"w-full border-collapse",style:{minWidth:"640px"},children:[e.caption&&a.jsx("caption",{className:"sr-only",children:e.caption}),a.jsx("thead",{children:a.jsx("tr",{children:e.head.map((n,s)=>a.jsx("th",{scope:"col",className:"hud-text text-left align-bottom px-4 py-3",style:{fontSize:"9px",color:"var(--color-accent)",borderBottom:"1px solid var(--color-border)"},children:n},s))})}),a.jsx("tbody",{children:e.rows.map((n,s)=>a.jsx("tr",{children:n.map((i,r)=>a.jsx("td",{className:"px-4 py-3 text-sm leading-[1.6] align-top",style:{color:r===0?"var(--color-text)":"var(--color-text-muted)",fontWeight:r===0?500:400,borderTop:s===0?"none":"1px solid var(--color-border)"},children:Ln(i)},r))},s))})]})}),e.caption&&a.jsx("figcaption",{className:"hud-text mt-3",style:{fontSize:"9px"},children:e.caption})]});case"p":default:return a.jsx("p",{className:"text-base leading-[1.75] mb-5",style:{color:"var(--color-text-muted)"},children:Ln(e.text)})}},sI=({slug:e})=>{const{t,language:n}=U(),s=fS(e,n),r=[...$u(n)].sort((u,c)=>
92u.number-c.number),o=s&&r.find(u=>u.number>s.number)||null,l=s&&r.filter(u=>u.number<s.number).pop()||null;return w.useEffect(()=>{var c;if(!s)return;Yu({title:`${s.title} | Socle AI`,description:s.metaDescription,path:`/articles/${s.slug}`,lang:n,type:"article",image:s.socialImage||((c=s.body.find(d=>d.t==="image"))==null?void 0:c.src)});const u=document.createElement("script");return u.type="application/ld+json",u.text=JSON.stringify({"@context":"https://schema.org","@type":"Article",headline:s.title,description:s.metaDescription,author:{"@type":"Person",name:s.author},publisher:{"@type":"Organization",name:"Socle AI"},datePublished:s.updated,dateModified:s.updated}),document.head.appendChild(u),()=>document.head.removeChild(u)},[s]),s?a.jsx(A.main,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.4},className:"min-h-screen pt-28 pb-24 px-6",children:a.jsxs("article",{className:"container mx-auto",style:{maxWidth:"46rem"},children:[a.jsx("a",{href:`${be(n,"/")}#now`,className:"hud-text inline-block mb-8 transition-colors duration-150",style:{color:"var(--color-text-muted)"},onMouseEnter:u=>u.currentTarget.style.color="var(--color-gold-text)",onMouseLeave:u=>u.currentTarget.style.color="var(--color-text-muted)",children:t("article.backToNews")}),a.jsxs(A.header,{initial:{opacity:0,y:24},animate:{opacity:1,y:0},transition:{duration:.6},className:"mb-12",children:[a.jsx("div",{className:"mb-8",children:a.jsx(wf,{article:s,variant:"hero"})}),a.jsxs("span",{className:"hud-text",style:{fontSize:"10px"},children:[a.jsxs("span",{className:"hud-gold",children:[t("article.label")," #",s.number]}),a.jsx("span",{className:"hud-sep",children:"//"}),s.readingMinutes," ",t("article.minutes"),a.jsx("span",{className:"hud-sep",children:"//"}),$i(s.updated)]}),a.jsx("h1",{className:"text-4xl sm:text-5xl font-bold mt-4 mb-5 leading-tight",style:{color:"var(--color-text)"},children:a.jsx(re,{children:s.title})}),a.jsx("p",{className:"text-lg leading-relaxed",style:{color:"var(--color-text-muted)"},children:s.lede}),a.jsx("div",{className:"mt-6",style:{height:"2px",background:"linear-gradient(90deg, var(--color-accent) 0%, var(--color-gold) 50%, transparent 100%)",opacity:.4}})]}),a.jsx(A.div,{initial:{opacity:0}
92,animate:{opacity:1},transition:{duration:.6,delay:.15},children:s.body.map((u,c)=>a.jsx(nI,{block:u},c))}),a.jsx("div",{className:"mt-12 pt-6",style:{borderTop:"1px solid var(--color-border)"},children:a.jsx("p",{className:"font-bold",style:{color:"var(--color-text)"},children:s.author})}),a.jsx(DS,{}),(l||o)&&a.jsxs("nav",{className:"mt-8 grid grid-cols-1 sm:grid-cols-2 gap-4",children:[l?a.jsxs("a",{href:be(n,`/articles/${l.slug}`),className:"glass rounded-xl p-5 group",children:[a.jsxs("p",{className:"hud-text mb-1.5",style:{fontSize:"9px"},children:["â ",t("article.chapter")," ",l.number]}),a.jsx("p",{className:"font-medium text-sm group-hover:text-neon-blue transition-colors",style:{color:"var(--color-text)"},children:l.title})]}):a.jsx("span",{}),o&&a.jsxs("a",{href:be(n,`/articles/${o.slug}`),className:"glass bracket-panel rounded-xl p-5 group sm:text-right",children:[a.jsxs("p",{className:"hud-text mb-1.5",style:{fontSize:"9px",color:"var(--color-accent)"},children:[t("article.chapter")," ",o.number," â"]}),a.jsx("p",{className:"font-medium text-sm group-hover:text-neon-blue transition-colors",style:{color:"var(--color-text)"},children:o.title})]})]}),a.jsxs(A.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5},className:"glass bracket-panel rounded-xl p-8 text-center mt-12",children:[a.jsx("p",{className:"text-xl font-bold mb-2",style:{color:"var(--color-text)"},children:t("article.ctaTitle")}),a.jsx("p",{className:"text-sm mb-6 max-w-lg mx-auto",style:{color:"var(--color-text-muted)"},children:t("article.ctaBody")}),a.jsxs("div",{className:"flex flex-wrap gap-4 justify-center",children:[a.jsx("a",{href:"https://app.socle.ai",target:"_blank",rel:"noopener noreferrer",className:"btn-primary inline-block px-8 py-3 text-sm",children:t("article.ctaTry")}),a.jsx("a",{href:`${be(n,"/")}#contact`,className:"btn-outline inline-block px-8 py-3 text-sm",children:t("article.ctaWrite")})]})]})]})}):a.jsx("main",{className:"min-h-screen flex items-center justify-center pt-28 pb-24 px-6 text-center",children:a.jsxs("div",{children:[a.jsx("p",{className:"hud-text mb-4",children:t("article.notFound")}),a.jsx("a",{href:`${be(n,"/")}#now`,className:"btn-outline inline-block px-6 py-2.5 text-sm",children:t("article.notFoundCta")})]})})},aI={1:{h:58,tly:[111],cy:[140]},2:{h:58,tly:[66,156],cy:[95,185]},3:{h:58,tly:[22,111,200],cy:[51,140,229]},4:{h:50,tly:[16,82,148,214],cy:[41,107,173,239]}},iI=e=>e===0?2:e<=2?3:4,Nm=4,bo=[{branches:[{label:"Contrat_A.pdf",sub:"read_pdf"},{label:"Contrat_B.pdf",sub:"read_pdf"}],agent:{label:"Analyse risque",sub:"contract-reviewer"},notify:{label:"Rapport PDF",sub:"Résumé structuré",hdrBg:"#1c1000",hdrFg:"#fbbf24"}},{branches:[{label:"Presse économique",sub:"web_search"},{label:"Score financier",sub:"duns_query"},{label:"Réseaux sociaux",sub:"social_search"},{label:"Actualités secteur",sub:"web_search"}],agent:{label:"Risk Report",sub:"supplier-monitor"},notify:{label:"Gmail",sub:"Compte rendu hebdo",hdrBg:"#120a1c",hdrFg:"#c084fc"}},{branches:[{label:"Agenda du jour",sub:"calendar_read"},{label:"Profils contacts",sub:"crm_search"},{label:"Actualités récentes",sub:"web_search"}],agent:{label:"Préparation",sub:"meeting-prep-agent"},notify:{label:"Slack",sub:"Brief de réunion",hdrBg:"#001f12",hdrFg:"#34d399"}},{branches:[{label:"réunion-2025.mp3",sub:"read_audio"}],agent:{label:"Transcription",sub:"asr-whisper-large"},notify:{label:"Email",sub:"Compte rendu généré",hdrBg:"#001828",hdrFg:"#67e8f9"}}],Pm={fr:["Je veux un agent qui analyse mes contrats PDF, extrait les clauses clés et génère un rapport de risque structuré pour chaque document.","Je veux un workflow qui détecte les signaux faibles sur mes fournisseurs chaque semaine et m'envoie un compte rendu de risk management par email.","Je veux un workflow qui rassemble les infos sur mes interlocuteurs avant chaque réunion et m'envoie un brief de préparation sur Slack automatiquement.","Je veux transcrire automatiquement mes réunions audio et générer un compte rendu structuré envoyé par email dès la fin de chaque appel."],en:["I want an agent that analyses my PDF contracts, extracts ke
92y clauses and generates a structured risk report for each document.","I want a workflow that detects weak signals on my suppliers every week and sends me a risk management summary by email.","I want a workflow that gathers information on my meeting contacts and automatically sends me a preparation brief on Slack.","I want to automatically transcribe my audio meetings and generate a structured summary sent by email as soon as each call ends."],pt:["Quero um agente que analise meus contratos PDF, extraia as cláusulas principais e gere um relatório de risco estruturado para cada documento.","Quero um workflow que detecte sinais fracos sobre meus fornecedores toda semana e me envie um resumo de gestão de risco por e-mail.","Quero um workflow que reúna informações sobre meus contatos antes de cada reunião e me envie automaticamente um briefing de preparação no Slack.","Quero transcrever automaticamente minhas reuniões em áudio e gerar um resumo estruturado enviado por e-mail assim que cada chamada terminar."]},rI=[300,600,850,1100,1600,2050,2400],oI=2200,Tm=450,lI=()=>{const{t:e,language:t}=U(),n=w.useRef(null),s=_u(n,{once:!0,margin:"-80px"}),i=Pm[t]??Pm.fr,[r,o]=w.useState(0),[l,u]=w.useState(""),[c,d]=w.useState(0),[m,p]=w.useState(!1);w.useEffect(()=>{if(!s)return;let b=!1;const g=[];let f=null;const y=S=>{if(b)return;const C=S%bo.length,E=i[C];o(C),u(""),d(0),p(!1);let k=0;f=setInterval(()=>{if(b){clearInterval(f);return}k++,u(E.slice(0,k)),k>=E.length&&clearInterval(f)},28),rI.forEach((P,te)=>{g.push(setTimeout(()=>{b||d(te+1)},P))});const N=Math.max(E.length*28,2500)+oI;g.push(setTimeout(()=>{b||(p(!0),g.push(setTimeout(()=>y(S+1),Tm)))},N))};return y(0),()=>{b=!0,f&&clearInterval(f),g.forEach(clearTimeout)}},[s,i]);const h=b=>c>=b,v=bo[r],x=i[r],I=!m&&l.length<x.length;return a.jsx("section",{ref:n,className:"py-24 px-6 relative",style:{isolation:"isolate",zIndex:1},children:a.jsxs("div",{className:"container mx-auto max-w-5xl",children:[a.jsxs(A.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:"mb-14",children:[a.jsx("h2",{className:"text-4xl md:text-5xl font-bold leading-tight mb-4",style:{color:"var(--color-text)"},children:a.jsx(re,{children:e("workflowSection.title")})}),a.jsx("p",{className:"text-lg max-w-2xl",style:{color:"var(--color-text-muted)"},children:e("workflowSection.subtitle")})]}),a.jsxs(A.div,{initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:.2},children:[a.jsxs(A.div,{animate:{opacity:m?0:1},transition:{duration:Tm/1e3},className:"grid grid-cols-1 lg:grid-cols-[1fr_1.6fr] gap-8 items-center",children:[a.jsxs("div",{className:"glass rounded-xl p-6",style:{border:"1px solid var(--color-border)"},children:[a.jsx("p",{className:"font-mono text-[10px] tracking-widest mb-3",style:{color:"var(--color-accent)"},children:e("workflowSection.inputLabel")}),a.jsxs("div",{className:"rounded-lg p-4 min-h-[120px]",style:{background:"var(--color-input-bg)",border:"1px solid var(--color-input-border)"},children:[a.jsx("span",{className:"font-mono text-sm leading-relaxed",style:{color:"var(--color-text)"},children:l}),I&&a.jsx("span",{className:"inline-block w-0.5 h-[13px] ml-0.5 animate-pulse",style:{background:"var(--color-accent)",verticalAlign:"middle"}})]}),a.jsxs("div",{className:"mt-3 h-5 flex items-center",children:[h(1)&&!h(7)&&a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("span",{className:"w-1.5 h-1.5 rounded-full animate-pulse",style:{background:"var(--color-accent)"}}),a.jsx("span",{className:"font-mono text-[10px]",style:{color:"var(--color-accent)"},children:e("workflowSection.generating")})]}),h(7)&&a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("span",{className:"w-1.5 h-1.5 rounded-full",style:{background:"var(--color-gold)"}}),a.jsx("span",{className:"font-mono text-[10px]",style:{color:"var(--color-gold)"},children:e("workflowSection.ready")})]})]})]}),a.jsx("div",{className:"glass rounded-xl p-3 overflow-hidden",style:{border:"1px solid var(--color-border)"},children:a.jsx(uI,{config:v,v:h})})]}),a.jsx("div",{className:"flex justify-center gap-2 mt-6",children:bo.map((b,g)=>a.jsx("span",{className:"block rounded-full transition-all duration-500",style:{width:r===g?"18px":"6px",height:"6px",background:r===g?"var(--color-accent)":"var(--color-border)"}},g))}),a.jsx("div",{className:"flex justify-center mt-6",children:a.jsxs("a",{href:"https://www.youtube.com/playlist?list=PLwIDywna210UAK3bT6BVa90Fzg4_vin2D",target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-2 px-4 py-2 rounded-lg glass transition-all duration-300 hover:glass-strong group",children:[a.jsx("svg",{className:"w-4 h-4 flex-shrink-0",viewBox:"0 0 24 24",fill:"
92currentColor",style:{color:"#FF0000"},children:a.jsx("path",{d:"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"})}),a.jsx("span",{className:"font-mono text-[11px] tracking-wider",style:{color:"var(--color-text-muted)"},children:"Découvrez nos usecases en live sur YouTube"}),a.jsx("svg",{className:"w-3 h-3 transition-transform duration-200 group-hover:translate-x-0.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",style:{color:"var(--color-text-muted)"},children:a.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})]})})]})]})})},Te=e=>({opacity:e?1:0}),js={duration:.4},Za={duration:.3},uI=({config:e,v:t})=>{const{branches:n,agent:s,notify:i}=e,r=n.length,o=aI[r],l=r===4,u=o.h,c=o.tly,d=o.cy,m=l?16:18,p=11,h=l?6:8,v=l?11.5:12.5,x=l?3:4,I=l?29:33,b=l?40:46;return a.jsxs("svg",{viewBox:"0 0 710 280",className:"w-full h-auto",xmlns:"http://www.w3.org/2000/svg",children:[d.map((g,f)=>a.jsx(A.path,{d:g===140?"M 58,140 L 108,140":`M 58,140 C 83,140 83,${g} 108,${g}`,fill:"none",stroke:"#4ECDC4",strokeWidth:"1.5",animate:Te(t(1)),initial:{opacity:0}
92,transition:{duration:.5}},`es${f}`)),d.map((g,f)=>a.jsx(A.path,{d:g===120?"M 238,120 L 310,120":`M 238,${g} C 274,${g} 274,120 310,120`,fill:"none",stroke:"#4ECDC4",strokeWidth:"1.5",animate:Te(t(Nm)),initial:{opacity:0},transition:{duration:.5}},`ea${f}`)),a.jsx(A.path,{d:"M 455,120 C 485,120 485,140 515,140",fill:"none",stroke:"#4ECDC4",strokeWidth:"1.5",animate:Te(t(5)),initial:{opacity:0},transition:{duration:.5}}),a.jsx(A.path,{d:"M 640,140 L 651,140",fill:"none",stroke:"#4ECDC4",strokeWidth:"1.5",animate:Te(t(6)),initial:{opacity:0},transition:{duration:.5}}),a.jsx(A.circle,{cx:"58",cy:"140",r:"3",fill:"#4ECDC4",animate:Te(t(1)),initial:{opacity:0},transition:Za}),d.map((g,f)=>a.jsx(A.circle,{cx:"238",cy:g,r:"3",fill:"#4ECDC4",animate:Te(t(Nm)),initial:{opacity:0},transition:Za},`dc${f}`)),a.jsx(A.circle,{cx:"455",cy:"120",r:"3",fill:"#4ECDC4",animate:Te(t(5)),initial:{opacity:0},transition:Za}),a.jsx(A.circle,{cx:"640",cy:"140",r:"3",fill:"#4ECDC4",animate:Te(t(6)),initial:{opacity:0},transition:Za}),a.jsxs(A.g,{animate:Te(t(1)),initial:{opacity:0}
92,transition:js,children:[a.jsx("rect",{x:"6",y:"127",width:"52",height:"26",rx:"13",fill:"#14532d",stroke:"#22c55e",strokeWidth:"1"}),a.jsx("text",{x:"32",y:"144",textAnchor:"middle",fill:"#4ade80",fontSize:"9",fontFamily:"monospace",fontWeight:"bold",children:"START"})]}),n.map((g,f)=>{const y=c[f];return a.jsxs(A.g,{animate:Te(t(iI(f))),initial:{opacity:0},transition:js,children:[a.jsx("rect",{x:"108",y,width:"130",height:u,rx:"5",fill:"#071520",stroke:"#1e3a4a",strokeWidth:"1"}),a.jsx("rect",{x:"109",y:y+1,width:"128",height:m,rx:"4",fill:"#0d2535"}),a.jsx("rect",{x:"109",y:y+p,width:"128",height:h,fill:"#0d2535"}),a.jsx("text",{x:"114",y:y+v,fill:"#4ECDC4",fontSize:"7",fontFamily:"monospace",letterSpacing:"1",children:"MCP CALL"}),a.jsx("rect",{x:"204",y:y+x,width:"30",height:"12",rx:"2.5",fill:"#064e3b"}),a.jsx("text",{x:"219",y:y+v,textAnchor:"middle",fill:"#4ade80",fontSize:"6",fontFamily:"monospace",children:"COMPLETED"}),a.jsx("text",{x:"173",y:y+I,textAnchor:"middle",fill:"#e2e8f0",fontSize:"9",fontFamily:"monospace",fontWeight:"bold",children:g.label}),a.jsx("text",{x:"173",y:y+b,textAnchor:"middle",fill:"#3d5a6e",fontSize:"7.5",fontFamily:"monospace",children:g.sub})]},`br${f}`)}),a.jsxs(A.g,{animate:Te(t(5)),initial:{opacity:0}
92,transition:js,children:[a.jsx("rect",{x:"310",y:"76",width:"145",height:"88",rx:"5",fill:"#071520",stroke:"#1e3a4a",strokeWidth:"1"}),a.jsx("rect",{x:"311",y:"77",width:"143",height:"18",rx:"4",fill:"#0d2a3e"}),a.jsx("rect",{x:"311",y:"87",width:"143",height:"8",fill:"#0d2a3e"}),a.jsx("text",{x:"316",y:"88.5",fill:"#7dd3fc",fontSize:"7",fontFamily:"monospace",letterSpacing:"1",children:"AGENT SOCLE"}),a.jsx("rect",{x:"421",y:"79",width:"30",height:"12",rx:"2.5",fill:"#064e3b"}),a.jsx("text",{x:"436",y:"87.5",textAnchor:"middle",fill:"#4ade80",fontSize:"6",fontFamily:"monospace",children:"COMPLETED"}),a.jsx("text",{x:"382",y:"112",textAnchor:"middle",fill:"#e2e8f0",fontSize:"9.5",fontFamily:"monospace",fontWeight:"bold",children:s.label}),a.jsx("text",{x:"382",y:"126",textAnchor:"middle",fill:"#3d5a6e",fontSize:"7",fontFamily:"monospace",children:s.sub})]}),a.jsxs(A.g,{animate:Te(t(6)),initial:{opacity:0},transition:js,children:[a.jsx("rect",{x:"515",y:"111",width:"125",height:"58",rx:"5",fill:"#071520",stroke:"#1e3a4a",strokeWidth:"1"}),a.jsx("rect",{x:"516",y:"112",width:"123",height:"18",rx:"4",fill:i.hdrBg}),a.jsx("rect",{x:"516",y:"122",width:"123",height:"8",fill:i.hdrBg}),a.jsx("text",{x:"521",y:"123.5",fill:i.hdrFg,fontSize:"7",fontFamily:"monospace",letterSpacing:"1",children:"NOTIFY"}),a.jsx("rect",{x:"607",y:"115",width:"30",height:"12",rx:"2.5",fill:"#064e3b"}),a.jsx("text",{x:"622",y:"123.5",textAnchor:"middle",fill:"#4ade80",fontSize:"6",fontFamily:"monospace",children:"COMPLETED"}),a.jsx("text",{x:"577",y:"144",textAnchor:"middle",fill:"#e2e8f0",fontSize:"10",fontFamily:"monospace",fontWeight:"bold",children:i.label}),a.jsx("text",{x:"577",y:"157",textAnchor:"middle",fill:"#3d5a6e",fontSize:"7.5",fontFamily:"monospace",children:i.sub})]}),a.jsxs(A.g,{animate:Te(t(7)),initial:{opacity:0}
92,transition:js,children:[a.jsx("rect",{x:"651",y:"127",width:"52",height:"26",rx:"13",fill:"#450a0a",stroke:"#dc2626",strokeWidth:"1"}),a.jsx("text",{x:"677",y:"144",textAnchor:"middle",fill:"#f87171",fontSize:"9",fontFamily:"monospace",fontWeight:"bold",children:"END"})]})]})},cI=({style:e})=>a.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"1",style:e,"aria-hidden":!0,children:[a.jsx("line",{x1:"7",y1:"0",x2:"7",y2:"14"}),a.jsx("line",{x1:"0",y1:"7",x2:"14",y2:"7"}),a.jsx("circle",{cx:"7",cy:"7",r:"1.5",fill:"currentColor",strokeWidth:"0"})]}),dI=({style:e})=>a.jsx("svg",{width:"8",height:"8",viewBox:"0 0 8 8",fill:"currentColor",style:e,"aria-hidden":!0,children:a.jsx("rect",{x:"4",y:"0",width:"5.66",height:"5.66",transform:"rotate(45 4 0)"})}),mI=[{x:"8%",y:"12%"},{x:"88%",y:"18%"},{x:"4%",y:"52%"},{x:"94%",y:"45%"},{x:"18%",y:"80%"},{x:"78%",y:"75%"},{x:"50%",y:"28%"},{x:"35%",y:"65%"}],pI=[{x:"22%",y:"22%"},{x:"72%",y:"35%"},{x:"12%",y:"68%"},{x:"85%",y:"82%"},{x:"60%",y:"55%"}],hI=[{axis:"h",pos:"22%"},{axis:"h",pos:"58%"},{axis:"h",pos:"82%"},{axis:"v",pos:"28%"},{axis:"v",pos:"72%"}],gI=()=>a.jsxs("div",{className:"hidden lg:block fixed inset-0 pointer-events-none select-none",style:{zIndex:0,color:"var(--color-accent)",opacity:.18},"aria-hidden":!0,children:[mI.map((e,t)=>a.jsx(A.div,{initial:{opacity:0}
92,animate:{opacity:1},transition:{delay:t*.08,duration:.6},style:{position:"absolute",left:e.x,top:e.y,transform:"translate(-50%,-50%)"},children:a.jsx(cI,{})},`ch-${t}`)),pI.map((e,t)=>a.jsx(A.div,{initial:{opacity:0,scale:0},animate:{opacity:1,scale:1},transition:{delay:.4+t*.1,duration:.5},style:{position:"absolute",left:e.x,top:e.y,transform:"translate(-50%,-50%)"},children:a.jsx(dI,{})},`dm-${t}`)),hI.map((e,t)=>a.jsx("div",{style:e.axis==="h"?{position:"absolute",left:0,right:0,top:e.pos,height:"1px",backgroundImage:`repeating-linear-gradient( 93 90deg, 94 currentColor 0px, currentColor 5px, 95 transparent 5px, transparent 14px 96 )`,opacity:.6}:{position:"absolute",top:0,bottom:0,left:e.pos,width:"1px",backgroundImage:`repeating-linear-gradient( 97 180deg, 98 currentColor 0px, currentColor 5px, 99 transparent 5px, transparent 14px 100 )`,opacity:.6}},`ln-${t}`)),a.jsx("div",{style:{position:"absolute",top:"8px",left:"8px",fontFamily:"Space Mono, monospace",fontSize:"9px",letterSpacing:"0.1em",opacity:.5},children:"SOCLE·AI // 2025"}),a.jsx("div",{style:{position:"absolute",top:"8px",right:"8px",fontFamily:"Space Mono, monospace",fontSize:"9px",letterSpacing:"0.1em",opacity:.5,textAlign:"right"},children:"REV.1.0 // SOVEREIGN"}),a.jsx("div",{style:{position:"absolute",bottom:"8px",left:"8px",fontFamily:"Space Mono, monospace",fontSize:"9px",letterSpacing:"0.1em",opacity:.5},children:"©SOCLE TECH"})]}),Xa=[{name:"Hivera",src:"/images/partners/hivera.png",height:52,whiteBg:!1},{name:"NVIDIA Inception",src:"/images/partners/nvidia2.png",height:56,whiteBg:!0},{name:"Scaleway for Startups",src:"/images/partners/scaleway.png",height:36,whiteBg:!1}],fI=({partner:e})=>a.jsx("div",{className:"flex items-center justify-center px-12 shrink-0",children:a.jsx("div",{style:e.whiteBg?{background:"#ffffff",borderRadius:"6px",padding:"6px 10px",display:"inline-flex",alignItems:"center"}:{},children:a.jsx("img",{src:e.src,alt:e.name,style:{height:`${e.height}px`,width:"auto",objectFit:"contain"},className:e.whiteBg?"logo-partner-raw":"logo-partner"})})}),vI=()=>{const e=w.useRef(null),t=_u(e,{once:!1,margin:"-60px"}),[n,s]=w.useState(0);w.useEffect(()=>{if(!t)return;const r=setInterval(()=>s(o=>o+1),5e3);return()=>clearInterval(r)},[t]);const i=[...Xa,...Xa,...Xa,...Xa];return a.jsxs("section",{ref:e,className:"relative w-full overflow-hidden py-10",style:{borderTop:"1px solid var(--color-border)",borderBottom:"1px solid var(--color-border)",background:"var(--color-bg-secondary)"},children:[a.jsx(A.div,{initial:{opacity:0,y:10},animate:t?{opacity:1,y:0}:{},transition:{duration:.6},className:"text-center mb-7",children:a.jsxs("span",{className:"hud-text inline-flex items-center gap-3",style:{fontSize:"10px",letterSpacing:"0.18em"},children:[a.jsx("span",{className:"inline-block w-8 h-px",style:{background:"var(--color-accent)",opacity:.5}}),a.jsx(ga,{text:"SUPPORTED BY INDUSTRY LEADERS",delay:t?100:99999,speed:32}),a.jsx("span",{className:"inline-block w-8 h-px",style:{background:"var(--color-accent)",opacity:.5}})]},n)}),a.jsx("div",{className:"absolute inset-y-0 left-0 w-24 pointer-events-none z-10",style:{background:"linear-gradient(to right, var(--color-bg-secondary), transparent)"}}),a.jsx("div",{className:"absolute inset-y-0 right-0 w-24 pointer-events-none z-10",style:{background:"linear-gradient(to left, var(--color-bg-secondary), transparent)"}}),a.jsx("div",{className:"flex partners-track",children:i.map((r,o)=>a.jsx(fI,{partner:r},`${r.name}-${o}`))})]})};function bI(){const[e,t]=w.useState(!1),[n,s]=w.useState("home"),[i,r]=w.useState(null),[o,l]=w.useState(null),{t:u,language:c}=U();return w.useEffect(()=>{const d=()=>{t(window.scrollY>50)};return window.addEventListener("scroll",d),()=>window.removeEventListener("scroll",d)},[]),w.useEffect(()=>{const{lang:d,path:m}=Qu(window.location.pathname),p=be(d,"/");if(m==="/battle-cards"){window.location.replace(`${p}#now`);return}if(m.startsWith("/battle-cards/")){r(decodeURIComponent(m.slice(14))),s("battlecards-detail");return}if(m==="/articles"){window.location.replace(`${p}#now`);return}if(m.startsWith("/articles/")){l(decodeURIComponent(m.slice(10))),s("article");return}const h=()=>{let v="home";window.location.hash==="#now"||window.location.hash==="#about"?v="now":window.location.hash==="#contact"?v="contact":window.location.hash==="#terms"?v="terms":window.location.hash==="#privacy"?v="privacy":window.location.hash==="#about-us"?v="about":window.location.hash==="#secteur-juridique"?v="sector-legal":window.location.hash==="#secteur-risk"?v="sector-risk":window.location.hash==="#secteur-public"?v="sector-public":window.location.hash==="#autre-secteur"&&(v="sector-other"),s(v),window.scrollTo({top:0,behavior:"instant"})};return h(),window.addEventListener("hashchange",h),()=>window.removeEventListener("hashchange",h)},[]),w.useEffect(()=>{n==="battlecards-detail"||n==="article"||Yu({title:u("meta.homeTitle"),description:u("meta.homeDescription"),path:"/",lang:c})},[n,c]),a.jsxs("div",{className:"min-h-screen bg-bg-dark",children:[a.jsx(gI,{}),a.jsx(E0,{scrolled:e}),n==="now"?a.jsx(bS,{}):n==="contact"?a.jsx(xS,{}):n==="terms"?a.jsx(yS,{}):n==="privacy"?a.jsx(kS,{}):n==="about"?a.jsx(qS,{}):n==="sector-legal"?a.jsx(Ya,{data:u("sectors.legal")}):n==="sector-risk"?a.jsx(Ya,{data:u("sectors.risk")}):n==="sector-public"?a.jsx(Ya,{data:u("sectors.public")}):n==="sector-other"?a.jsx(Ya,{data:u("sectors.other")}):n==="battlecards-detail"?a.jsx(MS,{slug:i}
100):n==="article"?a.jsx(sI,{slug:o}):a.jsxs(a.Fragment,{children:[a.jsx(P0,{}),a.jsx(F0,{}),a.jsx(tS,{}),a.jsx(H0,{}),a.jsx(G0,{}),a.jsx(lI,{}),a.jsx(V0,{}),a.jsx(O0,{}),a.jsx(M0,{}),a.jsx($0,{}),a.jsx(Z0,{}),a.jsx(sS,{}),a.jsx(B0,{})]}),a.jsx(vI,{}),a.jsx(iS,{})]})}xo.createRoot(document.getElementById("root")).render(a.jsx(Ml.StrictMode,{children:a.jsx(q0,{children:a.jsx(k0,{children:a.jsx(bI,{})})})}));
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.