{"id":8670,"date":"2023-06-22T23:26:15","date_gmt":"2023-06-22T21:26:15","guid":{"rendered":"https:\/\/tangi-bertin.net\/blog\/?p=8670"},"modified":"2023-06-29T22:41:38","modified_gmt":"2023-06-29T20:41:38","slug":"personnaliser-joplin-server","status":"publish","type":"post","link":"https:\/\/tangi-bertin.net\/blog\/personnaliser-joplin-server-8670\/","title":{"rendered":"Personnaliser Joplin server"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">L&rsquo;habitude de prendre <a href=\"https:\/\/tangi-bertin.net\/blog\/prendre-des-notes-en-markdown-8346\/\">des notes en Markdown<\/a> s&rsquo;est install\u00e9e chez moi. J&rsquo;utilise quotidiennement l&rsquo;excellent <a href=\"https:\/\/joplinapp.org\/\">Joplin<\/a> qui m&rsquo;a s\u00e9duit par ses fonctionnalit\u00e9s simples et efficaces. On peut m\u00eame y faire des <a href=\"https:\/\/tangi-bertin.net\/blog\/diagramme-uml-genere-par-du-texte-mermaid-et-nomnoml-8496\/\">diagrammes avec mermaid<\/a> \ud83d\ude42<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Parmi ses nombreuses qualit\u00e9s, j&rsquo;appr\u00e9cie particuli\u00e8rement la possibilit\u00e9 de synchroniser mes notes directement depuis l&rsquo;application, sans avoir \u00e0 passer par une application tierce. On peut \u00e9galement se passer des GAFAM en utilisant des solutions telles que WebDAV, Nextcloud\u2026 et maintenant <a href=\"https:\/\/joplinapp.org\/plans\/\">Joplin Cloud<\/a> et <a href=\"https:\/\/hub.docker.com\/r\/joplin\/server\">Joplin Server<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Joplin Server est la version auto-h\u00e9berg\u00e9e de Joplin Cloud. En plus de permettre la synchronisation des notes entre plusieurs appareils et de disposer d&rsquo;une copie en ligne, ces deux solutions ouvrent la voie \u00e0 la collaboration et au partage de notes via une URL de partage et un rendu HTML.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"756\" height=\"402\" src=\"https:\/\/tangi-bertin.net\/blog\/wp-content\/uploads\/2023\/06\/your-data-img.png\" alt=\"\" class=\"wp-image-8677\" srcset=\"https:\/\/tangi-bertin.net\/blog\/wp-content\/uploads\/2023\/06\/your-data-img.png 756w, https:\/\/tangi-bertin.net\/blog\/wp-content\/uploads\/2023\/06\/your-data-img-577x307.png 577w\" sizes=\"auto, (max-width: 756px) 100vw, 756px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Installation de Joplin server via Docker Compose<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La solution qui me semble la plus simple pour faire tourner la solution sur votre serveur est de passer via Docker et tout particuli\u00e8rement Docker Compose.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ce n\u2019est pas le seul, mais l\u2019excellent tutoriel d\u2019installation de <a href=\"https:\/\/www.vultr.com\/docs\/how-to-host-a-joplin-server-with-docker-on-ubuntu\/\">Vultr \u2013 How to host Joplin server<\/a> devrait vous guider vers le succ\u00e8s&nbsp;&#x1f60a;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si vous n&rsquo;\u00eates pas familier avec ce type d&rsquo;activit\u00e9, voici trois astuces bonus :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Je ne peux que vous conseiller de configurer l&rsquo;envoi des emails ce qui permettra de valider les comptes des personnes que vous pourriez ajouter \u00e0 votre instance. Les <a href=\"https:\/\/noted.lol\/install-joplin-server-using-docker-compose\/\">\u00e9l\u00e9ments se trouve ici dans le dockerfile du tutoriel<\/a>.<\/li>\n\n\n\n<li>Vous devrez probablement utiliser un gestionnaire de reverse proxy tel que <a href=\"https:\/\/nginxproxymanager.com\/\">Nginx Reverse Proxy Manager<\/a> pour g\u00e9rer facilement le domaine ou sous-domaine pour votre installation.<\/li>\n\n\n\n<li>Si votre installation Docker n&rsquo;est pas sur le m\u00eame serveur que votre proxy, vous devrez g\u00e9n\u00e9rer un certificat sur chacune des machines.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Personnalisation de Joplin server<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Joplin Server est g\u00e9nial, mais vous pourriez avoir envie de personnaliser l&rsquo;ic\u00f4ne en haut des pages de partage, la feuille de style CSS, le nom du service, etc. Suivez le guide pour le faire.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">&#x23f2;&#xfe0f; Modifier la timezone de Joplin server<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Par d\u00e9faut la timezone du conteneur est l&rsquo;heure\/date UTC. J&rsquo;ai opt\u00e9 pour celle de paris en rajoutant un argument dans le docker-compose.yml<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:&quot;language&quot;,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;yaml&quot;,&quot;mime&quot;:&quot;text\/x-yaml&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:false,&quot;styleActiveLine&quot;:false,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;language&quot;:&quot;YAML&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;yaml&quot;}\">    environment:\n      - TZ=Europe\/Paris<\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Il faut int\u00e9grer la ligne dans le service \u00ab\u00a0APP\u00a0\u00bb \u00e0 la suite des \u00e9l\u00e9ments de configuration de POSTGRES et des emails.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Modifier les \u00e9l\u00e9ments de rendus lors du partage d&rsquo;une note<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Pour y parvenir, j&rsquo;utilise les v<a href=\"https:\/\/docs.docker.com\/storage\/volumes\/\">olumes docker<\/a>. Les volumes sont des m\u00e9canismes permettant de partager des donn\u00e9es entre le syst\u00e8me h\u00f4te (le serveur) et les conteneurs. Quand un conteneur est arr\u00eat\u00e9 l\u2019ensemble des donn\u00e9es non contenus dans l&rsquo;image disparaissent. Les volumes permettre de les rendre persistantes. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">L&rsquo;utilisation de volumes permet de configurer et de personnaliser les conteneurs Docker de mani\u00e8re flexible. Vous pouvez, par exemple, monter des fichiers de configuration du syst\u00e8me h\u00f4te dans le conteneur, ce qui facilite les ajustements et les modifications sans avoir \u00e0 reconstruire l&rsquo;image du conteneur.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"502\" height=\"255\" src=\"https:\/\/tangi-bertin.net\/blog\/wp-content\/uploads\/2023\/06\/types-of-mounts-volume.png\" alt=\"\" class=\"wp-image-8675\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Dans mon cas, j&rsquo;ai cr\u00e9\u00e9 un r\u00e9pertoire .\/joplin sur mon serveur, dans lequel je stock les diff\u00e9rents \u00e9l\u00e9ments que je vais vouloir int\u00e9grer au conteneur. Pour chaque \u00e9l\u00e9ment \u00e0 modifier je vais inscrire une entr\u00e9e dans le docker-compose.yml<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:&quot;language&quot;,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;yaml&quot;,&quot;mime&quot;:&quot;text\/x-yaml&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:false,&quot;styleActiveLine&quot;:false,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;language&quot;:&quot;YAML&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;yaml&quot;}\">app:\n  image: joplin\/server:latest\n  container_name: joplin-server\nvolumes:\n    - .\/public\/XXX:la_destination\/sur_le_conteneur<\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">&#x1f984; Modifier le logo de Joplin server<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Votre cible est un fichier png de 512*512px qui se nomme Logo.png. Et on oublie pas le \u00ab\u00a0L\u00a0\u00bb majuscule ! Voici sont emplacement : <\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:&quot;language&quot;,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;yaml&quot;,&quot;mime&quot;:&quot;text\/x-yaml&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:false,&quot;styleActiveLine&quot;:false,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;language&quot;:&quot;YAML&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;yaml&quot;}\">home\/joplin\/packages\/server\/public\/images\/Logo.png<\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">&#x1f4cc; Ajouter une Favicon \u00e0 Joplin server<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Votre Favicon se trouve ici :<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:&quot;language&quot;,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;yaml&quot;,&quot;mime&quot;:&quot;text\/x-yaml&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:false,&quot;styleActiveLine&quot;:false,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;language&quot;:&quot;YAML&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;yaml&quot;}\">\/home\/joplin\/packages\/server\/public\/favicon.ico<\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">&#x1f4ab; Modifier la feuille de style Css de Joplin server<\/h3>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"643\" height=\"348\" src=\"https:\/\/tangi-bertin.net\/blog\/wp-content\/uploads\/2023\/06\/tcQXmVRRGd-1.png\" alt=\"\" class=\"wp-image-8674\" srcset=\"https:\/\/tangi-bertin.net\/blog\/wp-content\/uploads\/2023\/06\/tcQXmVRRGd-1.png 643w, https:\/\/tangi-bertin.net\/blog\/wp-content\/uploads\/2023\/06\/tcQXmVRRGd-1-577x312.png 577w\" sizes=\"auto, (max-width: 643px) 100vw, 643px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">C&rsquo;est un peu plus \u00ab\u00a0compliqu\u00e9\u00a0\u00bb comme op\u00e9ration. En effet, ce qui semble \u00eatre le plus indiqu\u00e9 est d&rsquo;ins\u00e9rer vos \u00ab\u00a0lignes de style\u00a0\u00bb dans le fichier note.css qui est la derni\u00e8re feuille de style du &lt;Head&gt;. Le fichier se trouve ici : <\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:&quot;language&quot;,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;yaml&quot;,&quot;mime&quot;:&quot;text\/x-yaml&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:false,&quot;styleActiveLine&quot;:false,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;language&quot;:&quot;YAML&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;yaml&quot;}\">home\/joplin\/packages\/server\/public\/css\/items\/note.css<\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Cependant lors de la cr\u00e9ation de la page, Joplin server importe du css depuis un script JS qui suit l&rsquo;import de la feuille CSS. On se retrouve avec des param\u00e8tres CSS \u00ab\u00a0inline\u00a0\u00bb qui arrivant en dernier, prennent le dessus sur notre configuration. On se retrouve en particulier avec des conflits sur les &lt;H2&gt; et les &lt;H3&gt;. Pour y rem\u00e9dier j&rsquo;ai entrepris des modification dans noteStyle.js avec de retirer les configuration de balise qui me posaient probl\u00e8me. Le fichier se trouve ici : <\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:&quot;language&quot;,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;yaml&quot;,&quot;mime&quot;:&quot;text\/x-yaml&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:false,&quot;styleActiveLine&quot;:false,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;language&quot;:&quot;YAML&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;yaml&quot;}\">\/home\/joplin\/packages\/renderer\/noteStyle.js<\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">&#x1f50e; Vous cherchez d&rsquo;autres choses \u00e0 personnaliser sur Joplin server ?<\/h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1023\" height=\"642\" src=\"https:\/\/tangi-bertin.net\/blog\/wp-content\/uploads\/2023\/06\/tangi_css_code_in_terminal_92ab87d3-1704-4687-a707-0061eba9033d-1023x642.png\" alt=\"\" class=\"wp-image-8679\" srcset=\"https:\/\/tangi-bertin.net\/blog\/wp-content\/uploads\/2023\/06\/tangi_css_code_in_terminal_92ab87d3-1704-4687-a707-0061eba9033d-1023x642.png 1023w, https:\/\/tangi-bertin.net\/blog\/wp-content\/uploads\/2023\/06\/tangi_css_code_in_terminal_92ab87d3-1704-4687-a707-0061eba9033d-577x362.png 577w, https:\/\/tangi-bertin.net\/blog\/wp-content\/uploads\/2023\/06\/tangi_css_code_in_terminal_92ab87d3-1704-4687-a707-0061eba9033d.png 1376w\" sizes=\"auto, (max-width: 1023px) 100vw, 1023px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Une solution pour trouver o\u00f9 se cache le morceau de code \u00e0 cibler dans le conteneur est de \u00ab\u00a0rentrer\u00a0\u00bb dans le conteneur en fonctionnement avec : <\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:&quot;language&quot;,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;elm&quot;,&quot;mime&quot;:&quot;text\/x-elm&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:false,&quot;styleActiveLine&quot;:false,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;Bash&quot;,&quot;language&quot;:&quot;Elm&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;elm&quot;}\">docker exec -it ID\/Nom_conteur bash<\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Puis de lancer une investigation en utilisant la fonction de recherche pour retrouver l&rsquo;\u00e9l\u00e9ment qui vous int\u00e9resse : <\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:&quot;language&quot;,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;elm&quot;,&quot;mime&quot;:&quot;text\/x-elm&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:false,&quot;styleActiveLine&quot;:false,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;Bash&quot;,&quot;language&quot;:&quot;Elm&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;elm&quot;}\">grep -rnw .\/ -e &quot;1.1em&quot;<\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">413 Request Entity Too Large<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Par d\u00e9faut Nginx limite la taille des fichiers upload\u00e9s \u00e0 1MB. Si vos fichiers int\u00e9gr\u00e9s aux notes d\u00e9passent cette taille il faudra modifier la configuration de votre serveur pour augmenter cette taille en utilisant : <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>client_max_body_size 100M;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Source : <a href=\"https:\/\/docs.rackspace.com\/support\/how-to\/limit-file-upload-size-in-nginx\">https:\/\/docs.rackspace.com\/support\/how-to\/limit-file-upload-size-in-nginx<\/a>\/<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Supporter Joplin<\/h3>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Joplin est un logiciel libre sous licence AGPL-3.0. Vous pouvez soutenir son cr\u00e9ateur <a href=\"https:\/\/github.com\/laurent22\/\">Laurent Cozic<\/a> sur <a href=\"https:\/\/www.patreon.com\/joplin\">patreon<\/a> ou en souscrivant un abonnement Joplin Cloud.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>L&rsquo;habitude de prendre des notes en Markdown s&rsquo;est install\u00e9e chez moi. J&rsquo;utilise quotidiennement l&rsquo;excellent Joplin qui m&rsquo;a s\u00e9duit par ses fonctionnalit\u00e9s simples et efficaces. On peut m\u00eame y faire des diagrammes avec mermaid \ud83d\ude42 Parmi ses nombreuses qualit\u00e9s, j&rsquo;appr\u00e9cie particuli\u00e8rement la possibilit\u00e9 de synchroniser mes notes directement depuis l&rsquo;application, sans avoir \u00e0 passer par une [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":8676,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[558],"tags":[],"class_list":["post-8670","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-code"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Personnaliser Joplin server - TIC-logs par Tangi<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/tangi-bertin.net\/blog\/personnaliser-joplin-server-8670\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Personnaliser Joplin server - TIC-logs par Tangi\" \/>\n<meta property=\"og:description\" content=\"L&rsquo;habitude de prendre des notes en Markdown s&rsquo;est install\u00e9e chez moi. J&rsquo;utilise quotidiennement l&rsquo;excellent Joplin qui m&rsquo;a s\u00e9duit par ses fonctionnalit\u00e9s simples et efficaces. On peut m\u00eame y faire des diagrammes avec mermaid \ud83d\ude42 Parmi ses nombreuses qualit\u00e9s, j&rsquo;appr\u00e9cie particuli\u00e8rement la possibilit\u00e9 de synchroniser mes notes directement depuis l&rsquo;application, sans avoir \u00e0 passer par une [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/tangi-bertin.net\/blog\/personnaliser-joplin-server-8670\/\" \/>\n<meta property=\"og:site_name\" content=\"TIC-logs par Tangi\" \/>\n<meta property=\"article:published_time\" content=\"2023-06-22T21:26:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-06-29T20:41:38+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/tangi-bertin.net\/blog\/wp-content\/uploads\/2023\/06\/Browser.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"820\" \/>\n\t<meta property=\"og:image:height\" content=\"559\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Tangi Bertin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Tangi Bertin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/personnaliser-joplin-server-8670\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/personnaliser-joplin-server-8670\\\/\"},\"author\":{\"name\":\"Tangi Bertin\",\"@id\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/#\\\/schema\\\/person\\\/6e125a432b08117702a7b2a04f50fb89\"},\"headline\":\"Personnaliser Joplin server\",\"datePublished\":\"2023-06-22T21:26:15+00:00\",\"dateModified\":\"2023-06-29T20:41:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/personnaliser-joplin-server-8670\\\/\"},\"wordCount\":905,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/personnaliser-joplin-server-8670\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/06\\\/Browser.jpg\",\"articleSection\":[\"Code\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/personnaliser-joplin-server-8670\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/personnaliser-joplin-server-8670\\\/\",\"url\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/personnaliser-joplin-server-8670\\\/\",\"name\":\"Personnaliser Joplin server - TIC-logs par Tangi\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/personnaliser-joplin-server-8670\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/personnaliser-joplin-server-8670\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/06\\\/Browser.jpg\",\"datePublished\":\"2023-06-22T21:26:15+00:00\",\"dateModified\":\"2023-06-29T20:41:38+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/personnaliser-joplin-server-8670\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/personnaliser-joplin-server-8670\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/personnaliser-joplin-server-8670\\\/#primaryimage\",\"url\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/06\\\/Browser.jpg\",\"contentUrl\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/06\\\/Browser.jpg\",\"width\":820,\"height\":559},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/personnaliser-joplin-server-8670\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Personnaliser Joplin server\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/\",\"name\":\"TIC-logs par Tangi\",\"description\":\"Un mouton \u00e0 5 pattes dans le vert paturage du web\",\"publisher\":{\"@id\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/#organization\",\"name\":\"TIC-logs par Tangi\",\"url\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/wp-content\\\/uploads\\\/2013\\\/08\\\/logo.png\",\"contentUrl\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/wp-content\\\/uploads\\\/2013\\\/08\\\/logo.png\",\"width\":170,\"height\":45,\"caption\":\"TIC-logs par Tangi\"},\"image\":{\"@id\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/#\\\/schema\\\/person\\\/6e125a432b08117702a7b2a04f50fb89\",\"name\":\"Tangi Bertin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2720ed536308e71f11012cb6909df5571def3effb19460e279781e0b599428f0?s=96&d=wavatar&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2720ed536308e71f11012cb6909df5571def3effb19460e279781e0b599428f0?s=96&d=wavatar&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2720ed536308e71f11012cb6909df5571def3effb19460e279781e0b599428f0?s=96&d=wavatar&r=g\",\"caption\":\"Tangi Bertin\"},\"sameAs\":[\"http:\\\/\\\/tangi-bertin.net\"],\"url\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/author\\\/admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Personnaliser Joplin server - TIC-logs par Tangi","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/tangi-bertin.net\/blog\/personnaliser-joplin-server-8670\/","og_locale":"fr_FR","og_type":"article","og_title":"Personnaliser Joplin server - TIC-logs par Tangi","og_description":"L&rsquo;habitude de prendre des notes en Markdown s&rsquo;est install\u00e9e chez moi. J&rsquo;utilise quotidiennement l&rsquo;excellent Joplin qui m&rsquo;a s\u00e9duit par ses fonctionnalit\u00e9s simples et efficaces. On peut m\u00eame y faire des diagrammes avec mermaid \ud83d\ude42 Parmi ses nombreuses qualit\u00e9s, j&rsquo;appr\u00e9cie particuli\u00e8rement la possibilit\u00e9 de synchroniser mes notes directement depuis l&rsquo;application, sans avoir \u00e0 passer par une [&hellip;]","og_url":"https:\/\/tangi-bertin.net\/blog\/personnaliser-joplin-server-8670\/","og_site_name":"TIC-logs par Tangi","article_published_time":"2023-06-22T21:26:15+00:00","article_modified_time":"2023-06-29T20:41:38+00:00","og_image":[{"width":820,"height":559,"url":"https:\/\/tangi-bertin.net\/blog\/wp-content\/uploads\/2023\/06\/Browser.jpg","type":"image\/jpeg"}],"author":"Tangi Bertin","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"Tangi Bertin","Dur\u00e9e de lecture estim\u00e9e":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/tangi-bertin.net\/blog\/personnaliser-joplin-server-8670\/#article","isPartOf":{"@id":"https:\/\/tangi-bertin.net\/blog\/personnaliser-joplin-server-8670\/"},"author":{"name":"Tangi Bertin","@id":"https:\/\/tangi-bertin.net\/blog\/#\/schema\/person\/6e125a432b08117702a7b2a04f50fb89"},"headline":"Personnaliser Joplin server","datePublished":"2023-06-22T21:26:15+00:00","dateModified":"2023-06-29T20:41:38+00:00","mainEntityOfPage":{"@id":"https:\/\/tangi-bertin.net\/blog\/personnaliser-joplin-server-8670\/"},"wordCount":905,"commentCount":0,"publisher":{"@id":"https:\/\/tangi-bertin.net\/blog\/#organization"},"image":{"@id":"https:\/\/tangi-bertin.net\/blog\/personnaliser-joplin-server-8670\/#primaryimage"},"thumbnailUrl":"https:\/\/tangi-bertin.net\/blog\/wp-content\/uploads\/2023\/06\/Browser.jpg","articleSection":["Code"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/tangi-bertin.net\/blog\/personnaliser-joplin-server-8670\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/tangi-bertin.net\/blog\/personnaliser-joplin-server-8670\/","url":"https:\/\/tangi-bertin.net\/blog\/personnaliser-joplin-server-8670\/","name":"Personnaliser Joplin server - TIC-logs par Tangi","isPartOf":{"@id":"https:\/\/tangi-bertin.net\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/tangi-bertin.net\/blog\/personnaliser-joplin-server-8670\/#primaryimage"},"image":{"@id":"https:\/\/tangi-bertin.net\/blog\/personnaliser-joplin-server-8670\/#primaryimage"},"thumbnailUrl":"https:\/\/tangi-bertin.net\/blog\/wp-content\/uploads\/2023\/06\/Browser.jpg","datePublished":"2023-06-22T21:26:15+00:00","dateModified":"2023-06-29T20:41:38+00:00","breadcrumb":{"@id":"https:\/\/tangi-bertin.net\/blog\/personnaliser-joplin-server-8670\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/tangi-bertin.net\/blog\/personnaliser-joplin-server-8670\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/tangi-bertin.net\/blog\/personnaliser-joplin-server-8670\/#primaryimage","url":"https:\/\/tangi-bertin.net\/blog\/wp-content\/uploads\/2023\/06\/Browser.jpg","contentUrl":"https:\/\/tangi-bertin.net\/blog\/wp-content\/uploads\/2023\/06\/Browser.jpg","width":820,"height":559},{"@type":"BreadcrumbList","@id":"https:\/\/tangi-bertin.net\/blog\/personnaliser-joplin-server-8670\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/tangi-bertin.net\/blog\/"},{"@type":"ListItem","position":2,"name":"Personnaliser Joplin server"}]},{"@type":"WebSite","@id":"https:\/\/tangi-bertin.net\/blog\/#website","url":"https:\/\/tangi-bertin.net\/blog\/","name":"TIC-logs par Tangi","description":"Un mouton \u00e0 5 pattes dans le vert paturage du web","publisher":{"@id":"https:\/\/tangi-bertin.net\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/tangi-bertin.net\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/tangi-bertin.net\/blog\/#organization","name":"TIC-logs par Tangi","url":"https:\/\/tangi-bertin.net\/blog\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/tangi-bertin.net\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/tangi-bertin.net\/blog\/wp-content\/uploads\/2013\/08\/logo.png","contentUrl":"https:\/\/tangi-bertin.net\/blog\/wp-content\/uploads\/2013\/08\/logo.png","width":170,"height":45,"caption":"TIC-logs par Tangi"},"image":{"@id":"https:\/\/tangi-bertin.net\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/tangi-bertin.net\/blog\/#\/schema\/person\/6e125a432b08117702a7b2a04f50fb89","name":"Tangi Bertin","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/secure.gravatar.com\/avatar\/2720ed536308e71f11012cb6909df5571def3effb19460e279781e0b599428f0?s=96&d=wavatar&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2720ed536308e71f11012cb6909df5571def3effb19460e279781e0b599428f0?s=96&d=wavatar&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2720ed536308e71f11012cb6909df5571def3effb19460e279781e0b599428f0?s=96&d=wavatar&r=g","caption":"Tangi Bertin"},"sameAs":["http:\/\/tangi-bertin.net"],"url":"https:\/\/tangi-bertin.net\/blog\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/tangi-bertin.net\/blog\/wp-json\/wp\/v2\/posts\/8670","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tangi-bertin.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tangi-bertin.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tangi-bertin.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tangi-bertin.net\/blog\/wp-json\/wp\/v2\/comments?post=8670"}],"version-history":[{"count":10,"href":"https:\/\/tangi-bertin.net\/blog\/wp-json\/wp\/v2\/posts\/8670\/revisions"}],"predecessor-version":[{"id":8693,"href":"https:\/\/tangi-bertin.net\/blog\/wp-json\/wp\/v2\/posts\/8670\/revisions\/8693"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tangi-bertin.net\/blog\/wp-json\/wp\/v2\/media\/8676"}],"wp:attachment":[{"href":"https:\/\/tangi-bertin.net\/blog\/wp-json\/wp\/v2\/media?parent=8670"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tangi-bertin.net\/blog\/wp-json\/wp\/v2\/categories?post=8670"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tangi-bertin.net\/blog\/wp-json\/wp\/v2\/tags?post=8670"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}