[{"data":1,"prerenderedAt":604},["ShallowReactive",2],{"navigation_docs_fr":3,"-fr-self-hosting-operations-and-security-updating":143,"-fr-self-hosting-operations-and-security-updating-surround":599},[4,103,124],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":36},"Auto-hébergement","i-lucide-server","\u002Ffr\u002Fself-hosting","fr\u002F1.self-hosting",[10,37,57,77],{"title":11,"icon":12,"path":13,"stem":14,"children":15,"page":36},"Bien démarrer","i-lucide-rocket","\u002Ffr\u002Fself-hosting\u002Fgetting-started","fr\u002F1.self-hosting\u002F1.getting-started",[16,21,26,31],{"title":17,"path":18,"stem":19,"icon":20},"Démarrage rapide (guidé)","\u002Ffr\u002Fself-hosting\u002Fgetting-started\u002Fquick-start","fr\u002F1.self-hosting\u002F1.getting-started\u002F1.quick-start","i-lucide-wand-2",{"title":22,"path":23,"stem":24,"icon":25},"Vue d'ensemble","\u002Ffr\u002Fself-hosting\u002Fgetting-started\u002Foverview","fr\u002F1.self-hosting\u002F1.getting-started\u002F2.overview","i-lucide-layout-dashboard",{"title":27,"path":28,"stem":29,"icon":30},"Prérequis","\u002Ffr\u002Fself-hosting\u002Fgetting-started\u002Frequirements","fr\u002F1.self-hosting\u002F1.getting-started\u002F3.requirements","i-lucide-cpu",{"title":32,"path":33,"stem":34,"icon":35},"Installation manuelle","\u002Ffr\u002Fself-hosting\u002Fgetting-started\u002Fmanual-install","fr\u002F1.self-hosting\u002F1.getting-started\u002F4.manual-install","i-lucide-terminal",false,{"title":38,"icon":39,"path":40,"stem":41,"children":42,"page":36},"Performances et modèles","i-lucide-gauge","\u002Ffr\u002Fself-hosting\u002Fperformance-and-models","fr\u002F1.self-hosting\u002F2.performance-and-models",[43,48,52],{"title":44,"path":45,"stem":46,"icon":47},"Accélération GPU","\u002Ffr\u002Fself-hosting\u002Fperformance-and-models\u002Fgpu-acceleration","fr\u002F1.self-hosting\u002F2.performance-and-models\u002F1.gpu-acceleration","i-lucide-zap",{"title":49,"path":50,"stem":51,"icon":39},"Performances et mémoire","\u002Ffr\u002Fself-hosting\u002Fperformance-and-models\u002Fperformance-and-memory","fr\u002F1.self-hosting\u002F2.performance-and-models\u002F2.performance-and-memory",{"title":53,"path":54,"stem":55,"icon":56},"Modèles","\u002Ffr\u002Fself-hosting\u002Fperformance-and-models\u002Fmodels","fr\u002F1.self-hosting\u002F2.performance-and-models\u002F3.models","i-lucide-brain",{"title":58,"icon":59,"path":60,"stem":61,"children":62,"page":36},"Configuration et accès","i-lucide-sliders-horizontal","\u002Ffr\u002Fself-hosting\u002Fconfiguration-and-access","fr\u002F1.self-hosting\u002F3.configuration-and-access",[63,67,72],{"title":64,"path":65,"stem":66,"icon":59},"Référence de configuration","\u002Ffr\u002Fself-hosting\u002Fconfiguration-and-access\u002Fconfiguration-reference","fr\u002F1.self-hosting\u002F3.configuration-and-access\u002F1.configuration-reference",{"title":68,"path":69,"stem":70,"icon":71},"Licence et activation","\u002Ffr\u002Fself-hosting\u002Fconfiguration-and-access\u002Flicensing","fr\u002F1.self-hosting\u002F3.configuration-and-access\u002F2.licensing","i-lucide-key-round",{"title":73,"path":74,"stem":75,"icon":76},"Gérer les utilisateurs","\u002Ffr\u002Fself-hosting\u002Fconfiguration-and-access\u002Fmanaging-users","fr\u002F1.self-hosting\u002F3.configuration-and-access\u002F3.managing-users","i-lucide-users",{"title":78,"icon":79,"path":80,"stem":81,"children":82,"page":36},"Exploitation et sécurité","i-lucide-shield-check","\u002Ffr\u002Fself-hosting\u002Foperations-and-security","fr\u002F1.self-hosting\u002F4.operations-and-security",[83,88,93,98],{"title":84,"path":85,"stem":86,"icon":87},"Sauvegardes et restauration","\u002Ffr\u002Fself-hosting\u002Foperations-and-security\u002Fbackups","fr\u002F1.self-hosting\u002F4.operations-and-security\u002F1.backups","i-lucide-database-backup",{"title":89,"path":90,"stem":91,"icon":92},"Mises à jour","\u002Ffr\u002Fself-hosting\u002Foperations-and-security\u002Fupdating","fr\u002F1.self-hosting\u002F4.operations-and-security\u002F2.updating","i-lucide-refresh-cw",{"title":94,"path":95,"stem":96,"icon":97},"Sécurité et réseau","\u002Ffr\u002Fself-hosting\u002Foperations-and-security\u002Fsecurity-and-networking","fr\u002F1.self-hosting\u002F4.operations-and-security\u002F3.security-and-networking","i-lucide-shield",{"title":99,"path":100,"stem":101,"icon":102},"Dépannage","\u002Ffr\u002Fself-hosting\u002Foperations-and-security\u002Ftroubleshooting","fr\u002F1.self-hosting\u002F4.operations-and-security\u002F4.troubleshooting","i-lucide-life-buoy",{"title":104,"icon":105,"path":106,"stem":107,"children":108,"page":36},"Application et référence","i-lucide-book-open-text","\u002Ffr\u002Freference","fr\u002F2.reference",[109,114,119],{"title":110,"path":111,"stem":112,"icon":113},"Installer l'application","\u002Ffr\u002Freference\u002Finstall-the-app","fr\u002F2.reference\u002F1.install-the-app","i-lucide-download",{"title":115,"path":116,"stem":117,"icon":118},"Comment ça marche","\u002Ffr\u002Freference\u002Fhow-it-works","fr\u002F2.reference\u002F2.how-it-works","i-lucide-workflow",{"title":120,"path":121,"stem":122,"icon":123},"Données et confidentialité","\u002Ffr\u002Freference\u002Fdata-and-privacy","fr\u002F2.reference\u002F3.data-and-privacy","i-lucide-lock",{"title":125,"icon":126,"path":127,"stem":128,"children":129,"page":36},"Chronicler Cloud","i-lucide-cloud","\u002Ffr\u002Fcloud","fr\u002F3.cloud",[130,134,138],{"title":131,"path":132,"stem":133,"icon":126},"Vue d'ensemble du Cloud","\u002Ffr\u002Fcloud\u002Foverview","fr\u002F3.cloud\u002F1.overview",{"title":135,"path":136,"stem":137,"icon":12},"Démarrage rapide","\u002Ffr\u002Fcloud\u002Fquick-start","fr\u002F3.cloud\u002F2.quick-start",{"title":139,"path":140,"stem":141,"icon":142},"Votre première conversation","\u002Ffr\u002Fcloud\u002Fyour-first-chat","fr\u002F3.cloud\u002F3.your-first-chat","i-lucide-messages-square",{"id":144,"title":89,"body":145,"description":590,"extension":591,"links":592,"meta":593,"navigation":594,"path":90,"seo":595,"stem":91,"__hash__":598},"docs_fr\u002Ffr\u002F1.self-hosting\u002F4.operations-and-security\u002F2.updating.md",{"type":146,"value":147,"toc":576},"minimark",[148,152,201,204,209,216,223,227,237,240,251,255,360,370,381,385,391,410,416,420,485,489,493,496,511,514,518,544,565,569,572],[149,150,151],"p",{},"Deux choses se mettent à jour, volontairement de façon indépendante :",[153,154,155,170],"table",{},[156,157,158],"thead",{},[159,160,161,164,167],"tr",{},[162,163],"th",{},[162,165,166],{},"Se met à jour",[162,168,169],{},"Qui décide",[171,172,173,188],"tbody",{},[159,174,175,182,185],{},[176,177,178],"td",{},[179,180,181],"strong",{},"L'application",[176,183,184],{},"Automatiquement, au redémarrage",[176,186,187],{},"Chaque utilisateur",[159,189,190,195,198],{},[176,191,192],{},[179,193,194],{},"La pile serveur",[176,196,197],{},"Quand vous lancez une mise à jour",[176,199,200],{},"L'administrateur",[149,202,203],{},"Une mise à jour de l'application ne touche jamais votre serveur. C'est délibéré :\naucun serveur documentaire ne devrait redémarrer parce que quelqu'un a accepté\nune mise à jour d'application.",[205,206,208],"h2",{"id":207},"avant-de-mettre-à-jour","Avant de mettre à jour",[149,210,211,212,215],{},"Faites une sauvegarde. ",[179,213,214],{},"Admin → Sauvegardes → Sauvegarder maintenant."," Trente\nsecondes, et c'est ce qui sépare une mise à jour ratée d'un après-midi perdu.",[149,217,218,219,222],{},"Le backend se protège aussi : lorsqu'une mise à jour modifie le schéma de la\nbase, il en fait d'abord un export et ",[179,220,221],{},"refuse de migrer si cet export échoue",".",[205,224,226],{"id":225},"mettre-à-jour-depuis-lapplication","Mettre à jour depuis l'application",[149,228,229,232,233,236],{},[179,230,231],{},"Admin → Mises à jour"," affiche la version actuelle et l'existence d'une version\nplus récente. ",[179,234,235],{},"Lancer la mise à jour"," fait tout, en affichant le journal en\ndirect : récupération du fichier compose courant, téléchargement des nouvelles\nimages et redémarrage de la pile.",[149,238,239],{},"Comptez quelques minutes et un gros téléchargement. L'application est\ninutilisable pendant le redémarrage du backend ; elle se reconnecte seule.",[149,241,242,245,246,250],{},[179,243,244],{},"Vérifier automatiquement les mises à jour"," ne contrôle que le fait d'être\n",[247,248,249],"em",{},"prévenu",". Rien ne s'installe tout seul.",[205,252,254],{"id":253},"mettre-à-jour-depuis-un-terminal","Mettre à jour depuis un terminal",[256,257,258,300],"tabs",{},[259,260,263],"tabs-item",{"icon":261,"label":262},"i-lucide-monitor","Windows (PowerShell)",[264,265,271],"pre",{"className":266,"code":267,"filename":268,"language":269,"meta":270,"style":270},"language-powershell shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","Set-Location \"$env:ProgramData\\Chronicler\"\ndocker compose pull\ndocker compose up -d\ndocker compose logs -f backend\n","PowerShell","powershell","",[272,273,274,282,288,294],"code",{"__ignoreMap":270},[275,276,279],"span",{"class":277,"line":278},"line",1,[275,280,281],{},"Set-Location \"$env:ProgramData\\Chronicler\"\n",[275,283,285],{"class":277,"line":284},2,[275,286,287],{},"docker compose pull\n",[275,289,291],{"class":277,"line":290},3,[275,292,293],{},"docker compose up -d\n",[275,295,297],{"class":277,"line":296},4,[275,298,299],{},"docker compose logs -f backend\n",[259,301,303],{"icon":35,"label":302},"Linux",[264,304,309],{"className":305,"code":306,"filename":307,"language":308,"meta":270,"style":270},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","cd \u002Fopt\u002Fchronicler\ndocker compose pull\ndocker compose up -d\ndocker compose logs -f backend\n","Shell Linux","bash",[272,310,311,321,333,345],{"__ignoreMap":270},[275,312,313,317],{"class":277,"line":278},[275,314,316],{"class":315},"s2Zo4","cd",[275,318,320],{"class":319},"sfazB"," \u002Fopt\u002Fchronicler\n",[275,322,323,327,330],{"class":277,"line":284},[275,324,326],{"class":325},"sBMFI","docker",[275,328,329],{"class":319}," compose",[275,331,332],{"class":319}," pull\n",[275,334,335,337,339,342],{"class":277,"line":290},[275,336,326],{"class":325},[275,338,329],{"class":319},[275,340,341],{"class":319}," up",[275,343,344],{"class":319}," -d\n",[275,346,347,349,351,354,357],{"class":277,"line":296},[275,348,326],{"class":325},[275,350,329],{"class":319},[275,352,353],{"class":319}," logs",[275,355,356],{"class":319}," -f",[275,358,359],{"class":319}," backend\n",[149,361,362,365,366,369],{},[272,363,364],{},"pull"," récupère les nouvelles images, ",[272,367,368],{},"up -d"," recrée les conteneurs modifiés. Vos\nvolumes - base, documents, modèles - ne sont pas touchés.",[371,372,373,374,380],"note",{},"La mise à jour guidée dans l'application ",[179,375,376,377],{},"remplace aussi votre\n",[272,378,379],{},"docker-compose.yml"," par la version publiée. Les modifications manuelles de ce\nfichier (montage de sauvegarde externe, modèle fixé) sont perdues. Si vous l'avez\npersonnalisé, mettez à jour depuis le terminal, ou conservez votre copie et\nréappliquez-la après chaque mise à jour.",[205,382,384],{"id":383},"figer-une-version","Figer une version",[149,386,387,390],{},[272,388,389],{},"latest"," signifie que chaque mise à jour vous emmène sur la version la plus\nrécente. Sur un serveur dont des gens dépendent, figez-la :",[264,392,395],{"className":305,"code":393,"filename":394,"language":308,"meta":270,"style":270},"CHRONICLER_VERSION=1.0.9\n",".env",[272,396,397],{"__ignoreMap":270},[275,398,399,403,407],{"class":277,"line":278},[275,400,402],{"class":401},"sTEyZ","CHRONICLER_VERSION",[275,404,406],{"class":405},"sMK4o","=",[275,408,409],{"class":319},"1.0.9\n",[149,411,412,413,222],{},"Mettre à jour devient alors un acte délibéré : changez le numéro,\n",[272,414,415],{},"docker compose up -d",[205,417,419],{"id":418},"revenir-en-arrière","Revenir en arrière",[421,422,423,428,442,446,474,478],"steps",{},[424,425,427],"h3",{"id":426},"figer-la-version-précédente","Figer la version précédente",[264,429,431],{"className":305,"code":430,"filename":394,"language":308,"meta":270,"style":270},"CHRONICLER_VERSION=1.0.8\n",[272,432,433],{"__ignoreMap":270},[275,434,435,437,439],{"class":277,"line":278},[275,436,402],{"class":401},[275,438,406],{"class":405},[275,440,441],{"class":319},"1.0.8\n",[424,443,445],{"id":444},"redémarrer","Redémarrer",[256,447,448,458],{},[259,449,450],{"icon":261,"label":262},[264,451,452],{"className":266,"code":293,"filename":268,"language":269,"meta":270,"style":270},[272,453,454],{"__ignoreMap":270},[275,455,456],{"class":277,"line":278},[275,457,293],{},[259,459,460],{"icon":35,"label":302},[264,461,462],{"className":305,"code":293,"filename":307,"language":308,"meta":270,"style":270},[272,463,464],{"__ignoreMap":270},[275,465,466,468,470,472],{"class":277,"line":278},[275,467,326],{"class":325},[275,469,329],{"class":319},[275,471,341],{"class":319},[275,473,344],{"class":319},[424,475,477],{"id":476},"restaurer-la-sauvegarde-si-le-schéma-a-changé","Restaurer la sauvegarde si le schéma a changé",[149,479,480,481,484],{},"Si la version plus récente a migré la base, un backend plus ancien peut ne pas\nsavoir la lire. Restaurez la sauvegarde prise avant la mise à jour\n(",[482,483,84],"a",{"href":85},").",[486,487,488],"caution",{},"C'est pour cela que la sauvegarde préalable compte. Revenir en arrière sur les\nimages est facile ; revenir sur une base migrée sans sauvegarde ne l'est pas.",[205,490,492],{"id":491},"mettre-à-jour-ollama","Mettre à jour Ollama",[149,494,495],{},"Le runtime du modèle a sa propre version :",[264,497,499],{"className":305,"code":498,"filename":394,"language":308,"meta":270,"style":270},"OLLAMA_VERSION=0.32.4\n",[272,500,501],{"__ignoreMap":270},[275,502,503,506,508],{"class":277,"line":278},[275,504,505],{"class":401},"OLLAMA_VERSION",[275,507,406],{"class":405},[275,509,510],{"class":319},"0.32.4\n",[149,512,513],{},"N'y touchez pas sans raison précise. Les modèles téléchargés sont dans un volume\ndistinct et survivent au changement.",[205,515,517],{"id":516},"après-une-mise-à-jour","Après une mise à jour",[519,520,521,525,532,538],"ul",{},[522,523,524],"li",{},"Connectez-vous et posez une question.",[522,526,527,528,531],{},"Vérifiez que ",[179,529,530],{},"Admin → Modèle"," affiche toujours votre modèle comme actif.",[522,533,527,534,537],{},[179,535,536],{},"Admin → Licence"," affiche toujours Active.",[522,539,540,541,222],{},"Si la recherche semble fausse, lancez ",[179,542,543],{},"Tout réindexer",[371,545,546,549,550,553,554,556,557,561,562,564],{},[179,547,548],{},"Sur un serveur GPU, une seule fois :"," la console a besoin de\n",[272,551,552],{},"CHRONICLER_GPU_VRAM_GB"," dans votre ",[272,555,394],{}," pour proposer les modèles GPU, et les\ninstallations antérieures à cette clé ne l'ont pas. Relancez le\n",[482,558,560],{"href":559},"\u002Ffr\u002Fself-hosting\u002Fperformance-and-models\u002Fgpu-acceleration#d%C3%A9tection-automatique","script de détection","\npuis ",[272,563,415],{},". La mise à jour depuis l'application l'écrit pour\nvous. Rien ne casse sans elle : vous restez simplement limité aux modèles\nprocesseur.",[205,566,568],{"id":567},"à-quelle-fréquence","À quelle fréquence",[149,570,571],{},"Environ une fois par mois est raisonnable pour un serveur en production : assez\nrécent pour les correctifs, sans essuyer les plâtres pour tout le monde. Lisez\nles notes de version pour tout ce qui mentionne migrations ou changements\nincompatibles, et ne mettez jamais à jour une heure avant d'en avoir besoin.",[573,574,575],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}",{"title":270,"searchDepth":284,"depth":284,"links":577},[578,579,580,581,582,587,588,589],{"id":207,"depth":284,"text":208},{"id":225,"depth":284,"text":226},{"id":253,"depth":284,"text":254},{"id":383,"depth":284,"text":384},{"id":418,"depth":284,"text":419,"children":583},[584,585,586],{"id":426,"depth":290,"text":427},{"id":444,"depth":290,"text":445},{"id":476,"depth":290,"text":477},{"id":491,"depth":284,"text":492},{"id":516,"depth":284,"text":517},{"id":567,"depth":284,"text":568},"L'application et le serveur se mettent à jour séparément. Voici comment.","md",null,{},{"icon":92},{"title":596,"description":597},"Mettre à jour un serveur Chronicler auto-hébergé","Mettre à jour la pile Docker Chronicler, figer une version et revenir en arrière sans risque.","XOggrENFi8FjSXYBKE3N3Wqvoofz1GnW7g993PeiPC0",[600,602],{"title":84,"path":85,"stem":86,"description":601,"icon":87,"children":-1},"Sauvegardes planifiées, copie externe, et comment récupérer vos données.",{"title":94,"path":95,"stem":96,"description":603,"icon":97,"children":-1},"Laisser entrer vos collègues sans laisser entrer tout le monde.",1785127059726]